plugins: gcp_plugin: executor: central_deployment_agent package_name: cloudify-gcp-plugin package_version: 1.9.8 dsl_definitions: use_external_resource_desc: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. resource_id_desc: > The GCP resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. external_resource: use_external_resource: &id001 type: boolean default: false resource_id: resource_id: &id002 type: string default: '' gcp_config: gcp_config: &id003 default: {} client_config: &id004 default: {} node_types: cloudify.nodes.gcp.project: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' project_id: type: string default: '' parent: type: dict interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.admin.projects.create delete: implementation: gcp_plugin.cloudify_gcp.admin.projects.delete cloudify.gcp.project: derived_from: cloudify.nodes.gcp.project cloudify.gcp.nodes.project: derived_from: cloudify.nodes.gcp.project cloudify.nodes.gcp.PolicyBinding: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 resource: type: string default: '' policy: type: string default: '' interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.iam.policy_binding.create inputs: resource: default: { get_property: [SELF, resource] } policy: default: { get_property: [SELF, policy] } delete: implementation: gcp_plugin.cloudify_gcp.iam.policy_binding.delete inputs: resource: default: { get_property: [SELF, resource] } policy: default: { get_property: [SELF, policy] } cloudify.gcp.nodes.PolicyBinding: derived_from: cloudify.nodes.gcp.PolicyBinding cloudify.nodes.gcp.Instance: derived_from: cloudify.nodes.Compute properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 use_public_ip: type: boolean default: false image_id: type: string default: {} instance_type: type: string default: n1-standard-1 name: type: string default: '' zone: type: string default: '' tags: type: string default: '' block_project_ssh_keys: type: boolean default: false can_ip_forward: type: boolean default: false scopes: default: [] startup_script: default: '' external_ip: type: boolean default: false additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: configure: implementation: gcp_plugin.cloudify_gcp.compute.instance.create inputs: startup_script: default: { get_property: [SELF, startup_script] } external_ip: default: { get_property: [SELF, external_ip] } instance_type: default: { get_property: [SELF, instance_type] } image_id: default: { get_property: [SELF, image_id] } name: default: { get_property: [SELF, name] } zone: default: { get_property: [SELF, zone] } scopes: default: { get_property: [SELF, scopes] } tags: default: { get_property: [SELF, tags] } can_ip_forward: default: { get_property: [SELF, can_ip_forward] } additional_settings: default: { get_property: [SELF, additional_settings] } start: implementation: gcp_plugin.cloudify_gcp.compute.instance.start inputs: name: default: { get_attribute: [SELF, name] } stop: implementation: gcp_plugin.cloudify_gcp.compute.instance.stop inputs: name: default: { get_attribute: [SELF, name] } zone: default: { get_attribute: [SELF, zone] } delete: implementation: gcp_plugin.cloudify_gcp.compute.instance.delete inputs: name: default: { get_attribute: [SELF, name] } zone: default: { get_attribute: [SELF, zone] } cloudify.interfaces.operation: resize: implementation: gcp_plugin.cloudify_gcp.compute.instance.resize inputs: name: default: { get_attribute: [SELF, name] } zone: default: { get_attribute: [SELF, zone] } machine_type: type: string default: e2-standard-2 cloudify.gcp.nodes.Instance: derived_from: cloudify.nodes.gcp.Instance cloudify.nodes.gcp.InstanceGroup: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' named_ports: default: [] additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.instance_group.create inputs: name: default: { get_property: [SELF, name] } named_ports: default: { get_property: [SELF, named_ports] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.instance_group.delete cloudify.gcp.nodes.InstanceGroup: derived_from: cloudify.nodes.gcp.InstanceGroup cloudify.nodes.gcp.Volume: derived_from: cloudify.nodes.Volume properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 image: default: '' name: type: string default: '' size: type: integer default: 10 boot: type: boolean default: false additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.disk.create inputs: image: default: { get_property: [SELF, image] } name: default: { get_property: [SELF, name] } size: default: { get_property: [SELF, size] } boot: default: { get_property: [SELF, boot] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.disk.delete cloudify.interfaces.operation: resize: implementation: gcp_plugin.cloudify_gcp.compute.disk.resize inputs: name: default: { get_attribute: [SELF, name] } zone: default: { get_attribute: [SELF, zone] } size_gb: default: { get_attribute: [SELF, size] } cloudify.gcp.nodes.Volume: derived_from: cloudify.nodes.gcp.Volume cloudify.nodes.gcp.Snapshot: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 disk_name: type: string required: false interfaces: cloudify.interfaces.snapshot: create: implementation: gcp_plugin.cloudify_gcp.compute.snapshot.create inputs: disk_name: default: { get_property: [SELF, disk_name] } delete: implementation: gcp_plugin.cloudify_gcp.compute.snapshot.delete inputs: {} cloudify.gcp.nodes.Snapshot: derived_from: cloudify.nodes.gcp.Snapshot cloudify.nodes.gcp.Network: derived_from: cloudify.nodes.Network properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: default: '' auto_subnets: default: true additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.network.create inputs: name: default: { get_property: [SELF, name] } auto_subnets: default: { get_property: [SELF, auto_subnets] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.network.delete inputs: name: default: { get_property: [SELF, name] } cloudify.gcp.nodes.Network: derived_from: cloudify.nodes.gcp.Network cloudify.nodes.gcp.SubNetwork: derived_from: cloudify.nodes.Subnet properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: default: '' region: type: string default: '' subnet: type: string default: '' interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.subnetwork.create inputs: name: default: { get_property: [SELF, name] } region: default: { get_property: [SELF, region] } subnet: default: { get_property: [SELF, subnet] } delete: implementation: gcp_plugin.cloudify_gcp.compute.subnetwork.delete cloudify.interfaces.validation: create: implementation: gcp_plugin.cloudify_gcp.compute.subnetwork.creation_validation cloudify.gcp.nodes.SubNetwork: derived_from: cloudify.nodes.gcp.SubNetwork cloudify.nodes.gcp.VPCNetworkPeering: derived_from: cloudify.nodes.Network properties: gcp_config: *id003 client_config: *id004 name: default: '' network: default: '' peerNetwork: default: '' autoCreateRoutes: default: true interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.network.add_peering inputs: name: default: { get_property: [SELF, name] } network: default: { get_property: [SELF, network] } peerNetwork: default: { get_property: [SELF, peerNetwork] } autoCreateRoutes: default: { get_property: [SELF, autoCreateRoutes] } delete: implementation: gcp_plugin.cloudify_gcp.compute.network.remove_peering inputs: name: default: { get_property: [SELF, name] } network: default: { get_property: [SELF, network] } peerNetwork: default: { get_property: [SELF, peerNetwork] } cloudify.gcp.nodes.VPCNetworkPeering: derived_from: cloudify.nodes.gcp.VPCNetworkPeering cloudify.nodes.gcp.Route: derived_from: cloudify.nodes.Router properties: gcp_config: *id003 client_config: *id004 dest_range: {} name: default: '' tags: default: [] next_hop: default: '' priority: default: 1000 additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.route.create inputs: name: default: { get_property: [SELF, name] } dest_range: default: { get_property: [SELF, dest_range] } tags: default: { get_property: [SELF, tags] } next_hop: default: { get_property: [SELF, next_hop] } priority: default: { get_property: [SELF, priority] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.route.delete inputs: name: default: { get_attribute: [SELF, name] } cloudify.gcp.nodes.Route: derived_from: cloudify.nodes.gcp.Route cloudify.nodes.gcp.FirewallRule: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: default: '' allowed: {} sources: {} target_tags: default: [] additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.firewall.create inputs: name: default: { get_property: [SELF, name] } allowed: default: { get_property: [SELF, allowed] } sources: default: { get_property: [SELF, sources] } target_tags: default: { get_property: [SELF, target_tags] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.firewall.delete cloudify.gcp.nodes.FirewallRule: derived_from: cloudify.nodes.gcp.FirewallRule cloudify.nodes.gcp.SecurityGroup: derived_from: cloudify.nodes.SecurityGroup properties: gcp_config: *id003 client_config: *id004 name: default: '' rules: default: [] interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.security_group.create inputs: rules: default: { get_property: [SELF, rules] } name: default: { get_property: [SELF, name] } configure: implementation: gcp_plugin.cloudify_gcp.compute.security_group.configure delete: implementation: gcp_plugin.cloudify_gcp.compute.security_group.delete cloudify.interfaces.validation: create: implementation: gcp_plugin.cloudify_gcp.compute.security_group.creation_validation cloudify.gcp.nodes.SecurityGroup: derived_from: cloudify.nodes.gcp.SecurityGroup cloudify.nodes.gcp.Access: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 name: {} interface: {} cloudify.gcp.nodes.Access: derived_from: cloudify.nodes.gcp.Access cloudify.nodes.gcp.KeyPair: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 private_key_path: type: string default: '' public_key_path: type: string default: '' user: type: string default: '' interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.keypair.create inputs: user: default: { get_property: [SELF, user] } private_key_path: default: { get_property: [SELF, private_key_path] } public_key_path: default: { get_property: [SELF, public_key_path] } delete: implementation: gcp_plugin.cloudify_gcp.compute.keypair.delete inputs: user: default: { get_property: [SELF, user] } private_key_path: default: { get_property: [SELF, private_key_path] } cloudify.gcp.nodes.KeyPair: derived_from: cloudify.nodes.gcp.KeyPair cloudify.nodes.gcp.ExternalIP: derived_from: cloudify.nodes.VirtualIP properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 ip_address: type: string default: '' cloudify.gcp.nodes.ExternalIP: derived_from: cloudify.nodes.gcp.ExternalIP cloudify.nodes.gcp.GlobalAddress: derived_from: cloudify.nodes.VirtualIP properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.address.create inputs: name: default: { get_property: [SELF, name] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.address.delete cloudify.gcp.nodes.GlobalAddress: derived_from: cloudify.nodes.gcp.GlobalAddress cloudify.nodes.gcp.StaticIP: derived_from: cloudify.nodes.gcp.GlobalAddress cloudify.gcp.nodes.StaticIP: derived_from: cloudify.nodes.gcp.StaticIP cloudify.nodes.gcp.Address: derived_from: cloudify.nodes.gcp.GlobalAddress properties: gcp_config: *id003 client_config: *id004 region: default: '' interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.address.create inputs: name: default: { get_property: [SELF, name] } additional_settings: default: { get_property: [SELF, additional_settings] } region: default: { get_property: [SELF, region] } cloudify.gcp.nodes.Address: derived_from: cloudify.nodes.gcp.Address cloudify.nodes.gcp.Image: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 image_name: default: '' image_path: default: '' family: default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.image.create inputs: image_name: default: { get_property: [SELF, image_name] } image_path: default: { get_property: [SELF, image_path] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.image.delete cloudify.gcp.nodes.Image: derived_from: cloudify.nodes.gcp.Image cloudify.nodes.gcp.HealthCheck: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' health_check_type: type: string default: http port: default: 80 additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.health_check.create inputs: name: default: { get_property: [SELF, name] } health_check_type: default: { get_property: [SELF, health_check_type] } port: default: { get_property: [SELF, port] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.health_check.delete inputs: health_check_type: default: { get_property: [SELF, health_check_type] } cloudify.gcp.nodes.HealthCheck: derived_from: cloudify.nodes.gcp.HealthCheck cloudify.nodes.gcp.BackendService: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' health_check: type: string default: '' protocol: default: HTTP additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.backend_service.create inputs: name: default: { get_property: [SELF, name] } health_check: default: { get_property: [SELF, health_check] } protocol: default: { get_property: [SELF, protocol] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.backend_service.delete cloudify.gcp.nodes.BackendService: derived_from: cloudify.nodes.gcp.BackendService cloudify.nodes.gcp.RegionBackendService: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' region: type: string default: '' health_check: type: string default: '' protocol: default: HTTP additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.region_backend_service.create inputs: name: default: { get_property: [SELF, name] } region: default: { get_property: [SELF, region] } health_check: default: { get_property: [SELF, health_check] } protocol: default: { get_property: [SELF, protocol] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.region_backend_service.delete cloudify.gcp.nodes.RegionBackendService: derived_from: cloudify.nodes.gcp.RegionBackendService cloudify.nodes.gcp.UrlMap: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' default_service: type: string default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.url_map.create inputs: name: default: { get_property: [SELF, name] } default_service: default: { get_property: [SELF, default_service] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.url_map.delete cloudify.gcp.nodes.UrlMap: derived_from: cloudify.nodes.gcp.UrlMap cloudify.nodes.gcp.TargetProxy: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' target_proxy_type: type: string default: http url_map: type: string default: '' ssl_certificate: type: string default: '' service: default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.target_proxy.create inputs: name: default: { get_property: [SELF, name] } target_proxy_type: default: { get_property: [SELF, target_proxy_type] } url_map: default: { get_property: [SELF, url_map] } ssl_certificate: default: { get_property: [SELF, ssl_certificate] } service: default: { get_property: [SELF, service] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.target_proxy.delete cloudify.gcp.nodes.TargetProxy: derived_from: cloudify.nodes.gcp.TargetProxy cloudify.nodes.gcp.SslCertificate: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' private_key: default: {} certificate: default: {} additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.ssl_certificate.create inputs: name: default: { get_property: [SELF, name] } private_key: default: { get_property: [SELF, private_key] } certificate: default: { get_property: [SELF, certificate] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.ssl_certificate.delete cloudify.gcp.nodes.SslCertificate: derived_from: cloudify.nodes.gcp.SslCertificate cloudify.nodes.gcp.ForwardingRule: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' region: type: string default: '' scheme: type: string default: EXTERNAL ports: default: [] network: default: '' subnet: default: '' backend_service: default: '' target_proxy: type: string default: '' port_range: type: string default: '' ip_address: type: string default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.forwarding_rule.create inputs: name: default: { get_property: [SELF, name] } region: default: { get_property: [SELF, region] } scheme: default: { get_property: [SELF, scheme] } ports: default: { get_property: [SELF, ports] } network: default: { get_property: [SELF, network] } subnet: default: { get_property: [SELF, subnet] } backend_service: default: { get_property: [SELF, backend_service] } target_proxy: default: { get_property: [SELF, target_proxy] } port_range: default: { get_property: [SELF, port_range] } ip_address: default: { get_property: [SELF, ip_address] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.forwarding_rule.delete cloudify.interfaces.validation: create: implementation: gcp_plugin.cloudify_gcp.compute.forwarding_rule.creation_validation cloudify.gcp.nodes.ForwardingRule: derived_from: cloudify.nodes.gcp.ForwardingRule cloudify.nodes.gcp.GlobalForwardingRule: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' target_proxy: type: string default: '' port_range: type: string default: '80' ip_address: type: string default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.compute.global_forwarding_rule.create inputs: name: default: { get_property: [SELF, name] } target_proxy: default: { get_property: [SELF, target_proxy] } port_range: default: { get_property: [SELF, port_range] } ip_address: default: { get_property: [SELF, ip_address] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.compute.global_forwarding_rule.delete cloudify.interfaces.validation: create: implementation: gcp_plugin.cloudify_gcp.compute.global_forwarding_rule.creation_validation cloudify.gcp.nodes.GlobalForwardingRule: derived_from: cloudify.nodes.gcp.GlobalForwardingRule cloudify.nodes.gcp.DNSZone: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' dns_name: type: string default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.dns.dns.create inputs: name: default: { get_property: [SELF, name] } dns_name: default: { get_property: [SELF, dns_name] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.dns.dns.delete cloudify.gcp.nodes.DNSZone: derived_from: cloudify.nodes.gcp.DNSZone cloudify.nodes.gcp.DNSRecord: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 type: type: string default: A name: type: string default: '' resources: default: [] ttl: type: integer default: 86400 interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.dns.record.create inputs: type: default: { get_property: [SELF, type] } name: default: { get_property: [SELF, name] } resources: default: { get_property: [SELF, resources] } ttl: default: { get_property: [SELF, ttl] } delete: implementation: gcp_plugin.cloudify_gcp.dns.record.delete cloudify.gcp.nodes.DNSRecord: derived_from: cloudify.nodes.gcp.DNSRecord cloudify.nodes.gcp.DNSAAAARecord: derived_from: cloudify.nodes.gcp.DNSRecord properties: type: default: AAAA cloudify.gcp.nodes.DNSAAAARecord: derived_from: cloudify.nodes.gcp.DNSAAAARecord cloudify.nodes.gcp.DNSMXRecord: derived_from: cloudify.nodes.gcp.DNSRecord properties: type: default: MX cloudify.gcp.nodes.DNSMXRecord: derived_from: cloudify.nodes.gcp.DNSMXRecord cloudify.nodes.gcp.DNSNSRecord: derived_from: cloudify.nodes.gcp.DNSRecord properties: type: default: NS cloudify.gcp.nodes.DNSNSRecord: derived_from: cloudify.nodes.gcp.DNSNSRecord cloudify.nodes.gcp.DNSTXTRecord: derived_from: cloudify.nodes.gcp.DNSRecord properties: type: default: TXT cloudify.gcp.nodes.DNSTXTRecord: derived_from: cloudify.nodes.gcp.DNSTXTRecord cloudify.nodes.gcp.KubernetesCluster: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.container_engine.cluster.create inputs: name: default: { get_property: [SELF, name] } additional_settings: default: { get_property: [SELF, additional_settings] } start: implementation: gcp_plugin.cloudify_gcp.container_engine.cluster.start stop: implementation: gcp_plugin.cloudify_gcp.container_engine.cluster.stop delete: implementation: gcp_plugin.cloudify_gcp.container_engine.cluster.delete cloudify.gcp.nodes.KubernetesCluster: derived_from: cloudify.nodes.gcp.KubernetesCluster cloudify.nodes.gcp.KubernetesNodePool: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' cluster_id: type: string required: true additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.container_engine.node_pool.create inputs: name: default: { get_property: [SELF, name] } cluster_id: default: { get_property: [SELF, cluster_id] } additional_settings: default: { get_property: [SELF, additional_settings] } start: implementation: gcp_plugin.cloudify_gcp.container_engine.node_pool.start stop: implementation: gcp_plugin.cloudify_gcp.container_engine.node_pool.stop delete: implementation: gcp_plugin.cloudify_gcp.container_engine.node_pool.delete cloudify.gcp.nodes.KubernetesNodePool: derived_from: cloudify.nodes.gcp.KubernetesNodePool cloudify.nodes.gcp.KubernetesClusterMonitoring: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 monitoring_service: type: string default: none cluster_id: type: string required: true additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.container_engine.monitoring.set_monitoring_service inputs: monitoring_service: default: { get_property: [SELF, monitoring_service] } cluster_id: default: { get_property: [SELF, cluster_id] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.container_engine.monitoring.unset_monitoring_service cloudify.gcp.nodes.KubernetesClusterMonitoring: derived_from: cloudify.nodes.gcp.KubernetesClusterMonitoring cloudify.nodes.gcp.KubernetesClusterlegacyAbac: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 enabled: type: boolean default: false cluster_id: type: string required: true additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.container_engine.legacy_abac.enable_legacy_abac inputs: enabled: default: { get_property: [SELF, enabled] } cluster_id: default: { get_property: [SELF, cluster_id] } additional_settings: default: { get_property: [SELF, additional_settings] } delete: implementation: gcp_plugin.cloudify_gcp.container_engine.legacy_abac.disable_legacy_abac cloudify.gcp.nodes.KubernetesClusterlegacyAbac: derived_from: cloudify.nodes.gcp.KubernetesClusterlegacyAbac cloudify.nodes.gcp.KubernetesClusterNetworkPolicy: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 network_policy_config: required: true cluster_id: type: string required: true additional_settings: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.container_engine.network_policy.enable_network_policy_addon inputs: network_policy_config: default: { get_property: [SELF, network_policy_config] } cluster_id: default: { get_property: [SELF, cluster_id] } additional_settings: default: { get_property: [SELF, additional_settings] } start: implementation: gcp_plugin.cloudify_gcp.container_engine.network_policy.create_network_policy_config inputs: network_policy_config: default: { get_property: [SELF, network_policy_config] } additional_settings: default: { get_property: [SELF, additional_settings] } stop: implementation: gcp_plugin.cloudify_gcp.container_engine.network_policy.delete_network_policy_config delete: implementation: gcp_plugin.cloudify_gcp.container_engine.network_policy.disable_network_policy_addon cloudify.gcp.nodes.KubernetesClusterNetworkPolicy: derived_from: cloudify.nodes.gcp.KubernetesClusterNetworkPolicy cloudify.nodes.gcp.Topic: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string required: true interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.topic.create inputs: name: default: { get_property: [SELF, name] } delete: implementation: gcp_plugin.cloudify_gcp.pubsub.topic.delete cloudify.gcp.nodes.Topic: derived_from: cloudify.nodes.gcp.Topic cloudify.nodes.gcp.TopicPolicy: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 policy: default: {} topic: type: string required: true interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.topic_policy.set_policy inputs: policy: default: { get_property: [SELF, policy] } topic: default: { get_property: [SELF, topic] } cloudify.gcp.nodes.TopicPolicy: derived_from: cloudify.nodes.gcp.TopicPolicy cloudify.nodes.gcp.TopicMessage: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 messages: default: [] required: true topic: type: string required: true interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.message.publish inputs: topic: default: { get_property: [SELF, topic] } messages: default: { get_property: [SELF, messages] } cloudify.gcp.nodes.TopicMessage: derived_from: cloudify.nodes.gcp.TopicMessage cloudify.nodes.gcp.Subscription: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' topic: type: string required: true push_config: default: {} ack_deadline_seconds: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.subscription.create inputs: name: default: { get_property: [SELF, name] } topic: default: { get_property: [SELF, topic] } push_config: default: { get_property: [SELF, push_config] } ack_deadline_seconds: default: { get_property: [SELF, ack_deadline_seconds] } delete: implementation: gcp_plugin.cloudify_gcp.pubsub.subscription.delete cloudify.gcp.nodes.Subscription: derived_from: cloudify.nodes.gcp.Subscription cloudify.nodes.gcp.SubscriptionPolicy: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 policy: default: {} subscription: type: string required: true interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.subscription_policy.set_policy inputs: policy: default: { get_property: [SELF, policy] } subscription: default: { get_property: [SELF, subscription] } cloudify.gcp.nodes.SubscriptionPolicy: derived_from: cloudify.nodes.gcp.SubscriptionPolicy cloudify.nodes.gcp.Acknowledge: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 subscription: type: string default: '' ack_ids: default: [] required: true interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.acknowledge.create inputs: subscription: default: { get_property: [SELF, subscription] } ack_ids: default: { get_property: [SELF, ack_ids] } cloudify.gcp.nodes.Acknowledge: derived_from: cloudify.nodes.gcp.Acknowledge cloudify.nodes.gcp.PullRequest: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 subscription: type: string default: '' return_immediately: type: boolean default: false max_messages: type: integer default: 1 interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.pubsub.pull_request.pull inputs: subscription: default: { get_property: [SELF, subscription] } return_immediately: default: { get_property: [SELF, return_immediately] } max_messages: default: { get_property: [SELF, max_messages] } cloudify.gcp.nodes.PullRequest: derived_from: cloudify.nodes.gcp.PullRequest cloudify.nodes.gcp.StackDriverGroup: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 project_id: type: string display_name: type: string default: '' parent_name: type: string default: '' filter_name: type: string is_cluster: type: boolean default: false interfaces: cloudify.interfaces.lifecycle: delete: implementation: gcp_plugin.cloudify_gcp.monitoring.stackdriver_group.delete create: implementation: gcp_plugin.cloudify_gcp.monitoring.stackdriver_group.create inputs: project_id: default: { get_property: [SELF, project_id] } display_name: default: { get_property: [SELF, display_name] } parent_name: default: { get_property: [SELF, parent_name] } filter_name: default: { get_property: [SELF, filter_name] } is_cluster: default: { get_property: [SELF, is_cluster] } update: implementation: gcp_plugin.cloudify_gcp.monitoring.stackdriver_group.update inputs: project_id: default: { get_property: [SELF, project_id] } display_name: default: { get_property: [SELF, display_name] } parent_name: default: { get_property: [SELF, parent_name] } filter_name: default: { get_property: [SELF, filter_name] } is_cluster: default: { get_property: [SELF, is_cluster] } cloudify.gcp.nodes.StackDriverGroup: derived_from: cloudify.nodes.gcp.StackDriverGroup cloudify.nodes.gcp.StackDriverTimeSeries: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 project_id: type: string time_series: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.monitoring.stackdriver_timeseries.create inputs: project_id: default: { get_property: [SELF, project_id] } time_series: default: { get_property: [SELF, time_series] } cloudify.gcp.nodes.StackDriverTimeSeries: derived_from: cloudify.nodes.gcp.StackDriverTimeSeries cloudify.nodes.gcp.StackDriverUpTimeCheckConfig: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 project_id: type: string uptime_check_config: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.monitoring.stackdriver_uptimecheck.create inputs: project_id: default: { get_property: [SELF, project_id] } uptime_check_config: default: { get_property: [SELF, uptime_check_config] } delete: implementation: gcp_plugin.cloudify_gcp.monitoring.stackdriver_uptimecheck.delete cloudify.gcp.nodes.StackDriverUpTimeCheckConfig: derived_from: cloudify.nodes.gcp.StackDriverUpTimeCheckConfig cloudify.nodes.gcp.LoggingSink: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 parent: type: string log_sink: default: {} unique_writer_identity: type: boolean required: false sink_type: type: string interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.logging.sink.create inputs: parent: default: { get_property: [SELF, parent] } log_sink: default: { get_property: [SELF, log_sink] } sink_type: default: { get_property: [SELF, sink_type] } delete: implementation: gcp_plugin.cloudify_gcp.logging.sink.delete inputs: sink_type: default: { get_property: [SELF, sink_type] } update: implementation: gcp_plugin.cloudify_gcp.logging.sink.update inputs: parent: default: { get_property: [SELF, parent] } log_sink: default: { get_property: [SELF, log_sink] } sink_type: default: { get_property: [SELF, sink_type] } cloudify.gcp.nodes.LoggingSink: derived_from: cloudify.nodes.gcp.LoggingSink cloudify.nodes.gcp.LoggingExclusion: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 parent: type: string log_exclusion: default: {} update_mask: type: boolean required: false exclusion_type: type: string interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.logging.exclusion.create inputs: parent: default: { get_property: [SELF, parent] } log_exclusion: default: { get_property: [SELF, log_exclusion] } exclusion_type: default: { get_property: [SELF, exclusion_type] } delete: implementation: gcp_plugin.cloudify_gcp.logging.exclusion.delete inputs: exclusion_type: default: { get_property: [SELF, exclusion_type] } update: implementation: gcp_plugin.cloudify_gcp.logging.exclusion.update inputs: parent: default: { get_property: [SELF, parent] } log_exclusion: default: { get_property: [SELF, log_exclusion] } exclusion_type: default: { get_property: [SELF, exclusion_type] } cloudify.gcp.nodes.LoggingExclusion: derived_from: cloudify.nodes.gcp.LoggingExclusion cloudify.nodes.gcp.Logging.BillingAccounts.sinks: derived_from: cloudify.nodes.gcp.LoggingSink properties: sink_type: type: string default: BillingAccount cloudify.gcp.nodes.Logging.BillingAccounts.sinks: derived_from: cloudify.nodes.gcp.Logging.BillingAccounts.sinks cloudify.nodes.gcp.Logging.Folders.sinks: derived_from: cloudify.nodes.gcp.LoggingSink properties: sink_type: type: string default: Folder cloudify.gcp.nodes.Logging.Folders.sinks: derived_from: cloudify.nodes.gcp.Logging.Folders.sinks cloudify.nodes.gcp.Logging.Organizations.sinks: derived_from: cloudify.nodes.gcp.LoggingSink properties: sink_type: type: string default: Organization cloudify.gcp.nodes.Logging.Organizations.sinks: derived_from: cloudify.nodes.gcp.Logging.Organizations.sinks cloudify.nodes.gcp.Logging.Projects.sinks: derived_from: cloudify.nodes.gcp.LoggingSink properties: sink_type: type: string default: Project cloudify.gcp.nodes.Logging.Projects.sinks: derived_from: cloudify.nodes.gcp.Logging.Projects.sinks cloudify.nodes.gcp.Logging.BillingAccounts.exclusions: derived_from: cloudify.nodes.gcp.LoggingExclusion properties: exclusion_type: type: string default: BillingAccount cloudify.gcp.nodes.Logging.BillingAccounts.exclusions: derived_from: cloudify.nodes.gcp.Logging.BillingAccounts.exclusions cloudify.nodes.gcp.Logging.Folders.exclusions: derived_from: cloudify.nodes.gcp.LoggingExclusion properties: exclusion_type: type: string default: Folder cloudify.gcp.nodes.Logging.Folders.exclusions: derived_from: cloudify.nodes.gcp.Logging.Folders.exclusions cloudify.nodes.gcp.Logging.Organizations.exclusions: derived_from: cloudify.nodes.gcp.LoggingExclusion properties: exclusion_type: type: string default: Organization cloudify.gcp.nodes.Logging.Organizations.exclusions: derived_from: cloudify.nodes.gcp.Logging.Organizations.exclusions cloudify.nodes.gcp.Logging.Organizatios.exclusions: derived_from: cloudify.nodes.gcp.Logging.Organizations.exclusions cloudify.gcp.nodes.Logging.Organizatios.exclusions: derived_from: cloudify.nodes.gcp.Logging.Organizatios.exclusions cloudify.nodes.gcp.Logging.Projects.exclusions: derived_from: cloudify.nodes.gcp.LoggingExclusion properties: exclusion_type: type: string default: Project cloudify.gcp.nodes.Logging.Projects.exclusions: derived_from: cloudify.nodes.gcp.Logging.Projects.exclusions cloudify.nodes.gcp.Logging.Projects.metrics: derived_from: cloudify.nodes.Root properties: gcp_config: *id003 client_config: *id004 parent: type: string log_metric: default: {} interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.logging.project_metrics.create inputs: parent: default: { get_property: [SELF, parent] } log_metric: default: { get_property: [SELF, log_metric] } delete: implementation: gcp_plugin.cloudify_gcp.logging.project_metrics.delete update: implementation: gcp_plugin.cloudify_gcp.logging.project_metrics.update inputs: parent: default: { get_property: [SELF, parent] } log_metric: default: { get_property: [SELF, log_metric] } cloudify.gcp.nodes.Logging.Projects.metrics: derived_from: cloudify.nodes.gcp.Logging.Projects.metrics cloudify.nodes.gcp.IAM.Role: derived_from: cloudify.nodes.Root properties: use_external_resource: *id001 resource_id: *id002 gcp_config: *id003 client_config: *id004 name: type: string default: '' title: type: string default: '' description: type: string default: '' permissions: type: list default: [] stage: type: string default: '' interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.iam.role.create inputs: name: default: { get_property: [SELF, name] } title: default: { get_property: [SELF, title] } description: default: { get_property: [SELF, description] } permissions: default: { get_property: [SELF, permissions] } stage: default: { get_property: [SELF, stage] } additional_settings: default: {} delete: implementation: gcp_plugin.cloudify_gcp.iam.role.delete cloudify.gcp.nodes.IAM.Role: derived_from: cloudify.nodes.gcp.IAM.Role cloudify.nodes.gcp.Gcp: derived_from: cloudify.nodes.Root properties: client_config: default: {} zones: type: list default: [] resource_config: type: dict default: resource_types: - projects.zones.clusters interfaces: cloudify.interfaces.lifecycle: create: implementation: gcp_plugin.cloudify_gcp.workflows.resources.initialize inputs: resource_config: default: { get_property: [SELF, resource_config] } zones: default: { get_property: [SELF, zones] } delete: implementation: gcp_plugin.cloudify_gcp.workflows.resources.deinitialize inputs: resource_config: default: { get_property: [SELF, resource_config] } zones: default: { get_property: [SELF, zones] } cloudify.gcp.nodes.Gcp: derived_from: cloudify.nodes.gcp.Gcp relationships: cloudify.relationships.gcp.instance_connected_to_security_group: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.instance.add_instance_tag inputs: instance_name: default: { get_attribute: [SOURCE, name] } zone: default: { get_attribute: [SOURCE, zone] } tag: default: - { get_attribute: [TARGET, name] } unlink: implementation: gcp_plugin.cloudify_gcp.compute.instance.remove_instance_tag inputs: instance_name: default: { get_attribute: [SOURCE, name] } zone: default: { get_attribute: [SOURCE, zone] } tag: default: - { get_attribute: [TARGET, name] } cloudify.gcp.relationships.instance_connected_to_security_group: derived_from: cloudify.relationships.gcp.instance_connected_to_security_group cloudify.relationships.gcp.instance_connected_to_ip: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.instance.add_external_ip inputs: instance_name: default: { get_attribute: [SOURCE, name] } zone: default: { get_attribute: [SOURCE, zone] } unlink: implementation: gcp_plugin.cloudify_gcp.compute.instance.remove_external_ip inputs: instance_name: default: { get_attribute: [SOURCE, name] } zone: default: { get_attribute: [SOURCE, zone] } cloudify.gcp.relationships.instance_connected_to_ip: derived_from: cloudify.relationships.gcp.instance_connected_to_ip cloudify.relationships.gcp.instance_connected_to_keypair: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: preconfigure: implementation: gcp_plugin.cloudify_gcp.compute.instance.add_ssh_key inputs: instance_name: default: { get_attribute: [SOURCE, name] } cloudify.gcp.relationships.instance_connected_to_keypair: derived_from: cloudify.relationships.gcp.instance_connected_to_keypair cloudify.relationships.gcp.instance_connected_to_disk: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.instance.attach_disk inputs: instance_name: default: { get_attribute: [TARGET, name] } zone: default: { get_attribute: [TARGET, zone] } disk: default: { get_attribute: [SOURCE, gcp_disk] } unlink: implementation: gcp_plugin.cloudify_gcp.compute.instance.detach_disk inputs: instance_name: default: { get_attribute: [TARGET, name] } zone: default: { get_attribute: [TARGET, zone] } disk_name: default: { get_attribute: [SOURCE, name] } cloudify.gcp.relationships.instance_connected_to_disk: derived_from: cloudify.relationships.gcp.instance_connected_to_disk cloudify.relationships.gcp.instance_connected_to_instance_group: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.instance_group.add_to_instance_group inputs: instance_group_name: default: { get_attribute: [TARGET, name] } instance_url: default: { get_attribute: [SOURCE, selfLink] } unlink: implementation: gcp_plugin.cloudify_gcp.compute.instance_group.remove_from_instance_group inputs: instance_group_name: default: { get_attribute: [TARGET, name] } instance_url: default: { get_attribute: [SOURCE, selfLink] } cloudify.gcp.relationships.instance_connected_to_instance_group: derived_from: cloudify.relationships.gcp.instance_connected_to_instance_group cloudify.relationships.gcp.uses_as_backend: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.backend_service.add_backend inputs: backend_service_name: default: { get_attribute: [SOURCE, name] } group_self_url: default: { get_attribute: [TARGET, selfLink] } unlink: implementation: gcp_plugin.cloudify_gcp.compute.backend_service.remove_backend inputs: backend_service_name: default: { get_attribute: [SOURCE, name] } group_self_url: default: { get_attribute: [TARGET, selfLink] } cloudify.gcp.relationships.uses_as_backend: derived_from: cloudify.relationships.gcp.uses_as_backend cloudify.relationships.gcp.uses_as_region_backend: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.region_backend_service.add_backend inputs: backend_service_name: default: { get_attribute: [SOURCE, name] } group_self_url: default: { get_attribute: [TARGET, selfLink] } unlink: implementation: gcp_plugin.cloudify_gcp.compute.region_backend_service.remove_backend inputs: backend_service_name: default: { get_attribute: [SOURCE, name] } group_self_url: default: { get_attribute: [TARGET, selfLink] } cloudify.gcp.relationships.uses_as_region_backend: derived_from: cloudify.relationships.gcp.uses_as_region_backend cloudify.relationships.gcp.contained_in_compute: derived_from: cloudify.relationships.contained_in source_interfaces: cloudify.interfaces.relationship_lifecycle: preconfigure: implementation: gcp_plugin.cloudify_gcp.compute.instance.contained_in cloudify.gcp.relationships.contained_in_compute: derived_from: cloudify.relationships.gcp.contained_in_compute cloudify.relationships.gcp.dns_record_contained_in_zone: derived_from: cloudify.relationships.contained_in source_interfaces: cloudify.interfaces.validation: create: implementation: gcp_plugin.cloudify_gcp.dns.record.validate_contained_in cloudify.gcp.relationships.dns_record_contained_in_zone: derived_from: cloudify.relationships.gcp.dns_record_contained_in_zone cloudify.relationships.gcp.dns_record_connected_to_instance: derived_from: cloudify.relationships.connected_to cloudify.gcp.relationships.dns_record_connected_to_instance: derived_from: cloudify.relationships.gcp.dns_record_connected_to_instance cloudify.relationships.gcp.dns_record_connected_to_ip: derived_from: cloudify.relationships.connected_to cloudify.gcp.relationships.dns_record_connected_to_ip: derived_from: cloudify.relationships.gcp.dns_record_connected_to_ip cloudify.relationships.gcp.contained_in_network: derived_from: cloudify.relationships.contained_in cloudify.gcp.relationships.contained_in_network: derived_from: cloudify.relationships.gcp.contained_in_network cloudify.relationships.gcp.instance_contained_in_network: derived_from: cloudify.relationships.contained_in source_interfaces: cloudify.interfaces.validation: create: implementation: gcp_plugin.cloudify_gcp.compute.instance.validate_contained_in_network cloudify.gcp.relationships.instance_contained_in_network: derived_from: cloudify.relationships.gcp.instance_contained_in_network cloudify.relationships.gcp.forwarding_rule_connected_to_target_proxy: derived_from: cloudify.relationships.connected_to cloudify.gcp.relationships.forwarding_rule_connected_to_target_proxy: derived_from: cloudify.relationships.gcp.forwarding_rule_connected_to_target_proxy cloudify.relationships.gcp.vpn_network_peering_connected_to_network: derived_from: cloudify.relationships.connected_to cloudify.gcp.relationships.vpn_network_peering_connected_to_network: derived_from: cloudify.relationships.gcp.vpn_network_peering_connected_to_network cloudify.relationships.gcp.subscription_connected_to_topic: derived_from: cloudify.relationships.connected_to cloudify.gcp.relationships.subscription_connected_to_topic: derived_from: cloudify.relationships.gcp.subscription_connected_to_topic cloudify.relationships.gcp.instance_remove_access_config: derived_from: cloudify.relationships.depends_on source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: gcp_plugin.cloudify_gcp.compute.instance.instance_remove_access_config inputs: instance_name: default: { get_attribute: [TARGET, name] } zone: default: { get_attribute: [TARGET, zone] } rule_name: default: { get_property: [SOURCE, name] } interface: default: { get_property: [SOURCE, interface] } cloudify.gcp.relationships.instance_remove_access_config: derived_from: cloudify.relationships.gcp.instance_remove_access_config workflows: discover_and_deploy: mapping: gcp_plugin.cloudify_gcp.workflows.discover.discover_and_deploy availability_rules: node_instances_active: - all - partial node_types_required: - cloudify.nodes.gcp.Gcp parameters: node_id: type: string default: '' resource_types: type: list default: - projects.zones.clusters blueprint_id: type: string default: existing-gke-cluster