c7n_gcp.resources package

Submodules

c7n_gcp.resources.appengine module

class c7n_gcp.resources.appengine.AppEngineApp(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
get_resource_query()[source]
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'apps'
enum_spec = ('get', '[@]', None)
static get(client, resource_info)[source]
id = 'id'
scope = None
service = 'appengine'
version = 'v1'
type = 'app-engine'
class c7n_gcp.resources.appengine.AppEngineCertificate(data, options)[source]

Bases: c7n_gcp.query.ChildResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'apps.authorizedCertificates'
enum_spec = ('list', 'certificates[]', None)
static get(client, resource_info)[source]
id = 'id'
parent_spec = {'child_enum_params': {('id', 'appsId')}, 'resource': 'app-engine'}
scope = None
service = 'appengine'
version = 'v1'
type = 'app-engine-certificate'
class c7n_gcp.resources.appengine.AppEngineDomain(data, options)[source]

Bases: c7n_gcp.query.ChildResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'apps.authorizedDomains'
enum_spec = ('list', 'domains[]', None)
id = 'id'
parent_spec = {'child_enum_params': {('id', 'appsId')}, 'resource': 'app-engine'}
scope = None
service = 'appengine'
version = 'v1'
type = 'app-engine-domain'
class c7n_gcp.resources.appengine.AppEngineDomainMapping(data, options)[source]

Bases: c7n_gcp.query.ChildResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'apps.domainMappings'
enum_spec = ('list', 'domainMappings[]', None)
static get(client, resource_info)[source]
id = 'id'
parent_spec = {'child_enum_params': {('id', 'appsId')}, 'resource': 'app-engine'}
scope = None
service = 'appengine'
version = 'v1'
type = 'app-engine-domain-mapping'
class c7n_gcp.resources.appengine.AppEngineFirewallIngressRule(data, options)[source]

Bases: c7n_gcp.query.ChildResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'apps.firewall.ingressRules'
enum_spec = ('list', 'ingressRules[]', None)
static get(client, resource_info)[source]
id = 'priority'
parent_spec = {'child_enum_params': {('id', 'appsId')}, 'resource': 'app-engine'}
scope = None
service = 'appengine'
version = 'v1'
type = 'app-engine-firewall-ingress-rule'

c7n_gcp.resources.bigquery module

class c7n_gcp.resources.bigquery.BigQueryJob(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'jobs'
enum_spec = ('list', 'jobs[]', {'allUsers': True})
static get(client, resource_info)[source]
id = 'id'
scope = 'project'
scope_key = 'projectId'
service = 'bigquery'
version = 'v2'
type = 'bq-job'
class c7n_gcp.resources.bigquery.BigQueryProject(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects'
enum_spec = ('list', 'projects[]', None)
id = 'id'
scope = 'global'
service = 'bigquery'
version = 'v2'
type = 'bq-project'
class c7n_gcp.resources.bigquery.DataSet(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
augment(resources)[source]
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'datasets'
enum_spec = ('list', 'datasets[]', None)
static get(client, event)[source]
get_requires_event = True
id = 'id'
scope = 'project'
scope_key = 'projectId'
service = 'bigquery'
version = 'v2'
type = 'bq-dataset'

c7n_gcp.resources.build module

class c7n_gcp.resources.build.CloudBuild(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.builds.list'
enum_spec = ('list', 'builds[]', None)
id = 'id'
scope = 'project'
scope_key = 'projectId'
service = 'cloudbuild'
version = 'v1'
type = 'build'

c7n_gcp.resources.cloudbilling module

class c7n_gcp.resources.cloudbilling.CloudBillingAccount(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'billingAccounts'
enum_spec = ('list', 'billingAccounts[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = None
service = 'cloudbilling'
version = 'v1'
type = 'cloudbilling-account'

c7n_gcp.resources.compute module

class c7n_gcp.resources.compute.Delete(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.resources.compute.InstanceAction

method_spec = {'op': 'delete'}
path_param_re = re.compile('.*?/projects/(.*?)/zones/(.*?)/instances/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['delete']}}, 'required': ['type'], 'type': 'object'}
type = 'delete'
class c7n_gcp.resources.compute.DeleteSnapshot(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

attr_filter = ('status', ('READY', 'UPLOADING'))
get_resource_params(m, r)[source]
method_spec = {'op': 'delete'}
path_param_re = re.compile('.*?/projects/(.*?)/global/snapshots/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['delete']}}, 'required': ['type'], 'type': 'object'}
type = 'delete'
class c7n_gcp.resources.compute.Disk(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'disks'
enum_spec = ('aggregatedList', 'items.*.disks[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'zone'
service = 'compute'
version = 'v1'
type = 'disk'
class c7n_gcp.resources.compute.DiskSnapshot(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

attr_filter = ('status', ('RUNNING',))
method_spec = {'op': 'createSnapshot'}
path_param_re = re.compile('.*?/projects/(.*?)/zones/(.*?)/instances/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['snapshot']}}, 'required': ['type'], 'type': 'object'}
type = 'snapshot'
class c7n_gcp.resources.compute.Image(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'images'
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'image'
class c7n_gcp.resources.compute.Instance(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'instances'
enum_spec = ('aggregatedList', 'items.*.instances[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'instance'
class c7n_gcp.resources.compute.InstanceAction(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

get_resource_params(model, resource)[source]
class c7n_gcp.resources.compute.InstanceOffHour(data, manager=None)[source]

Bases: c7n.filters.offhours.OffHour

get_tag_value(instance)[source]

Get the resource’s tag value specifying its schedule.

type = 'offhour'
class c7n_gcp.resources.compute.InstanceOnHour(data, manager=None)[source]

Bases: c7n.filters.offhours.OnHour

get_tag_value(instance)[source]

Get the resource’s tag value specifying its schedule.

type = 'onhour'
class c7n_gcp.resources.compute.Snapshot(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'snapshots'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'snapshot'
class c7n_gcp.resources.compute.Start(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.resources.compute.InstanceAction

attr_filter = ('status', ('TERMINATED',))
method_spec = {'op': 'start'}
path_param_re = re.compile('.*?/projects/(.*?)/zones/(.*?)/instances/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['start']}}, 'required': ['type'], 'type': 'object'}
type = 'start'
class c7n_gcp.resources.compute.Stop(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.resources.compute.InstanceAction

attr_filter = ('status', ('RUNNING',))
method_spec = {'op': 'stop'}
path_param_re = re.compile('.*?/projects/(.*?)/zones/(.*?)/instances/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['stop']}}, 'required': ['type'], 'type': 'object'}
type = 'stop'

c7n_gcp.resources.dataflow module

class c7n_gcp.resources.dataflow.DataflowJob(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.jobs'
enum_spec = ('aggregated', 'jobs[]', None)
static get(client, resource_info)[source]
id = 'name'
scope_key = 'projectId'
service = 'dataflow'
version = 'v1b3'
type = 'dataflow-job'

c7n_gcp.resources.deploymentmanager module

class c7n_gcp.resources.deploymentmanager.DMDeployment(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'deployments'
enum_spec = ('list', 'deployments[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'deploymentmanager'
version = 'v2'
type = 'dm-deployment'

c7n_gcp.resources.dns module

class c7n_gcp.resources.dns.DnsManagedZone(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'managedZones'
enum_spec = ('list', 'managedZones[]', None)
static get(client, resource_info)[source]
id = 'id'
scope = 'project'
service = 'dns'
version = 'v1beta2'
type = 'dns-managed-zone'
class c7n_gcp.resources.dns.DnsPolicy(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'policies'
enum_spec = ('list', 'policies[]', None)
static get(client, resource_info)[source]
id = 'id'
scope = 'project'
service = 'dns'
version = 'v1beta2'
type = 'dns-policy'

c7n_gcp.resources.function module

class c7n_gcp.resources.function.Delete(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

get_resource_params(model, resource)[source]
method_spec = {'op': 'delete'}
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['delete']}}, 'required': ['type'], 'type': 'object'}
type = 'delete'
class c7n_gcp.resources.function.Function(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.locations.functions'
enum_spec = ('list', 'functions[]', None)
events = {'create': 'google.cloud.functions.v1.CloudFunctionsService.CreateFunction', 'delete': 'google.cloud.functions.v1.CloudFunctionsService.DeleteFunction', 'update': 'google.cloud.functions.v1.CloudFunctionsService.UpdateFunction'}
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
scope_key = 'parent'
scope_template = 'projects/{}/locations/-'
service = 'cloudfunctions'
version = 'v1'
type = 'function'

c7n_gcp.resources.gke module

class c7n_gcp.resources.gke.KubernetesCluster(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.locations.clusters'
enum_spec = ('list', 'clusters[]', None)
id = 'name'
scope = 'project'
scope_key = 'parent'
scope_template = 'projects/{}/locations/-'
service = 'container'
version = 'v1beta1'
type = 'gke-cluster'

c7n_gcp.resources.iam module

class c7n_gcp.resources.iam.ProjectRole(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.roles'
enum_spec = ('list', 'roles[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
scope_key = 'parent'
scope_template = 'projects/{}'
service = 'iam'
version = 'v1'
type = 'project-role'
class c7n_gcp.resources.iam.Role(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'roles'
enum_spec = ('list', 'roles[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'global'
service = 'iam'
version = 'v1'
type = 'iam-role'
class c7n_gcp.resources.iam.ServiceAccount(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.serviceAccounts'
enum_spec = ('list', 'accounts[]', [])
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
scope_key = 'name'
scope_template = 'projects/{}'
service = 'iam'
version = 'v1'
type = 'service-account'

c7n_gcp.resources.loadbalancer module

class c7n_gcp.resources.loadbalancer.LoadBalancingAddress(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'addresses'
enum_spec = ('aggregatedList', 'items.*.addresses[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-address'
class c7n_gcp.resources.loadbalancer.LoadBalancingBackendBucket(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'backendBuckets'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-backend-bucket'
class c7n_gcp.resources.loadbalancer.LoadBalancingBackendService(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'backendServices'
enum_spec = ('aggregatedList', 'items.*.backendServices[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-backend-service'
class c7n_gcp.resources.loadbalancer.LoadBalancingForwardingRule(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'forwardingRules'
enum_spec = ('aggregatedList', 'items.*.forwardingRules[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-forwarding-rule'
class c7n_gcp.resources.loadbalancer.LoadBalancingGlobalAddress(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'globalAddresses'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-global-address'
class c7n_gcp.resources.loadbalancer.LoadBalancingGlobalForwardingRule(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'globalForwardingRules'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-global-forwarding-rule'
class c7n_gcp.resources.loadbalancer.LoadBalancingHealthCheck(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'healthChecks'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-health-check'
class c7n_gcp.resources.loadbalancer.LoadBalancingHttpHealthCheck(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'httpHealthChecks'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-http-health-check'
class c7n_gcp.resources.loadbalancer.LoadBalancingHttpsHealthCheck(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'httpsHealthChecks'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-https-health-check'
class c7n_gcp.resources.loadbalancer.LoadBalancingSslCertificate(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'sslCertificates'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-ssl-certificate'
class c7n_gcp.resources.loadbalancer.LoadBalancingSslPolicy(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'sslPolicies'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-ssl-policy'
class c7n_gcp.resources.loadbalancer.LoadBalancingTargetHttpProxy(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'targetHttpProxies'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-target-http-proxy'
class c7n_gcp.resources.loadbalancer.LoadBalancingTargetHttpsProxy(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'targetHttpsProxies'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-target-https-proxy'
class c7n_gcp.resources.loadbalancer.LoadBalancingTargetInstance(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'targetInstances'
enum_spec = ('aggregatedList', 'items.*.targetInstances[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-target-instance'
class c7n_gcp.resources.loadbalancer.LoadBalancingTargetPool(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'targetPools'
enum_spec = ('aggregatedList', 'items.*.targetPools[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-target-pool'
class c7n_gcp.resources.loadbalancer.LoadBalancingTargetSslProxy(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'targetSslProxies'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-target-ssl-proxy'
class c7n_gcp.resources.loadbalancer.LoadBalancingTargetTcpProxy(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'targetTcpProxies'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-target-tcp-proxy'
class c7n_gcp.resources.loadbalancer.LoadBalancingUrlMap(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'urlMaps'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'compute'
version = 'v1'
type = 'loadbalancer-url-map'

c7n_gcp.resources.logging module

class c7n_gcp.resources.logging.LogSink(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.sinks'
enum_spec = ('list', 'sinks[]', None)
static get(client, resource_info)[source]
id = 'name'
scope_key = 'parent'
scope_template = 'projects/{}/sinks'
service = 'logging'
version = 'v1'
type = 'logsink'

c7n_gcp.resources.mlengine module

class c7n_gcp.resources.mlengine.MLJob(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.jobs'
enum_spec = ('list', 'jobs[]', None)
static get(client, resource_info)[source]
id = 'jobId'
scope = 'project'
scope_key = 'parent'
scope_template = 'projects/{}'
service = 'ml'
version = 'v1'
type = 'ml-job'
class c7n_gcp.resources.mlengine.MLModel(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.models'
enum_spec = ('list', 'models[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
scope_key = 'parent'
scope_template = 'projects/{}'
service = 'ml'
version = 'v1'
type = 'ml-model'

c7n_gcp.resources.network module

class c7n_gcp.resources.network.Firewall(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'firewalls'
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'firewall'
class c7n_gcp.resources.network.Interconnect(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'interconnects'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'interconnect'
class c7n_gcp.resources.network.InterconnectAttachment(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'interconnectAttachments'
enum_spec = ('aggregatedList', 'items.*.interconnectAttachments[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'interconnect-attachment'
class c7n_gcp.resources.network.Network(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'networks'
id = 'name'
scope_template = 'projects/{}/global/networks'
service = 'compute'
version = 'v1'
type = 'vpc'
class c7n_gcp.resources.network.Route(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'routes'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'route'
class c7n_gcp.resources.network.Router(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'routers'
enum_spec = ('aggregatedList', 'items.*.routers[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'router'
class c7n_gcp.resources.network.SetFlowLog(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.resources.network.SubnetAction

Enable vpc flow logs on a subnet.

Example

Enable flow logs on all subnets

get_resource_params(m, r)[source]
method_spec = {'op': 'patch'}
schema = {'additionalProperties': False, 'properties': {'state': {'default': True, 'type': 'boolean'}, 'type': {'enum': ['set-flow-log']}}, 'required': ['type'], 'type': 'object'}
type = 'set-flow-log'
class c7n_gcp.resources.network.SetGcpPrivateAccess(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.resources.network.SubnetAction

Enable/Disable GCP Private IP Access for a subnet

get_resource_params(m, r)[source]
method_spec = {'op': 'setPrivateIpGoogleAccess'}
schema = {'additionalProperties': False, 'properties': {'state': {'default': True, 'type': 'boolean'}, 'type': {'enum': ['set-gcp-private']}}, 'required': ['type'], 'type': 'object'}
type = 'set-private-api'
class c7n_gcp.resources.network.Subnet(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'subnetworks'
enum_spec = ('aggregatedList', 'items.*.subnetworks[]', None)
static get(client, resource_info)[source]
id = 'name'
service = 'compute'
version = 'v1'
type = 'subnet'
class c7n_gcp.resources.network.SubnetAction(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

get_resource_params(model, resource)[source]
path_param_re = re.compile('.*?/projects/(.*?)/regions/(.*?)/subnetworks/(.*)')

c7n_gcp.resources.pubsub module

class c7n_gcp.resources.pubsub.PubSubSnapshot(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.snapshots'
enum_spec = ('list', 'snapshots[]', None)
id = 'name'
scope_template = 'projects/{}'
service = 'pubsub'
version = 'v1'
type = 'pubsub-snapshot'
class c7n_gcp.resources.pubsub.PubSubSubscription(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.subscriptions'
enum_spec = ('list', 'subscriptions[]', None)
static get(client, resource_info)[source]
id = 'name'
scope_template = 'projects/{}'
service = 'pubsub'
version = 'v1'
type = 'pubsub-subscription'
class c7n_gcp.resources.pubsub.PubSubTopic(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.topics'
enum_spec = ('list', 'topics[]', None)
static get(client, resource_info)[source]
id = 'name'
scope_template = 'projects/{}'
service = 'pubsub'
version = 'v1'
type = 'pubsub-topic'

c7n_gcp.resources.resourcemanager module

class c7n_gcp.resources.resourcemanager.Folder(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'folders'
id = 'name'
scope = 'global'
service = 'cloudresourcemanager'
version = 'v2'
type = 'folder'
class c7n_gcp.resources.resourcemanager.Organization(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'organizations'
enum_spec = ('search', 'organizations[]', {'body': {}})
static get(client, resource_info)[source]
id = 'name'
scope = 'global'
service = 'cloudresourcemanager'
version = 'v1'
type = 'organization'
class c7n_gcp.resources.resourcemanager.Project(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects'
enum_spec = ('list', 'projects', None)
id = 'projectId'
scope = 'global'
service = 'cloudresourcemanager'
version = 'v1'
type = 'project'

c7n_gcp.resources.service module

class c7n_gcp.resources.service.Disable(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

Disable a service for the current project

Example:

policies:
  - name: disable-disallowed-services
    resource: gcp.service
    mode:
      type: gcp-audit
      methods:
       - google.api.servicemanagement.v1.ServiceManagerV1.ActivateServices
    filters:
     - serviceName: translate.googleapis.com
    actions:
     - disable
get_resource_params(model, resource)[source]
method_spec = {'op': 'disable'}
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['disable']}}, 'required': ['type'], 'type': 'object'}
type = 'disable'
class c7n_gcp.resources.service.Service(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'services'
enum_spec = ('list', 'services[]', None)
static get(client, resource_info)[source]
id = 'serviceName'
scope = 'project'
scope_key = 'consumerId'
scope_template = 'project:{}'
service = 'servicemanagement'
version = 'v1'
type = 'service'

c7n_gcp.resources.source module

class c7n_gcp.resources.source.SourceRepository(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.repos'
enum_spec = ('list', 'repos[]', None)
id = 'name'
scope = 'project'
scope_key = 'name'
scope_template = 'projects/{}-'
service = 'sourcerepo'
version = 'v1'
type = 'sourcerepo'

c7n_gcp.resources.spanner module

class c7n_gcp.resources.spanner.SpannerInstance(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'projects.instances'
enum_spec = ('list', 'instances[]', None)
static get(client, resource_info)[source]
id = 'name'
scope_key = 'parent'
scope_template = 'projects/{}'
service = 'spanner'
version = 'v1'
type = 'spanner-instance'

c7n_gcp.resources.sql module

class c7n_gcp.resources.sql.SqlBackupRun(data, options)[source]

Bases: c7n_gcp.resources.sql.SqlInstanceChildWithSelfLink

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'backupRuns'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'id'
parent_spec = {'child_enum_params': [('name', 'instance')], 'resource': 'sql-instance'}
service = 'sqladmin'
version = 'v1beta4'
type = 'sql-backup-run'
class c7n_gcp.resources.sql.SqlDatabase(data, options)[source]

Bases: c7n_gcp.query.ChildResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'databases'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
parent_spec = {'child_enum_params': [('name', 'instance')], 'resource': 'sql-instance'}
service = 'sqladmin'
version = 'v1beta4'
type = 'sql-database'
class c7n_gcp.resources.sql.SqlInstance(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'instances'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'sqladmin'
version = 'v1beta4'
type = 'sql-instance'
class c7n_gcp.resources.sql.SqlInstanceAction(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

get_resource_params(model, resource)[source]

Bases: c7n_gcp.query.ChildResourceManager

A ChildResourceManager for resources that reference SqlInstance in selfLink.

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class c7n_gcp.resources.sql.SqlInstanceDelete(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.resources.sql.SqlInstanceAction

method_spec = {'op': 'delete'}
path_param_re = re.compile('.*?/projects/(.*?)/instances/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['delete']}}, 'required': ['type'], 'type': 'object'}
type = 'delete'
class c7n_gcp.resources.sql.SqlInstanceStop(data=None, manager=None, log_dir=None)[source]

Bases: c7n_gcp.actions.core.MethodAction

get_resource_params(model, resource)[source]
method_spec = {'op': 'patch'}
path_param_re = re.compile('.*?/projects/(.*?)/instances/(.*)')
schema = {'additionalProperties': False, 'properties': {'type': {'enum': ['stop']}}, 'required': ['type'], 'type': 'object'}
type = 'stop'
class c7n_gcp.resources.sql.SqlSslCert(data, options)[source]

Bases: c7n_gcp.resources.sql.SqlInstanceChildWithSelfLink

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'sslCerts'
enum_spec = ('list', 'items[]', None)
static get(client, resource_info)[source]
id = 'sha1Fingerprint'
parent_spec = {'child_enum_params': [('name', 'instance')], 'resource': 'sql-instance'}
service = 'sqladmin'
version = 'v1beta4'
type = 'sql-ssl-cert'
class c7n_gcp.resources.sql.SqlUser(data, options)[source]

Bases: c7n_gcp.query.ChildResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.ChildTypeInfo

component = 'users'
enum_spec = ('list', 'items[]', None)
id = 'name'
parent_spec = {'child_enum_params': [('name', 'instance')], 'resource': 'sql-instance'}
service = 'sqladmin'
version = 'v1beta4'
type = 'sql-user'

c7n_gcp.resources.storage module

class c7n_gcp.resources.storage.Bucket(data, options)[source]

Bases: c7n_gcp.query.QueryResourceManager

action_registry = <c7n.actions.core.ActionRegistry object>
filter_registry = <c7n.filters.core.FilterRegistry object>
class resource_type[source]

Bases: c7n_gcp.query.TypeInfo

component = 'buckets'
enum_spec = ('list', 'items[]', {'projection': 'full'})
static get(client, resource_info)[source]
id = 'name'
scope = 'project'
service = 'storage'
version = 'v1'
type = 'bucket'

Module contents