diff --git a/api_names.yaml b/api_names.yaml index bf35121cf..62dd283b7 100644 --- a/api_names.yaml +++ b/api_names.yaml @@ -341,6 +341,68 @@ "/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress": representative_info_by_address "/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision": representative_info_by_division "/compute:v1/DiskMoveRequest": move_disk_request +"/compute:beta/InstanceMoveRequest": move_instance_request +"/compute:beta/TargetPoolsAddHealthCheckRequest": add_target_pools_health_check_request +"/compute:beta/TargetPoolsAddInstanceRequest": add_target_pools_instance_request +"/compute:beta/TargetPoolsRemoveHealthCheckRequest": remove_target_pools_health_check_request +"/compute:beta/TargetPoolsRemoveInstanceRequest": remove_target_pools_instance_request +"/compute:beta/UrlMapsValidateRequest": validate_url_maps_request +"/compute:beta/UrlMapsValidateResponse": validate_url_maps_response +"/compute:beta/compute.addresses.aggregatedList": list_aggregated_addresses +"/compute:beta/compute.autoscalers.aggregatedList": list_aggregated_autoscalers +"/compute:beta/compute.backendServices.getHealth": get_backend_service_health +"/compute:beta/compute.diskTypes.aggregatedList": list_aggregated_disk_types +"/compute:beta/compute.disks.aggregatedList": list_aggregated_disk +"/compute:beta/compute.disks.createSnapshot": create_disk_snapshot +"/compute:beta/compute.forwardingRules.aggregatedList": list_aggregated_forwarding_rules +"/compute:beta/compute.forwardingRules.setTarget": set_forwarding_rule_target +"/compute:beta/compute.globalForwardingRules.setTarget": set_global_forwarding_rule_target +"/compute:beta/compute.globalOperations.aggregatedList": list_aggregated_global_operation +"/compute:beta/compute.instances.addAccessConfig": add_instance_access_config +"/compute:beta/compute.instances.aggregatedList": list_aggregated_instances +"/compute:beta/compute.instances.attachDisk": attach_disk +"/compute:beta/compute.instances.deleteAccessConfig": delete_instance_access_config +"/compute:beta/compute.instances.detachDisk": detach_disk +"/compute:beta/compute.instances.getSerialPortOutput": get_instance_serial_port_output +"/compute:beta/compute.instances.setDiskAutoDelete": set_disk_auto_delete +"/compute:beta/compute.instances.setMetadata": set_instance_metadata +"/compute:beta/compute.instances.setScheduling": set_instance_scheduling +"/compute:beta/compute.instances.setTags": set_instance_tags +"/compute:beta/compute.machineTypes.aggregatedList": list_aggregated_machine_types +"/compute:beta/compute.projects.moveDisk": move_disk +"/compute:beta/compute.projects.moveInstance": move_instance +"/compute:beta/compute.projects.setCommonInstanceMetadata": set_common_instance_metadata +"/compute:beta/compute.subnetworks.aggregatedList": list_aggregated_subnetworks +"/compute:beta/compute.projects.setUsageExportBucket": set_usage_export_bucket +"/compute:beta/compute.targetHttpProxies.setUrlMap": set_target_http_proxy_url_map +"/compute:beta/compute.targetInstances.aggregatedList": list_aggregated_target_instance +"/compute:beta/compute.targetPools.addHealthCheck": add_target_pool_health_check +"/compute:beta/compute.targetPools.addInstance": add_target_pool_instance +"/compute:beta/compute.targetPools.aggregatedList": list_aggregated_target_pools +"/compute:beta/compute.targetPools.getHealth": get_target_pool_health +"/compute:beta/compute.targetPools.removeHealthCheck": remove_target_pool_health_check +"/compute:beta/compute.targetPools.removeInstance": remove_target_pool_instance +"/compute:beta/compute.targetPools.setBackup": set_target_pool_backup +"/compute:beta/compute.targetVpnGateways.aggregatedList": list_aggregated_target_vpn_gateways +"/compute:beta/compute.targetVpnGateways.delete": delete_target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.get": get_target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.insert": insert_target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.list": list_target_vpn_gateways +"/compute:beta/compute.vpnTunnels.aggregatedList": list_aggregated_vpn_tunnel +"/compute:beta/compute.instanceGroupManagers.abandonInstances": abandon_instance_group_manager_instances +"/compute:beta/compute.instanceGroupManagers.aggregatedList": list_aggregated_instance_group_managers +"/compute:beta/compute.instanceGroupManagers.deleteInstances": delete_instance_group_manager_instances +"/compute:beta/compute.instanceGroupManagers.listManagedInstances": list_instance_group_manager_managed_instances +"/compute:beta/compute.instanceGroupManagers.recreateInstances": recreate_instance_group_manager_instances +"/compute:beta/compute.instanceGroupManagers.resize": resize_instance_group_manager +"/compute:beta/compute.instanceGroupManagers.setInstanceTemplate": set_instance_group_manager_instance_template +"/compute:beta/compute.instanceGroupManagers.setTargetPools": set_instance_group_manager_target_pools +"/compute:beta/compute.instanceGroups.addInstances": add_instance_group_instances +"/compute:beta/compute.instanceGroups.aggregatedList": list_aggregated_instance_groups +"/compute:beta/compute.instanceGroups.listInstances": list_instance_group_instances +"/compute:beta/compute.instanceGroups.removeInstances": remove_instance_group_instances +"/compute:beta/compute.instanceGroups.setNamedPorts": set_instance_group_named_ports +"/compute:v1/DiskMoveRequest": move_disk_request "/compute:v1/InstanceMoveRequest": move_instance_request "/compute:v1/TargetPoolsAddHealthCheckRequest": add_target_pools_health_check_request "/compute:v1/TargetPoolsAddInstanceRequest": add_target_pools_instance_request @@ -349,6 +411,7 @@ "/compute:v1/UrlMapsValidateRequest": validate_url_maps_request "/compute:v1/UrlMapsValidateResponse": validate_url_maps_response "/compute:v1/compute.addresses.aggregatedList": list_aggregated_addresses +"/compute:v1/compute.autoscalers.aggregatedList": list_aggregated_autoscalers "/compute:v1/compute.backendServices.getHealth": get_backend_service_health "/compute:v1/compute.diskTypes.aggregatedList": list_aggregated_disk_types "/compute:v1/compute.disks.aggregatedList": list_aggregated_disk diff --git a/api_names_out.yaml b/api_names_out.yaml index 647cebbfe..bf423637a 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -341,6 +341,67 @@ "/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress": representative_info_by_address "/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision": representative_info_by_division "/compute:v1/DiskMoveRequest": move_disk_request +"/compute:beta/InstanceMoveRequest": move_instance_request +"/compute:beta/TargetPoolsAddHealthCheckRequest": add_target_pools_health_check_request +"/compute:beta/TargetPoolsAddInstanceRequest": add_target_pools_instance_request +"/compute:beta/TargetPoolsRemoveHealthCheckRequest": remove_target_pools_health_check_request +"/compute:beta/TargetPoolsRemoveInstanceRequest": remove_target_pools_instance_request +"/compute:beta/UrlMapsValidateRequest": validate_url_maps_request +"/compute:beta/UrlMapsValidateResponse": validate_url_maps_response +"/compute:beta/compute.addresses.aggregatedList": list_aggregated_addresses +"/compute:beta/compute.autoscalers.aggregatedList": list_aggregated_autoscalers +"/compute:beta/compute.backendServices.getHealth": get_backend_service_health +"/compute:beta/compute.diskTypes.aggregatedList": list_aggregated_disk_types +"/compute:beta/compute.disks.aggregatedList": list_aggregated_disk +"/compute:beta/compute.disks.createSnapshot": create_disk_snapshot +"/compute:beta/compute.forwardingRules.aggregatedList": list_aggregated_forwarding_rules +"/compute:beta/compute.forwardingRules.setTarget": set_forwarding_rule_target +"/compute:beta/compute.globalForwardingRules.setTarget": set_global_forwarding_rule_target +"/compute:beta/compute.globalOperations.aggregatedList": list_aggregated_global_operation +"/compute:beta/compute.instances.addAccessConfig": add_instance_access_config +"/compute:beta/compute.instances.aggregatedList": list_aggregated_instances +"/compute:beta/compute.instances.attachDisk": attach_disk +"/compute:beta/compute.instances.deleteAccessConfig": delete_instance_access_config +"/compute:beta/compute.instances.detachDisk": detach_disk +"/compute:beta/compute.instances.getSerialPortOutput": get_instance_serial_port_output +"/compute:beta/compute.instances.setDiskAutoDelete": set_disk_auto_delete +"/compute:beta/compute.instances.setMetadata": set_instance_metadata +"/compute:beta/compute.instances.setScheduling": set_instance_scheduling +"/compute:beta/compute.instances.setTags": set_instance_tags +"/compute:beta/compute.machineTypes.aggregatedList": list_aggregated_machine_types +"/compute:beta/compute.projects.moveDisk": move_disk +"/compute:beta/compute.projects.moveInstance": move_instance +"/compute:beta/compute.projects.setCommonInstanceMetadata": set_common_instance_metadata +"/compute:beta/compute.subnetworks.aggregatedList": list_aggregated_subnetworks +"/compute:beta/compute.projects.setUsageExportBucket": set_usage_export_bucket +"/compute:beta/compute.targetHttpProxies.setUrlMap": set_target_http_proxy_url_map +"/compute:beta/compute.targetInstances.aggregatedList": list_aggregated_target_instance +"/compute:beta/compute.targetPools.addHealthCheck": add_target_pool_health_check +"/compute:beta/compute.targetPools.addInstance": add_target_pool_instance +"/compute:beta/compute.targetPools.aggregatedList": list_aggregated_target_pools +"/compute:beta/compute.targetPools.getHealth": get_target_pool_health +"/compute:beta/compute.targetPools.removeHealthCheck": remove_target_pool_health_check +"/compute:beta/compute.targetPools.removeInstance": remove_target_pool_instance +"/compute:beta/compute.targetPools.setBackup": set_target_pool_backup +"/compute:beta/compute.targetVpnGateways.aggregatedList": list_aggregated_target_vpn_gateways +"/compute:beta/compute.targetVpnGateways.delete": delete_target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.get": get_target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.insert": insert_target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.list": list_target_vpn_gateways +"/compute:beta/compute.vpnTunnels.aggregatedList": list_aggregated_vpn_tunnel +"/compute:beta/compute.instanceGroupManagers.abandonInstances": abandon_instance_group_manager_instances +"/compute:beta/compute.instanceGroupManagers.aggregatedList": list_aggregated_instance_group_managers +"/compute:beta/compute.instanceGroupManagers.deleteInstances": delete_instance_group_manager_instances +"/compute:beta/compute.instanceGroupManagers.listManagedInstances": list_instance_group_manager_managed_instances +"/compute:beta/compute.instanceGroupManagers.recreateInstances": recreate_instance_group_manager_instances +"/compute:beta/compute.instanceGroupManagers.resize": resize_instance_group_manager +"/compute:beta/compute.instanceGroupManagers.setInstanceTemplate": set_instance_group_manager_instance_template +"/compute:beta/compute.instanceGroupManagers.setTargetPools": set_instance_group_manager_target_pools +"/compute:beta/compute.instanceGroups.addInstances": add_instance_group_instances +"/compute:beta/compute.instanceGroups.aggregatedList": list_aggregated_instance_groups +"/compute:beta/compute.instanceGroups.listInstances": list_instance_group_instances +"/compute:beta/compute.instanceGroups.removeInstances": remove_instance_group_instances +"/compute:beta/compute.instanceGroups.setNamedPorts": set_instance_group_named_ports "/compute:v1/InstanceMoveRequest": move_instance_request "/compute:v1/TargetPoolsAddHealthCheckRequest": add_target_pools_health_check_request "/compute:v1/TargetPoolsAddInstanceRequest": add_target_pools_instance_request @@ -349,6 +410,7 @@ "/compute:v1/UrlMapsValidateRequest": validate_url_maps_request "/compute:v1/UrlMapsValidateResponse": validate_url_maps_response "/compute:v1/compute.addresses.aggregatedList": list_aggregated_addresses +"/compute:v1/compute.autoscalers.aggregatedList": list_aggregated_autoscalers "/compute:v1/compute.backendServices.getHealth": get_backend_service_health "/compute:v1/compute.diskTypes.aggregatedList": list_aggregated_disk_types "/compute:v1/compute.disks.aggregatedList": list_aggregated_disk @@ -939,6 +1001,1982 @@ "/youtube:v3/VideoListResponse": list_videos_response "/youtubeAnalytics:v1/GroupItemListResponse": list_group_item_response "/youtubeAnalytics:v1/GroupListResponse": list_groups_response +"/compute:beta/fields": fields +"/compute:beta/key": key +"/compute:beta/quotaUser": quota_user +"/compute:beta/userIp": user_ip +"/compute:beta/compute.addresses.aggregatedList/filter": filter +"/compute:beta/compute.addresses.aggregatedList/maxResults": max_results +"/compute:beta/compute.addresses.aggregatedList/orderBy": order_by +"/compute:beta/compute.addresses.aggregatedList/pageToken": page_token +"/compute:beta/compute.addresses.aggregatedList/project": project +"/compute:beta/compute.addresses.delete": delete_address +"/compute:beta/compute.addresses.delete/address": address +"/compute:beta/compute.addresses.delete/project": project +"/compute:beta/compute.addresses.delete/region": region +"/compute:beta/compute.addresses.get": get_address +"/compute:beta/compute.addresses.get/address": address +"/compute:beta/compute.addresses.get/project": project +"/compute:beta/compute.addresses.get/region": region +"/compute:beta/compute.addresses.insert": insert_address +"/compute:beta/compute.addresses.insert/project": project +"/compute:beta/compute.addresses.insert/region": region +"/compute:beta/compute.addresses.list": list_addresses +"/compute:beta/compute.addresses.list/filter": filter +"/compute:beta/compute.addresses.list/maxResults": max_results +"/compute:beta/compute.addresses.list/orderBy": order_by +"/compute:beta/compute.addresses.list/pageToken": page_token +"/compute:beta/compute.addresses.list/project": project +"/compute:beta/compute.addresses.list/region": region +"/compute:beta/compute.autoscalers.aggregatedList/filter": filter +"/compute:beta/compute.autoscalers.aggregatedList/maxResults": max_results +"/compute:beta/compute.autoscalers.aggregatedList/orderBy": order_by +"/compute:beta/compute.autoscalers.aggregatedList/pageToken": page_token +"/compute:beta/compute.autoscalers.aggregatedList/project": project +"/compute:beta/compute.autoscalers.delete": delete_autoscaler +"/compute:beta/compute.autoscalers.delete/autoscaler": autoscaler +"/compute:beta/compute.autoscalers.delete/project": project +"/compute:beta/compute.autoscalers.delete/zone": zone +"/compute:beta/compute.autoscalers.get": get_autoscaler +"/compute:beta/compute.autoscalers.get/autoscaler": autoscaler +"/compute:beta/compute.autoscalers.get/project": project +"/compute:beta/compute.autoscalers.get/zone": zone +"/compute:beta/compute.autoscalers.insert": insert_autoscaler +"/compute:beta/compute.autoscalers.insert/project": project +"/compute:beta/compute.autoscalers.insert/zone": zone +"/compute:beta/compute.autoscalers.list": list_autoscalers +"/compute:beta/compute.autoscalers.list/filter": filter +"/compute:beta/compute.autoscalers.list/maxResults": max_results +"/compute:beta/compute.autoscalers.list/orderBy": order_by +"/compute:beta/compute.autoscalers.list/pageToken": page_token +"/compute:beta/compute.autoscalers.list/project": project +"/compute:beta/compute.autoscalers.list/zone": zone +"/compute:beta/compute.autoscalers.patch": patch_autoscaler +"/compute:beta/compute.autoscalers.patch/autoscaler": autoscaler +"/compute:beta/compute.autoscalers.patch/project": project +"/compute:beta/compute.autoscalers.patch/zone": zone +"/compute:beta/compute.autoscalers.update": update_autoscaler +"/compute:beta/compute.autoscalers.update/autoscaler": autoscaler +"/compute:beta/compute.autoscalers.update/project": project +"/compute:beta/compute.autoscalers.update/zone": zone +"/compute:beta/compute.backendServices.delete": delete_backend_service +"/compute:beta/compute.backendServices.delete/backendService": backend_service +"/compute:beta/compute.backendServices.delete/project": project +"/compute:beta/compute.backendServices.get": get_backend_service +"/compute:beta/compute.backendServices.get/backendService": backend_service +"/compute:beta/compute.backendServices.get/project": project +"/compute:beta/compute.backendServices.getHealth/backendService": backend_service +"/compute:beta/compute.backendServices.getHealth/project": project +"/compute:beta/compute.backendServices.insert": insert_backend_service +"/compute:beta/compute.backendServices.insert/project": project +"/compute:beta/compute.backendServices.list": list_backend_services +"/compute:beta/compute.backendServices.list/filter": filter +"/compute:beta/compute.backendServices.list/maxResults": max_results +"/compute:beta/compute.backendServices.list/orderBy": order_by +"/compute:beta/compute.backendServices.list/pageToken": page_token +"/compute:beta/compute.backendServices.list/project": project +"/compute:beta/compute.backendServices.patch": patch_backend_service +"/compute:beta/compute.backendServices.patch/backendService": backend_service +"/compute:beta/compute.backendServices.patch/project": project +"/compute:beta/compute.backendServices.update": update_backend_service +"/compute:beta/compute.backendServices.update/backendService": backend_service +"/compute:beta/compute.backendServices.update/project": project +"/compute:beta/compute.diskTypes.aggregatedList/filter": filter +"/compute:beta/compute.diskTypes.aggregatedList/maxResults": max_results +"/compute:beta/compute.diskTypes.aggregatedList/orderBy": order_by +"/compute:beta/compute.diskTypes.aggregatedList/pageToken": page_token +"/compute:beta/compute.diskTypes.aggregatedList/project": project +"/compute:beta/compute.diskTypes.get": get_disk_type +"/compute:beta/compute.diskTypes.get/diskType": disk_type +"/compute:beta/compute.diskTypes.get/project": project +"/compute:beta/compute.diskTypes.get/zone": zone +"/compute:beta/compute.diskTypes.list": list_disk_types +"/compute:beta/compute.diskTypes.list/filter": filter +"/compute:beta/compute.diskTypes.list/maxResults": max_results +"/compute:beta/compute.diskTypes.list/orderBy": order_by +"/compute:beta/compute.diskTypes.list/pageToken": page_token +"/compute:beta/compute.diskTypes.list/project": project +"/compute:beta/compute.diskTypes.list/zone": zone +"/compute:beta/compute.disks.aggregatedList/filter": filter +"/compute:beta/compute.disks.aggregatedList/maxResults": max_results +"/compute:beta/compute.disks.aggregatedList/orderBy": order_by +"/compute:beta/compute.disks.aggregatedList/pageToken": page_token +"/compute:beta/compute.disks.aggregatedList/project": project +"/compute:beta/compute.disks.createSnapshot/disk": disk +"/compute:beta/compute.disks.createSnapshot/project": project +"/compute:beta/compute.disks.createSnapshot/zone": zone +"/compute:beta/compute.disks.delete": delete_disk +"/compute:beta/compute.disks.delete/disk": disk +"/compute:beta/compute.disks.delete/project": project +"/compute:beta/compute.disks.delete/zone": zone +"/compute:beta/compute.disks.get": get_disk +"/compute:beta/compute.disks.get/disk": disk +"/compute:beta/compute.disks.get/project": project +"/compute:beta/compute.disks.get/zone": zone +"/compute:beta/compute.disks.insert": insert_disk +"/compute:beta/compute.disks.insert/project": project +"/compute:beta/compute.disks.insert/sourceImage": source_image +"/compute:beta/compute.disks.insert/zone": zone +"/compute:beta/compute.disks.list": list_disks +"/compute:beta/compute.disks.list/filter": filter +"/compute:beta/compute.disks.list/maxResults": max_results +"/compute:beta/compute.disks.list/orderBy": order_by +"/compute:beta/compute.disks.list/pageToken": page_token +"/compute:beta/compute.disks.list/project": project +"/compute:beta/compute.disks.list/zone": zone +"/compute:beta/compute.disks.resize": resize_disk +"/compute:beta/compute.disks.resize/disk": disk +"/compute:beta/compute.disks.resize/project": project +"/compute:beta/compute.disks.resize/zone": zone +"/compute:beta/compute.firewalls.delete": delete_firewall +"/compute:beta/compute.firewalls.delete/firewall": firewall +"/compute:beta/compute.firewalls.delete/project": project +"/compute:beta/compute.firewalls.get": get_firewall +"/compute:beta/compute.firewalls.get/firewall": firewall +"/compute:beta/compute.firewalls.get/project": project +"/compute:beta/compute.firewalls.insert": insert_firewall +"/compute:beta/compute.firewalls.insert/project": project +"/compute:beta/compute.firewalls.list": list_firewalls +"/compute:beta/compute.firewalls.list/filter": filter +"/compute:beta/compute.firewalls.list/maxResults": max_results +"/compute:beta/compute.firewalls.list/orderBy": order_by +"/compute:beta/compute.firewalls.list/pageToken": page_token +"/compute:beta/compute.firewalls.list/project": project +"/compute:beta/compute.firewalls.patch": patch_firewall +"/compute:beta/compute.firewalls.patch/firewall": firewall +"/compute:beta/compute.firewalls.patch/project": project +"/compute:beta/compute.firewalls.update": update_firewall +"/compute:beta/compute.firewalls.update/firewall": firewall +"/compute:beta/compute.firewalls.update/project": project +"/compute:beta/compute.forwardingRules.aggregatedList/filter": filter +"/compute:beta/compute.forwardingRules.aggregatedList/maxResults": max_results +"/compute:beta/compute.forwardingRules.aggregatedList/orderBy": order_by +"/compute:beta/compute.forwardingRules.aggregatedList/pageToken": page_token +"/compute:beta/compute.forwardingRules.aggregatedList/project": project +"/compute:beta/compute.forwardingRules.delete": delete_forwarding_rule +"/compute:beta/compute.forwardingRules.delete/forwardingRule": forwarding_rule +"/compute:beta/compute.forwardingRules.delete/project": project +"/compute:beta/compute.forwardingRules.delete/region": region +"/compute:beta/compute.forwardingRules.get": get_forwarding_rule +"/compute:beta/compute.forwardingRules.get/forwardingRule": forwarding_rule +"/compute:beta/compute.forwardingRules.get/project": project +"/compute:beta/compute.forwardingRules.get/region": region +"/compute:beta/compute.forwardingRules.insert": insert_forwarding_rule +"/compute:beta/compute.forwardingRules.insert/project": project +"/compute:beta/compute.forwardingRules.insert/region": region +"/compute:beta/compute.forwardingRules.list": list_forwarding_rules +"/compute:beta/compute.forwardingRules.list/filter": filter +"/compute:beta/compute.forwardingRules.list/maxResults": max_results +"/compute:beta/compute.forwardingRules.list/orderBy": order_by +"/compute:beta/compute.forwardingRules.list/pageToken": page_token +"/compute:beta/compute.forwardingRules.list/project": project +"/compute:beta/compute.forwardingRules.list/region": region +"/compute:beta/compute.forwardingRules.setTarget/forwardingRule": forwarding_rule +"/compute:beta/compute.forwardingRules.setTarget/project": project +"/compute:beta/compute.forwardingRules.setTarget/region": region +"/compute:beta/compute.globalAddresses.delete": delete_global_address +"/compute:beta/compute.globalAddresses.delete/address": address +"/compute:beta/compute.globalAddresses.delete/project": project +"/compute:beta/compute.globalAddresses.get": get_global_address +"/compute:beta/compute.globalAddresses.get/address": address +"/compute:beta/compute.globalAddresses.get/project": project +"/compute:beta/compute.globalAddresses.insert": insert_global_address +"/compute:beta/compute.globalAddresses.insert/project": project +"/compute:beta/compute.globalAddresses.list": list_global_addresses +"/compute:beta/compute.globalAddresses.list/filter": filter +"/compute:beta/compute.globalAddresses.list/maxResults": max_results +"/compute:beta/compute.globalAddresses.list/orderBy": order_by +"/compute:beta/compute.globalAddresses.list/pageToken": page_token +"/compute:beta/compute.globalAddresses.list/project": project +"/compute:beta/compute.globalForwardingRules.delete": delete_global_forwarding_rule +"/compute:beta/compute.globalForwardingRules.delete/forwardingRule": forwarding_rule +"/compute:beta/compute.globalForwardingRules.delete/project": project +"/compute:beta/compute.globalForwardingRules.get": get_global_forwarding_rule +"/compute:beta/compute.globalForwardingRules.get/forwardingRule": forwarding_rule +"/compute:beta/compute.globalForwardingRules.get/project": project +"/compute:beta/compute.globalForwardingRules.insert": insert_global_forwarding_rule +"/compute:beta/compute.globalForwardingRules.insert/project": project +"/compute:beta/compute.globalForwardingRules.list": list_global_forwarding_rules +"/compute:beta/compute.globalForwardingRules.list/filter": filter +"/compute:beta/compute.globalForwardingRules.list/maxResults": max_results +"/compute:beta/compute.globalForwardingRules.list/orderBy": order_by +"/compute:beta/compute.globalForwardingRules.list/pageToken": page_token +"/compute:beta/compute.globalForwardingRules.list/project": project +"/compute:beta/compute.globalForwardingRules.setTarget/forwardingRule": forwarding_rule +"/compute:beta/compute.globalForwardingRules.setTarget/project": project +"/compute:beta/compute.globalOperations.aggregatedList/filter": filter +"/compute:beta/compute.globalOperations.aggregatedList/maxResults": max_results +"/compute:beta/compute.globalOperations.aggregatedList/orderBy": order_by +"/compute:beta/compute.globalOperations.aggregatedList/pageToken": page_token +"/compute:beta/compute.globalOperations.aggregatedList/project": project +"/compute:beta/compute.globalOperations.delete": delete_global_operation +"/compute:beta/compute.globalOperations.delete/operation": operation +"/compute:beta/compute.globalOperations.delete/project": project +"/compute:beta/compute.globalOperations.get": get_global_operation +"/compute:beta/compute.globalOperations.get/operation": operation +"/compute:beta/compute.globalOperations.get/project": project +"/compute:beta/compute.globalOperations.list": list_global_operations +"/compute:beta/compute.globalOperations.list/filter": filter +"/compute:beta/compute.globalOperations.list/maxResults": max_results +"/compute:beta/compute.globalOperations.list/orderBy": order_by +"/compute:beta/compute.globalOperations.list/pageToken": page_token +"/compute:beta/compute.globalOperations.list/project": project +"/compute:beta/compute.httpHealthChecks.delete": delete_http_health_check +"/compute:beta/compute.httpHealthChecks.delete/httpHealthCheck": http_health_check +"/compute:beta/compute.httpHealthChecks.delete/project": project +"/compute:beta/compute.httpHealthChecks.get": get_http_health_check +"/compute:beta/compute.httpHealthChecks.get/httpHealthCheck": http_health_check +"/compute:beta/compute.httpHealthChecks.get/project": project +"/compute:beta/compute.httpHealthChecks.insert": insert_http_health_check +"/compute:beta/compute.httpHealthChecks.insert/project": project +"/compute:beta/compute.httpHealthChecks.list": list_http_health_checks +"/compute:beta/compute.httpHealthChecks.list/filter": filter +"/compute:beta/compute.httpHealthChecks.list/maxResults": max_results +"/compute:beta/compute.httpHealthChecks.list/orderBy": order_by +"/compute:beta/compute.httpHealthChecks.list/pageToken": page_token +"/compute:beta/compute.httpHealthChecks.list/project": project +"/compute:beta/compute.httpHealthChecks.patch": patch_http_health_check +"/compute:beta/compute.httpHealthChecks.patch/httpHealthCheck": http_health_check +"/compute:beta/compute.httpHealthChecks.patch/project": project +"/compute:beta/compute.httpHealthChecks.update": update_http_health_check +"/compute:beta/compute.httpHealthChecks.update/httpHealthCheck": http_health_check +"/compute:beta/compute.httpHealthChecks.update/project": project +"/compute:beta/compute.httpsHealthChecks.delete": delete_https_health_check +"/compute:beta/compute.httpsHealthChecks.delete/httpsHealthCheck": https_health_check +"/compute:beta/compute.httpsHealthChecks.delete/project": project +"/compute:beta/compute.httpsHealthChecks.get": get_https_health_check +"/compute:beta/compute.httpsHealthChecks.get/httpsHealthCheck": https_health_check +"/compute:beta/compute.httpsHealthChecks.get/project": project +"/compute:beta/compute.httpsHealthChecks.insert": insert_https_health_check +"/compute:beta/compute.httpsHealthChecks.insert/project": project +"/compute:beta/compute.httpsHealthChecks.list": list_https_health_checks +"/compute:beta/compute.httpsHealthChecks.list/filter": filter +"/compute:beta/compute.httpsHealthChecks.list/maxResults": max_results +"/compute:beta/compute.httpsHealthChecks.list/orderBy": order_by +"/compute:beta/compute.httpsHealthChecks.list/pageToken": page_token +"/compute:beta/compute.httpsHealthChecks.list/project": project +"/compute:beta/compute.httpsHealthChecks.patch": patch_https_health_check +"/compute:beta/compute.httpsHealthChecks.patch/httpsHealthCheck": https_health_check +"/compute:beta/compute.httpsHealthChecks.patch/project": project +"/compute:beta/compute.httpsHealthChecks.update": update_https_health_check +"/compute:beta/compute.httpsHealthChecks.update/httpsHealthCheck": https_health_check +"/compute:beta/compute.httpsHealthChecks.update/project": project +"/compute:beta/compute.images.delete": delete_image +"/compute:beta/compute.images.delete/image": image +"/compute:beta/compute.images.delete/project": project +"/compute:beta/compute.images.deprecate": deprecate_image +"/compute:beta/compute.images.deprecate/image": image +"/compute:beta/compute.images.deprecate/project": project +"/compute:beta/compute.images.get": get_image +"/compute:beta/compute.images.get/image": image +"/compute:beta/compute.images.get/project": project +"/compute:beta/compute.images.insert": insert_image +"/compute:beta/compute.images.insert/project": project +"/compute:beta/compute.images.list": list_images +"/compute:beta/compute.images.list/filter": filter +"/compute:beta/compute.images.list/maxResults": max_results +"/compute:beta/compute.images.list/orderBy": order_by +"/compute:beta/compute.images.list/pageToken": page_token +"/compute:beta/compute.images.list/project": project +"/compute:beta/compute.instanceGroupManagers.abandonInstances/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.abandonInstances/project": project +"/compute:beta/compute.instanceGroupManagers.abandonInstances/zone": zone +"/compute:beta/compute.instanceGroupManagers.aggregatedList/filter": filter +"/compute:beta/compute.instanceGroupManagers.aggregatedList/maxResults": max_results +"/compute:beta/compute.instanceGroupManagers.aggregatedList/orderBy": order_by +"/compute:beta/compute.instanceGroupManagers.aggregatedList/pageToken": page_token +"/compute:beta/compute.instanceGroupManagers.aggregatedList/project": project +"/compute:beta/compute.instanceGroupManagers.delete": delete_instance_group_manager +"/compute:beta/compute.instanceGroupManagers.delete/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.delete/project": project +"/compute:beta/compute.instanceGroupManagers.delete/zone": zone +"/compute:beta/compute.instanceGroupManagers.deleteInstances/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.deleteInstances/project": project +"/compute:beta/compute.instanceGroupManagers.deleteInstances/zone": zone +"/compute:beta/compute.instanceGroupManagers.get": get_instance_group_manager +"/compute:beta/compute.instanceGroupManagers.get/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.get/project": project +"/compute:beta/compute.instanceGroupManagers.get/zone": zone +"/compute:beta/compute.instanceGroupManagers.insert": insert_instance_group_manager +"/compute:beta/compute.instanceGroupManagers.insert/project": project +"/compute:beta/compute.instanceGroupManagers.insert/zone": zone +"/compute:beta/compute.instanceGroupManagers.list": list_instance_group_managers +"/compute:beta/compute.instanceGroupManagers.list/filter": filter +"/compute:beta/compute.instanceGroupManagers.list/maxResults": max_results +"/compute:beta/compute.instanceGroupManagers.list/orderBy": order_by +"/compute:beta/compute.instanceGroupManagers.list/pageToken": page_token +"/compute:beta/compute.instanceGroupManagers.list/project": project +"/compute:beta/compute.instanceGroupManagers.list/zone": zone +"/compute:beta/compute.instanceGroupManagers.listManagedInstances/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.listManagedInstances/project": project +"/compute:beta/compute.instanceGroupManagers.listManagedInstances/zone": zone +"/compute:beta/compute.instanceGroupManagers.recreateInstances/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.recreateInstances/project": project +"/compute:beta/compute.instanceGroupManagers.recreateInstances/zone": zone +"/compute:beta/compute.instanceGroupManagers.resize/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.resize/project": project +"/compute:beta/compute.instanceGroupManagers.resize/size": size +"/compute:beta/compute.instanceGroupManagers.resize/zone": zone +"/compute:beta/compute.instanceGroupManagers.setAutoHealingPolicies": set_instance_group_manager_auto_healing_policies +"/compute:beta/compute.instanceGroupManagers.setAutoHealingPolicies/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.setAutoHealingPolicies/project": project +"/compute:beta/compute.instanceGroupManagers.setAutoHealingPolicies/zone": zone +"/compute:beta/compute.instanceGroupManagers.setInstanceTemplate/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.setInstanceTemplate/project": project +"/compute:beta/compute.instanceGroupManagers.setInstanceTemplate/zone": zone +"/compute:beta/compute.instanceGroupManagers.setTargetPools/instanceGroupManager": instance_group_manager +"/compute:beta/compute.instanceGroupManagers.setTargetPools/project": project +"/compute:beta/compute.instanceGroupManagers.setTargetPools/zone": zone +"/compute:beta/compute.instanceGroups.addInstances/instanceGroup": instance_group +"/compute:beta/compute.instanceGroups.addInstances/project": project +"/compute:beta/compute.instanceGroups.addInstances/zone": zone +"/compute:beta/compute.instanceGroups.aggregatedList/filter": filter +"/compute:beta/compute.instanceGroups.aggregatedList/maxResults": max_results +"/compute:beta/compute.instanceGroups.aggregatedList/orderBy": order_by +"/compute:beta/compute.instanceGroups.aggregatedList/pageToken": page_token +"/compute:beta/compute.instanceGroups.aggregatedList/project": project +"/compute:beta/compute.instanceGroups.delete": delete_instance_group +"/compute:beta/compute.instanceGroups.delete/instanceGroup": instance_group +"/compute:beta/compute.instanceGroups.delete/project": project +"/compute:beta/compute.instanceGroups.delete/zone": zone +"/compute:beta/compute.instanceGroups.get": get_instance_group +"/compute:beta/compute.instanceGroups.get/instanceGroup": instance_group +"/compute:beta/compute.instanceGroups.get/project": project +"/compute:beta/compute.instanceGroups.get/zone": zone +"/compute:beta/compute.instanceGroups.insert": insert_instance_group +"/compute:beta/compute.instanceGroups.insert/project": project +"/compute:beta/compute.instanceGroups.insert/zone": zone +"/compute:beta/compute.instanceGroups.list": list_instance_groups +"/compute:beta/compute.instanceGroups.list/filter": filter +"/compute:beta/compute.instanceGroups.list/maxResults": max_results +"/compute:beta/compute.instanceGroups.list/orderBy": order_by +"/compute:beta/compute.instanceGroups.list/pageToken": page_token +"/compute:beta/compute.instanceGroups.list/project": project +"/compute:beta/compute.instanceGroups.list/zone": zone +"/compute:beta/compute.instanceGroups.listInstances/filter": filter +"/compute:beta/compute.instanceGroups.listInstances/instanceGroup": instance_group +"/compute:beta/compute.instanceGroups.listInstances/maxResults": max_results +"/compute:beta/compute.instanceGroups.listInstances/orderBy": order_by +"/compute:beta/compute.instanceGroups.listInstances/pageToken": page_token +"/compute:beta/compute.instanceGroups.listInstances/project": project +"/compute:beta/compute.instanceGroups.listInstances/zone": zone +"/compute:beta/compute.instanceGroups.removeInstances/instanceGroup": instance_group +"/compute:beta/compute.instanceGroups.removeInstances/project": project +"/compute:beta/compute.instanceGroups.removeInstances/zone": zone +"/compute:beta/compute.instanceGroups.setNamedPorts/instanceGroup": instance_group +"/compute:beta/compute.instanceGroups.setNamedPorts/project": project +"/compute:beta/compute.instanceGroups.setNamedPorts/zone": zone +"/compute:beta/compute.instanceTemplates.delete": delete_instance_template +"/compute:beta/compute.instanceTemplates.delete/instanceTemplate": instance_template +"/compute:beta/compute.instanceTemplates.delete/project": project +"/compute:beta/compute.instanceTemplates.get": get_instance_template +"/compute:beta/compute.instanceTemplates.get/instanceTemplate": instance_template +"/compute:beta/compute.instanceTemplates.get/project": project +"/compute:beta/compute.instanceTemplates.insert": insert_instance_template +"/compute:beta/compute.instanceTemplates.insert/project": project +"/compute:beta/compute.instanceTemplates.list": list_instance_templates +"/compute:beta/compute.instanceTemplates.list/filter": filter +"/compute:beta/compute.instanceTemplates.list/maxResults": max_results +"/compute:beta/compute.instanceTemplates.list/orderBy": order_by +"/compute:beta/compute.instanceTemplates.list/pageToken": page_token +"/compute:beta/compute.instanceTemplates.list/project": project +"/compute:beta/compute.instances.addAccessConfig/instance": instance +"/compute:beta/compute.instances.addAccessConfig/networkInterface": network_interface +"/compute:beta/compute.instances.addAccessConfig/project": project +"/compute:beta/compute.instances.addAccessConfig/zone": zone +"/compute:beta/compute.instances.aggregatedList/filter": filter +"/compute:beta/compute.instances.aggregatedList/maxResults": max_results +"/compute:beta/compute.instances.aggregatedList/orderBy": order_by +"/compute:beta/compute.instances.aggregatedList/pageToken": page_token +"/compute:beta/compute.instances.aggregatedList/project": project +"/compute:beta/compute.instances.attachDisk/instance": instance +"/compute:beta/compute.instances.attachDisk/project": project +"/compute:beta/compute.instances.attachDisk/zone": zone +"/compute:beta/compute.instances.delete": delete_instance +"/compute:beta/compute.instances.delete/instance": instance +"/compute:beta/compute.instances.delete/project": project +"/compute:beta/compute.instances.delete/zone": zone +"/compute:beta/compute.instances.deleteAccessConfig/accessConfig": access_config +"/compute:beta/compute.instances.deleteAccessConfig/instance": instance +"/compute:beta/compute.instances.deleteAccessConfig/networkInterface": network_interface +"/compute:beta/compute.instances.deleteAccessConfig/project": project +"/compute:beta/compute.instances.deleteAccessConfig/zone": zone +"/compute:beta/compute.instances.detachDisk/deviceName": device_name +"/compute:beta/compute.instances.detachDisk/instance": instance +"/compute:beta/compute.instances.detachDisk/project": project +"/compute:beta/compute.instances.detachDisk/zone": zone +"/compute:beta/compute.instances.get": get_instance +"/compute:beta/compute.instances.get/instance": instance +"/compute:beta/compute.instances.get/project": project +"/compute:beta/compute.instances.get/zone": zone +"/compute:beta/compute.instances.getSerialPortOutput/instance": instance +"/compute:beta/compute.instances.getSerialPortOutput/port": port +"/compute:beta/compute.instances.getSerialPortOutput/project": project +"/compute:beta/compute.instances.getSerialPortOutput/zone": zone +"/compute:beta/compute.instances.insert": insert_instance +"/compute:beta/compute.instances.insert/project": project +"/compute:beta/compute.instances.insert/zone": zone +"/compute:beta/compute.instances.list": list_instances +"/compute:beta/compute.instances.list/filter": filter +"/compute:beta/compute.instances.list/maxResults": max_results +"/compute:beta/compute.instances.list/orderBy": order_by +"/compute:beta/compute.instances.list/pageToken": page_token +"/compute:beta/compute.instances.list/project": project +"/compute:beta/compute.instances.list/zone": zone +"/compute:beta/compute.instances.reset": reset_instance +"/compute:beta/compute.instances.reset/instance": instance +"/compute:beta/compute.instances.reset/project": project +"/compute:beta/compute.instances.reset/zone": zone +"/compute:beta/compute.instances.setDiskAutoDelete/autoDelete": auto_delete +"/compute:beta/compute.instances.setDiskAutoDelete/deviceName": device_name +"/compute:beta/compute.instances.setDiskAutoDelete/instance": instance +"/compute:beta/compute.instances.setDiskAutoDelete/project": project +"/compute:beta/compute.instances.setDiskAutoDelete/zone": zone +"/compute:beta/compute.instances.setLabels": set_instance_labels +"/compute:beta/compute.instances.setLabels/instance": instance +"/compute:beta/compute.instances.setLabels/project": project +"/compute:beta/compute.instances.setLabels/zone": zone +"/compute:beta/compute.instances.setMachineType": set_instance_machine_type +"/compute:beta/compute.instances.setMachineType/instance": instance +"/compute:beta/compute.instances.setMachineType/project": project +"/compute:beta/compute.instances.setMachineType/zone": zone +"/compute:beta/compute.instances.setMetadata/instance": instance +"/compute:beta/compute.instances.setMetadata/project": project +"/compute:beta/compute.instances.setMetadata/zone": zone +"/compute:beta/compute.instances.setScheduling/instance": instance +"/compute:beta/compute.instances.setScheduling/project": project +"/compute:beta/compute.instances.setScheduling/zone": zone +"/compute:beta/compute.instances.setTags/instance": instance +"/compute:beta/compute.instances.setTags/project": project +"/compute:beta/compute.instances.setTags/zone": zone +"/compute:beta/compute.instances.start": start_instance +"/compute:beta/compute.instances.start/instance": instance +"/compute:beta/compute.instances.start/project": project +"/compute:beta/compute.instances.start/zone": zone +"/compute:beta/compute.instances.stop": stop_instance +"/compute:beta/compute.instances.stop/instance": instance +"/compute:beta/compute.instances.stop/project": project +"/compute:beta/compute.instances.stop/zone": zone +"/compute:beta/compute.licenses.get": get_license +"/compute:beta/compute.licenses.get/license": license +"/compute:beta/compute.licenses.get/project": project +"/compute:beta/compute.machineTypes.aggregatedList/filter": filter +"/compute:beta/compute.machineTypes.aggregatedList/maxResults": max_results +"/compute:beta/compute.machineTypes.aggregatedList/orderBy": order_by +"/compute:beta/compute.machineTypes.aggregatedList/pageToken": page_token +"/compute:beta/compute.machineTypes.aggregatedList/project": project +"/compute:beta/compute.machineTypes.get": get_machine_type +"/compute:beta/compute.machineTypes.get/machineType": machine_type +"/compute:beta/compute.machineTypes.get/project": project +"/compute:beta/compute.machineTypes.get/zone": zone +"/compute:beta/compute.machineTypes.list": list_machine_types +"/compute:beta/compute.machineTypes.list/filter": filter +"/compute:beta/compute.machineTypes.list/maxResults": max_results +"/compute:beta/compute.machineTypes.list/orderBy": order_by +"/compute:beta/compute.machineTypes.list/pageToken": page_token +"/compute:beta/compute.machineTypes.list/project": project +"/compute:beta/compute.machineTypes.list/zone": zone +"/compute:beta/compute.networks.delete": delete_network +"/compute:beta/compute.networks.delete/network": network +"/compute:beta/compute.networks.delete/project": project +"/compute:beta/compute.networks.get": get_network +"/compute:beta/compute.networks.get/network": network +"/compute:beta/compute.networks.get/project": project +"/compute:beta/compute.networks.insert": insert_network +"/compute:beta/compute.networks.insert/project": project +"/compute:beta/compute.networks.list": list_networks +"/compute:beta/compute.networks.list/filter": filter +"/compute:beta/compute.networks.list/maxResults": max_results +"/compute:beta/compute.networks.list/orderBy": order_by +"/compute:beta/compute.networks.list/pageToken": page_token +"/compute:beta/compute.networks.list/project": project +"/compute:beta/compute.projects.get": get_project +"/compute:beta/compute.projects.get/project": project +"/compute:beta/compute.projects.setCommonInstanceMetadata/project": project +"/compute:beta/compute.projects.setUsageExportBucket/project": project +"/compute:beta/compute.projects.setUsageExportCloudStorageBucket": set_project_usage_export_cloud_storage_bucket +"/compute:beta/compute.projects.setUsageExportCloudStorageBucket/project": project +"/compute:beta/compute.regionOperations.delete": delete_region_operation +"/compute:beta/compute.regionOperations.delete/operation": operation +"/compute:beta/compute.regionOperations.delete/project": project +"/compute:beta/compute.regionOperations.delete/region": region +"/compute:beta/compute.regionOperations.get": get_region_operation +"/compute:beta/compute.regionOperations.get/operation": operation +"/compute:beta/compute.regionOperations.get/project": project +"/compute:beta/compute.regionOperations.get/region": region +"/compute:beta/compute.regionOperations.list": list_region_operations +"/compute:beta/compute.regionOperations.list/filter": filter +"/compute:beta/compute.regionOperations.list/maxResults": max_results +"/compute:beta/compute.regionOperations.list/orderBy": order_by +"/compute:beta/compute.regionOperations.list/pageToken": page_token +"/compute:beta/compute.regionOperations.list/project": project +"/compute:beta/compute.regionOperations.list/region": region +"/compute:beta/compute.regions.get": get_region +"/compute:beta/compute.regions.get/project": project +"/compute:beta/compute.regions.get/region": region +"/compute:beta/compute.regions.list": list_regions +"/compute:beta/compute.regions.list/filter": filter +"/compute:beta/compute.regions.list/maxResults": max_results +"/compute:beta/compute.regions.list/orderBy": order_by +"/compute:beta/compute.regions.list/pageToken": page_token +"/compute:beta/compute.regions.list/project": project +"/compute:beta/compute.routes.delete": delete_route +"/compute:beta/compute.routes.delete/project": project +"/compute:beta/compute.routes.delete/route": route +"/compute:beta/compute.routes.get": get_route +"/compute:beta/compute.routes.get/project": project +"/compute:beta/compute.routes.get/route": route +"/compute:beta/compute.routes.insert": insert_route +"/compute:beta/compute.routes.insert/project": project +"/compute:beta/compute.routes.list": list_routes +"/compute:beta/compute.routes.list/filter": filter +"/compute:beta/compute.routes.list/maxResults": max_results +"/compute:beta/compute.routes.list/orderBy": order_by +"/compute:beta/compute.routes.list/pageToken": page_token +"/compute:beta/compute.routes.list/project": project +"/compute:beta/compute.snapshots.delete": delete_snapshot +"/compute:beta/compute.snapshots.delete/project": project +"/compute:beta/compute.snapshots.delete/snapshot": snapshot +"/compute:beta/compute.snapshots.get": get_snapshot +"/compute:beta/compute.snapshots.get/project": project +"/compute:beta/compute.snapshots.get/snapshot": snapshot +"/compute:beta/compute.snapshots.list": list_snapshots +"/compute:beta/compute.snapshots.list/filter": filter +"/compute:beta/compute.snapshots.list/maxResults": max_results +"/compute:beta/compute.snapshots.list/orderBy": order_by +"/compute:beta/compute.snapshots.list/pageToken": page_token +"/compute:beta/compute.snapshots.list/project": project +"/compute:beta/compute.sslCertificates.delete": delete_ssl_certificate +"/compute:beta/compute.sslCertificates.delete/project": project +"/compute:beta/compute.sslCertificates.delete/sslCertificate": ssl_certificate +"/compute:beta/compute.sslCertificates.get": get_ssl_certificate +"/compute:beta/compute.sslCertificates.get/project": project +"/compute:beta/compute.sslCertificates.get/sslCertificate": ssl_certificate +"/compute:beta/compute.sslCertificates.insert": insert_ssl_certificate +"/compute:beta/compute.sslCertificates.insert/project": project +"/compute:beta/compute.sslCertificates.list": list_ssl_certificates +"/compute:beta/compute.sslCertificates.list/filter": filter +"/compute:beta/compute.sslCertificates.list/maxResults": max_results +"/compute:beta/compute.sslCertificates.list/orderBy": order_by +"/compute:beta/compute.sslCertificates.list/pageToken": page_token +"/compute:beta/compute.sslCertificates.list/project": project +"/compute:beta/compute.subnetworks.aggregatedList/filter": filter +"/compute:beta/compute.subnetworks.aggregatedList/maxResults": max_results +"/compute:beta/compute.subnetworks.aggregatedList/orderBy": order_by +"/compute:beta/compute.subnetworks.aggregatedList/pageToken": page_token +"/compute:beta/compute.subnetworks.aggregatedList/project": project +"/compute:beta/compute.subnetworks.delete": delete_subnetwork +"/compute:beta/compute.subnetworks.delete/project": project +"/compute:beta/compute.subnetworks.delete/region": region +"/compute:beta/compute.subnetworks.delete/subnetwork": subnetwork +"/compute:beta/compute.subnetworks.get": get_subnetwork +"/compute:beta/compute.subnetworks.get/project": project +"/compute:beta/compute.subnetworks.get/region": region +"/compute:beta/compute.subnetworks.get/subnetwork": subnetwork +"/compute:beta/compute.subnetworks.insert": insert_subnetwork +"/compute:beta/compute.subnetworks.insert/project": project +"/compute:beta/compute.subnetworks.insert/region": region +"/compute:beta/compute.subnetworks.list": list_subnetworks +"/compute:beta/compute.subnetworks.list/filter": filter +"/compute:beta/compute.subnetworks.list/maxResults": max_results +"/compute:beta/compute.subnetworks.list/orderBy": order_by +"/compute:beta/compute.subnetworks.list/pageToken": page_token +"/compute:beta/compute.subnetworks.list/project": project +"/compute:beta/compute.subnetworks.list/region": region +"/compute:beta/compute.targetHttpProxies.delete": delete_target_http_proxy +"/compute:beta/compute.targetHttpProxies.delete/project": project +"/compute:beta/compute.targetHttpProxies.delete/targetHttpProxy": target_http_proxy +"/compute:beta/compute.targetHttpProxies.get": get_target_http_proxy +"/compute:beta/compute.targetHttpProxies.get/project": project +"/compute:beta/compute.targetHttpProxies.get/targetHttpProxy": target_http_proxy +"/compute:beta/compute.targetHttpProxies.insert": insert_target_http_proxy +"/compute:beta/compute.targetHttpProxies.insert/project": project +"/compute:beta/compute.targetHttpProxies.list": list_target_http_proxies +"/compute:beta/compute.targetHttpProxies.list/filter": filter +"/compute:beta/compute.targetHttpProxies.list/maxResults": max_results +"/compute:beta/compute.targetHttpProxies.list/orderBy": order_by +"/compute:beta/compute.targetHttpProxies.list/pageToken": page_token +"/compute:beta/compute.targetHttpProxies.list/project": project +"/compute:beta/compute.targetHttpProxies.setUrlMap/project": project +"/compute:beta/compute.targetHttpProxies.setUrlMap/targetHttpProxy": target_http_proxy +"/compute:beta/compute.targetHttpsProxies.delete": delete_target_https_proxy +"/compute:beta/compute.targetHttpsProxies.delete/project": project +"/compute:beta/compute.targetHttpsProxies.delete/targetHttpsProxy": target_https_proxy +"/compute:beta/compute.targetHttpsProxies.get": get_target_https_proxy +"/compute:beta/compute.targetHttpsProxies.get/project": project +"/compute:beta/compute.targetHttpsProxies.get/targetHttpsProxy": target_https_proxy +"/compute:beta/compute.targetHttpsProxies.insert": insert_target_https_proxy +"/compute:beta/compute.targetHttpsProxies.insert/project": project +"/compute:beta/compute.targetHttpsProxies.list": list_target_https_proxies +"/compute:beta/compute.targetHttpsProxies.list/filter": filter +"/compute:beta/compute.targetHttpsProxies.list/maxResults": max_results +"/compute:beta/compute.targetHttpsProxies.list/orderBy": order_by +"/compute:beta/compute.targetHttpsProxies.list/pageToken": page_token +"/compute:beta/compute.targetHttpsProxies.list/project": project +"/compute:beta/compute.targetHttpsProxies.setSslCertificates": set_target_https_proxy_ssl_certificates +"/compute:beta/compute.targetHttpsProxies.setSslCertificates/project": project +"/compute:beta/compute.targetHttpsProxies.setSslCertificates/targetHttpsProxy": target_https_proxy +"/compute:beta/compute.targetHttpsProxies.setUrlMap": set_target_https_proxy_url_map +"/compute:beta/compute.targetHttpsProxies.setUrlMap/project": project +"/compute:beta/compute.targetHttpsProxies.setUrlMap/targetHttpsProxy": target_https_proxy +"/compute:beta/compute.targetInstances.aggregatedList/filter": filter +"/compute:beta/compute.targetInstances.aggregatedList/maxResults": max_results +"/compute:beta/compute.targetInstances.aggregatedList/orderBy": order_by +"/compute:beta/compute.targetInstances.aggregatedList/pageToken": page_token +"/compute:beta/compute.targetInstances.aggregatedList/project": project +"/compute:beta/compute.targetInstances.delete": delete_target_instance +"/compute:beta/compute.targetInstances.delete/project": project +"/compute:beta/compute.targetInstances.delete/targetInstance": target_instance +"/compute:beta/compute.targetInstances.delete/zone": zone +"/compute:beta/compute.targetInstances.get": get_target_instance +"/compute:beta/compute.targetInstances.get/project": project +"/compute:beta/compute.targetInstances.get/targetInstance": target_instance +"/compute:beta/compute.targetInstances.get/zone": zone +"/compute:beta/compute.targetInstances.insert": insert_target_instance +"/compute:beta/compute.targetInstances.insert/project": project +"/compute:beta/compute.targetInstances.insert/zone": zone +"/compute:beta/compute.targetInstances.list": list_target_instances +"/compute:beta/compute.targetInstances.list/filter": filter +"/compute:beta/compute.targetInstances.list/maxResults": max_results +"/compute:beta/compute.targetInstances.list/orderBy": order_by +"/compute:beta/compute.targetInstances.list/pageToken": page_token +"/compute:beta/compute.targetInstances.list/project": project +"/compute:beta/compute.targetInstances.list/zone": zone +"/compute:beta/compute.targetPools.addHealthCheck/project": project +"/compute:beta/compute.targetPools.addHealthCheck/region": region +"/compute:beta/compute.targetPools.addHealthCheck/targetPool": target_pool +"/compute:beta/compute.targetPools.addInstance/project": project +"/compute:beta/compute.targetPools.addInstance/region": region +"/compute:beta/compute.targetPools.addInstance/targetPool": target_pool +"/compute:beta/compute.targetPools.aggregatedList/filter": filter +"/compute:beta/compute.targetPools.aggregatedList/maxResults": max_results +"/compute:beta/compute.targetPools.aggregatedList/orderBy": order_by +"/compute:beta/compute.targetPools.aggregatedList/pageToken": page_token +"/compute:beta/compute.targetPools.aggregatedList/project": project +"/compute:beta/compute.targetPools.delete": delete_target_pool +"/compute:beta/compute.targetPools.delete/project": project +"/compute:beta/compute.targetPools.delete/region": region +"/compute:beta/compute.targetPools.delete/targetPool": target_pool +"/compute:beta/compute.targetPools.get": get_target_pool +"/compute:beta/compute.targetPools.get/project": project +"/compute:beta/compute.targetPools.get/region": region +"/compute:beta/compute.targetPools.get/targetPool": target_pool +"/compute:beta/compute.targetPools.getHealth/project": project +"/compute:beta/compute.targetPools.getHealth/region": region +"/compute:beta/compute.targetPools.getHealth/targetPool": target_pool +"/compute:beta/compute.targetPools.insert": insert_target_pool +"/compute:beta/compute.targetPools.insert/project": project +"/compute:beta/compute.targetPools.insert/region": region +"/compute:beta/compute.targetPools.list": list_target_pools +"/compute:beta/compute.targetPools.list/filter": filter +"/compute:beta/compute.targetPools.list/maxResults": max_results +"/compute:beta/compute.targetPools.list/orderBy": order_by +"/compute:beta/compute.targetPools.list/pageToken": page_token +"/compute:beta/compute.targetPools.list/project": project +"/compute:beta/compute.targetPools.list/region": region +"/compute:beta/compute.targetPools.removeHealthCheck/project": project +"/compute:beta/compute.targetPools.removeHealthCheck/region": region +"/compute:beta/compute.targetPools.removeHealthCheck/targetPool": target_pool +"/compute:beta/compute.targetPools.removeInstance/project": project +"/compute:beta/compute.targetPools.removeInstance/region": region +"/compute:beta/compute.targetPools.removeInstance/targetPool": target_pool +"/compute:beta/compute.targetPools.setBackup/failoverRatio": failover_ratio +"/compute:beta/compute.targetPools.setBackup/project": project +"/compute:beta/compute.targetPools.setBackup/region": region +"/compute:beta/compute.targetPools.setBackup/targetPool": target_pool +"/compute:beta/compute.targetVpnGateways.aggregatedList/filter": filter +"/compute:beta/compute.targetVpnGateways.aggregatedList/maxResults": max_results +"/compute:beta/compute.targetVpnGateways.aggregatedList/orderBy": order_by +"/compute:beta/compute.targetVpnGateways.aggregatedList/pageToken": page_token +"/compute:beta/compute.targetVpnGateways.aggregatedList/project": project +"/compute:beta/compute.targetVpnGateways.delete/project": project +"/compute:beta/compute.targetVpnGateways.delete/region": region +"/compute:beta/compute.targetVpnGateways.delete/targetVpnGateway": target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.get/project": project +"/compute:beta/compute.targetVpnGateways.get/region": region +"/compute:beta/compute.targetVpnGateways.get/targetVpnGateway": target_vpn_gateway +"/compute:beta/compute.targetVpnGateways.insert/project": project +"/compute:beta/compute.targetVpnGateways.insert/region": region +"/compute:beta/compute.targetVpnGateways.list/filter": filter +"/compute:beta/compute.targetVpnGateways.list/maxResults": max_results +"/compute:beta/compute.targetVpnGateways.list/orderBy": order_by +"/compute:beta/compute.targetVpnGateways.list/pageToken": page_token +"/compute:beta/compute.targetVpnGateways.list/project": project +"/compute:beta/compute.targetVpnGateways.list/region": region +"/compute:beta/compute.urlMaps.delete": delete_url_map +"/compute:beta/compute.urlMaps.delete/project": project +"/compute:beta/compute.urlMaps.delete/urlMap": url_map +"/compute:beta/compute.urlMaps.get": get_url_map +"/compute:beta/compute.urlMaps.get/project": project +"/compute:beta/compute.urlMaps.get/urlMap": url_map +"/compute:beta/compute.urlMaps.insert": insert_url_map +"/compute:beta/compute.urlMaps.insert/project": project +"/compute:beta/compute.urlMaps.list": list_url_maps +"/compute:beta/compute.urlMaps.list/filter": filter +"/compute:beta/compute.urlMaps.list/maxResults": max_results +"/compute:beta/compute.urlMaps.list/orderBy": order_by +"/compute:beta/compute.urlMaps.list/pageToken": page_token +"/compute:beta/compute.urlMaps.list/project": project +"/compute:beta/compute.urlMaps.patch": patch_url_map +"/compute:beta/compute.urlMaps.patch/project": project +"/compute:beta/compute.urlMaps.patch/urlMap": url_map +"/compute:beta/compute.urlMaps.update": update_url_map +"/compute:beta/compute.urlMaps.update/project": project +"/compute:beta/compute.urlMaps.update/urlMap": url_map +"/compute:beta/compute.urlMaps.validate": validate_url_map +"/compute:beta/compute.urlMaps.validate/project": project +"/compute:beta/compute.urlMaps.validate/urlMap": url_map +"/compute:beta/compute.vpnTunnels.aggregatedList/filter": filter +"/compute:beta/compute.vpnTunnels.aggregatedList/maxResults": max_results +"/compute:beta/compute.vpnTunnels.aggregatedList/orderBy": order_by +"/compute:beta/compute.vpnTunnels.aggregatedList/pageToken": page_token +"/compute:beta/compute.vpnTunnels.aggregatedList/project": project +"/compute:beta/compute.vpnTunnels.delete": delete_vpn_tunnel +"/compute:beta/compute.vpnTunnels.delete/project": project +"/compute:beta/compute.vpnTunnels.delete/region": region +"/compute:beta/compute.vpnTunnels.delete/vpnTunnel": vpn_tunnel +"/compute:beta/compute.vpnTunnels.get": get_vpn_tunnel +"/compute:beta/compute.vpnTunnels.get/project": project +"/compute:beta/compute.vpnTunnels.get/region": region +"/compute:beta/compute.vpnTunnels.get/vpnTunnel": vpn_tunnel +"/compute:beta/compute.vpnTunnels.insert": insert_vpn_tunnel +"/compute:beta/compute.vpnTunnels.insert/project": project +"/compute:beta/compute.vpnTunnels.insert/region": region +"/compute:beta/compute.vpnTunnels.list": list_vpn_tunnels +"/compute:beta/compute.vpnTunnels.list/filter": filter +"/compute:beta/compute.vpnTunnels.list/maxResults": max_results +"/compute:beta/compute.vpnTunnels.list/orderBy": order_by +"/compute:beta/compute.vpnTunnels.list/pageToken": page_token +"/compute:beta/compute.vpnTunnels.list/project": project +"/compute:beta/compute.vpnTunnels.list/region": region +"/compute:beta/compute.zoneOperations.delete": delete_zone_operation +"/compute:beta/compute.zoneOperations.delete/operation": operation +"/compute:beta/compute.zoneOperations.delete/project": project +"/compute:beta/compute.zoneOperations.delete/zone": zone +"/compute:beta/compute.zoneOperations.get": get_zone_operation +"/compute:beta/compute.zoneOperations.get/operation": operation +"/compute:beta/compute.zoneOperations.get/project": project +"/compute:beta/compute.zoneOperations.get/zone": zone +"/compute:beta/compute.zoneOperations.list": list_zone_operations +"/compute:beta/compute.zoneOperations.list/filter": filter +"/compute:beta/compute.zoneOperations.list/maxResults": max_results +"/compute:beta/compute.zoneOperations.list/orderBy": order_by +"/compute:beta/compute.zoneOperations.list/pageToken": page_token +"/compute:beta/compute.zoneOperations.list/project": project +"/compute:beta/compute.zoneOperations.list/zone": zone +"/compute:beta/compute.zones.get": get_zone +"/compute:beta/compute.zones.get/project": project +"/compute:beta/compute.zones.get/zone": zone +"/compute:beta/compute.zones.list": list_zones +"/compute:beta/compute.zones.list/filter": filter +"/compute:beta/compute.zones.list/maxResults": max_results +"/compute:beta/compute.zones.list/orderBy": order_by +"/compute:beta/compute.zones.list/pageToken": page_token +"/compute:beta/compute.zones.list/project": project +"/compute:beta/AccessConfig": access_config +"/compute:beta/AccessConfig/kind": kind +"/compute:beta/AccessConfig/name": name +"/compute:beta/AccessConfig/natIP": nat_ip +"/compute:beta/AccessConfig/type": type +"/compute:beta/Address": address +"/compute:beta/Address/address": address +"/compute:beta/Address/creationTimestamp": creation_timestamp +"/compute:beta/Address/description": description +"/compute:beta/Address/id": id +"/compute:beta/Address/kind": kind +"/compute:beta/Address/name": name +"/compute:beta/Address/region": region +"/compute:beta/Address/selfLink": self_link +"/compute:beta/Address/status": status +"/compute:beta/Address/users": users +"/compute:beta/Address/users/user": user +"/compute:beta/AddressAggregatedList": address_aggregated_list +"/compute:beta/AddressAggregatedList/id": id +"/compute:beta/AddressAggregatedList/items": items +"/compute:beta/AddressAggregatedList/items/item": item +"/compute:beta/AddressAggregatedList/kind": kind +"/compute:beta/AddressAggregatedList/nextPageToken": next_page_token +"/compute:beta/AddressAggregatedList/selfLink": self_link +"/compute:beta/AddressList": address_list +"/compute:beta/AddressList/id": id +"/compute:beta/AddressList/items": items +"/compute:beta/AddressList/items/item": item +"/compute:beta/AddressList/kind": kind +"/compute:beta/AddressList/nextPageToken": next_page_token +"/compute:beta/AddressList/selfLink": self_link +"/compute:beta/AddressesScopedList": addresses_scoped_list +"/compute:beta/AddressesScopedList/addresses": addresses +"/compute:beta/AddressesScopedList/addresses/address": address +"/compute:beta/AddressesScopedList/warning": warning +"/compute:beta/AddressesScopedList/warning/code": code +"/compute:beta/AddressesScopedList/warning/data": data +"/compute:beta/AddressesScopedList/warning/data/datum": datum +"/compute:beta/AddressesScopedList/warning/data/datum/key": key +"/compute:beta/AddressesScopedList/warning/data/datum/value": value +"/compute:beta/AddressesScopedList/warning/message": message +"/compute:beta/AttachedDisk": attached_disk +"/compute:beta/AttachedDisk/autoDelete": auto_delete +"/compute:beta/AttachedDisk/boot": boot +"/compute:beta/AttachedDisk/deviceName": device_name +"/compute:beta/AttachedDisk/diskEncryptionKey": disk_encryption_key +"/compute:beta/AttachedDisk/index": index +"/compute:beta/AttachedDisk/initializeParams": initialize_params +"/compute:beta/AttachedDisk/interface": interface +"/compute:beta/AttachedDisk/kind": kind +"/compute:beta/AttachedDisk/licenses": licenses +"/compute:beta/AttachedDisk/licenses/license": license +"/compute:beta/AttachedDisk/mode": mode +"/compute:beta/AttachedDisk/source": source +"/compute:beta/AttachedDisk/type": type +"/compute:beta/AttachedDiskInitializeParams": attached_disk_initialize_params +"/compute:beta/AttachedDiskInitializeParams/diskName": disk_name +"/compute:beta/AttachedDiskInitializeParams/diskSizeGb": disk_size_gb +"/compute:beta/AttachedDiskInitializeParams/diskStorageType": disk_storage_type +"/compute:beta/AttachedDiskInitializeParams/diskType": disk_type +"/compute:beta/AttachedDiskInitializeParams/sourceImage": source_image +"/compute:beta/AttachedDiskInitializeParams/sourceImageEncryptionKey": source_image_encryption_key +"/compute:beta/Autoscaler": autoscaler +"/compute:beta/Autoscaler/autoscalingPolicy": autoscaling_policy +"/compute:beta/Autoscaler/creationTimestamp": creation_timestamp +"/compute:beta/Autoscaler/description": description +"/compute:beta/Autoscaler/id": id +"/compute:beta/Autoscaler/kind": kind +"/compute:beta/Autoscaler/name": name +"/compute:beta/Autoscaler/selfLink": self_link +"/compute:beta/Autoscaler/target": target +"/compute:beta/Autoscaler/zone": zone +"/compute:beta/AutoscalerAggregatedList": autoscaler_aggregated_list +"/compute:beta/AutoscalerAggregatedList/id": id +"/compute:beta/AutoscalerAggregatedList/items": items +"/compute:beta/AutoscalerAggregatedList/items/item": item +"/compute:beta/AutoscalerAggregatedList/kind": kind +"/compute:beta/AutoscalerAggregatedList/nextPageToken": next_page_token +"/compute:beta/AutoscalerAggregatedList/selfLink": self_link +"/compute:beta/AutoscalerList": autoscaler_list +"/compute:beta/AutoscalerList/id": id +"/compute:beta/AutoscalerList/items": items +"/compute:beta/AutoscalerList/items/item": item +"/compute:beta/AutoscalerList/kind": kind +"/compute:beta/AutoscalerList/nextPageToken": next_page_token +"/compute:beta/AutoscalerList/selfLink": self_link +"/compute:beta/AutoscalersScopedList": autoscalers_scoped_list +"/compute:beta/AutoscalersScopedList/autoscalers": autoscalers +"/compute:beta/AutoscalersScopedList/autoscalers/autoscaler": autoscaler +"/compute:beta/AutoscalersScopedList/warning": warning +"/compute:beta/AutoscalersScopedList/warning/code": code +"/compute:beta/AutoscalersScopedList/warning/data": data +"/compute:beta/AutoscalersScopedList/warning/data/datum": datum +"/compute:beta/AutoscalersScopedList/warning/data/datum/key": key +"/compute:beta/AutoscalersScopedList/warning/data/datum/value": value +"/compute:beta/AutoscalersScopedList/warning/message": message +"/compute:beta/AutoscalingPolicy": autoscaling_policy +"/compute:beta/AutoscalingPolicy/coolDownPeriodSec": cool_down_period_sec +"/compute:beta/AutoscalingPolicy/cpuUtilization": cpu_utilization +"/compute:beta/AutoscalingPolicy/customMetricUtilizations": custom_metric_utilizations +"/compute:beta/AutoscalingPolicy/customMetricUtilizations/custom_metric_utilization": custom_metric_utilization +"/compute:beta/AutoscalingPolicy/loadBalancingUtilization": load_balancing_utilization +"/compute:beta/AutoscalingPolicy/maxNumReplicas": max_num_replicas +"/compute:beta/AutoscalingPolicy/minNumReplicas": min_num_replicas +"/compute:beta/AutoscalingPolicyCpuUtilization": autoscaling_policy_cpu_utilization +"/compute:beta/AutoscalingPolicyCpuUtilization/utilizationTarget": utilization_target +"/compute:beta/AutoscalingPolicyCustomMetricUtilization": autoscaling_policy_custom_metric_utilization +"/compute:beta/AutoscalingPolicyCustomMetricUtilization/metric": metric +"/compute:beta/AutoscalingPolicyCustomMetricUtilization/utilizationTarget": utilization_target +"/compute:beta/AutoscalingPolicyCustomMetricUtilization/utilizationTargetType": utilization_target_type +"/compute:beta/AutoscalingPolicyLoadBalancingUtilization": autoscaling_policy_load_balancing_utilization +"/compute:beta/AutoscalingPolicyLoadBalancingUtilization/utilizationTarget": utilization_target +"/compute:beta/Backend": backend +"/compute:beta/Backend/balancingMode": balancing_mode +"/compute:beta/Backend/capacityScaler": capacity_scaler +"/compute:beta/Backend/description": description +"/compute:beta/Backend/group": group +"/compute:beta/Backend/maxRate": max_rate +"/compute:beta/Backend/maxRatePerInstance": max_rate_per_instance +"/compute:beta/Backend/maxUtilization": max_utilization +"/compute:beta/BackendService": backend_service +"/compute:beta/BackendService/backends": backends +"/compute:beta/BackendService/backends/backend": backend +"/compute:beta/BackendService/creationTimestamp": creation_timestamp +"/compute:beta/BackendService/description": description +"/compute:beta/BackendService/fingerprint": fingerprint +"/compute:beta/BackendService/healthChecks": health_checks +"/compute:beta/BackendService/healthChecks/health_check": health_check +"/compute:beta/BackendService/id": id +"/compute:beta/BackendService/kind": kind +"/compute:beta/BackendService/name": name +"/compute:beta/BackendService/port": port +"/compute:beta/BackendService/portName": port_name +"/compute:beta/BackendService/protocol": protocol +"/compute:beta/BackendService/selfLink": self_link +"/compute:beta/BackendService/timeoutSec": timeout_sec +"/compute:beta/BackendServiceGroupHealth": backend_service_group_health +"/compute:beta/BackendServiceGroupHealth/healthStatus": health_status +"/compute:beta/BackendServiceGroupHealth/healthStatus/health_status": health_status +"/compute:beta/BackendServiceGroupHealth/kind": kind +"/compute:beta/BackendServiceList": backend_service_list +"/compute:beta/BackendServiceList/id": id +"/compute:beta/BackendServiceList/items": items +"/compute:beta/BackendServiceList/items/item": item +"/compute:beta/BackendServiceList/kind": kind +"/compute:beta/BackendServiceList/nextPageToken": next_page_token +"/compute:beta/BackendServiceList/selfLink": self_link +"/compute:beta/CustomerEncryptionKey": customer_encryption_key +"/compute:beta/CustomerEncryptionKey/rawKey": raw_key +"/compute:beta/CustomerEncryptionKey/rsaEncryptedKey": rsa_encrypted_key +"/compute:beta/CustomerEncryptionKey/sha256": sha256 +"/compute:beta/DeprecationStatus": deprecation_status +"/compute:beta/DeprecationStatus/deleted": deleted +"/compute:beta/DeprecationStatus/deprecated": deprecated +"/compute:beta/DeprecationStatus/obsolete": obsolete +"/compute:beta/DeprecationStatus/replacement": replacement +"/compute:beta/DeprecationStatus/state": state +"/compute:beta/Disk": disk +"/compute:beta/Disk/creationTimestamp": creation_timestamp +"/compute:beta/Disk/description": description +"/compute:beta/Disk/diskEncryptionKey": disk_encryption_key +"/compute:beta/Disk/id": id +"/compute:beta/Disk/kind": kind +"/compute:beta/Disk/lastAttachTimestamp": last_attach_timestamp +"/compute:beta/Disk/lastDetachTimestamp": last_detach_timestamp +"/compute:beta/Disk/licenses": licenses +"/compute:beta/Disk/licenses/license": license +"/compute:beta/Disk/name": name +"/compute:beta/Disk/options": options +"/compute:beta/Disk/selfLink": self_link +"/compute:beta/Disk/sizeGb": size_gb +"/compute:beta/Disk/sourceImage": source_image +"/compute:beta/Disk/sourceImageEncryptionKey": source_image_encryption_key +"/compute:beta/Disk/sourceImageId": source_image_id +"/compute:beta/Disk/sourceSnapshot": source_snapshot +"/compute:beta/Disk/sourceSnapshotEncryptionKey": source_snapshot_encryption_key +"/compute:beta/Disk/sourceSnapshotId": source_snapshot_id +"/compute:beta/Disk/status": status +"/compute:beta/Disk/storageType": storage_type +"/compute:beta/Disk/type": type +"/compute:beta/Disk/users": users +"/compute:beta/Disk/users/user": user +"/compute:beta/Disk/zone": zone +"/compute:beta/DiskAggregatedList": disk_aggregated_list +"/compute:beta/DiskAggregatedList/id": id +"/compute:beta/DiskAggregatedList/items": items +"/compute:beta/DiskAggregatedList/items/item": item +"/compute:beta/DiskAggregatedList/kind": kind +"/compute:beta/DiskAggregatedList/nextPageToken": next_page_token +"/compute:beta/DiskAggregatedList/selfLink": self_link +"/compute:beta/DiskList": disk_list +"/compute:beta/DiskList/id": id +"/compute:beta/DiskList/items": items +"/compute:beta/DiskList/items/item": item +"/compute:beta/DiskList/kind": kind +"/compute:beta/DiskList/nextPageToken": next_page_token +"/compute:beta/DiskList/selfLink": self_link +"/compute:beta/DiskType": disk_type +"/compute:beta/DiskType/creationTimestamp": creation_timestamp +"/compute:beta/DiskType/defaultDiskSizeGb": default_disk_size_gb +"/compute:beta/DiskType/deprecated": deprecated +"/compute:beta/DiskType/description": description +"/compute:beta/DiskType/id": id +"/compute:beta/DiskType/kind": kind +"/compute:beta/DiskType/name": name +"/compute:beta/DiskType/selfLink": self_link +"/compute:beta/DiskType/validDiskSize": valid_disk_size +"/compute:beta/DiskType/zone": zone +"/compute:beta/DiskTypeAggregatedList": disk_type_aggregated_list +"/compute:beta/DiskTypeAggregatedList/id": id +"/compute:beta/DiskTypeAggregatedList/items": items +"/compute:beta/DiskTypeAggregatedList/items/item": item +"/compute:beta/DiskTypeAggregatedList/kind": kind +"/compute:beta/DiskTypeAggregatedList/nextPageToken": next_page_token +"/compute:beta/DiskTypeAggregatedList/selfLink": self_link +"/compute:beta/DiskTypeList": disk_type_list +"/compute:beta/DiskTypeList/id": id +"/compute:beta/DiskTypeList/items": items +"/compute:beta/DiskTypeList/items/item": item +"/compute:beta/DiskTypeList/kind": kind +"/compute:beta/DiskTypeList/nextPageToken": next_page_token +"/compute:beta/DiskTypeList/selfLink": self_link +"/compute:beta/DiskTypesScopedList": disk_types_scoped_list +"/compute:beta/DiskTypesScopedList/diskTypes": disk_types +"/compute:beta/DiskTypesScopedList/diskTypes/disk_type": disk_type +"/compute:beta/DiskTypesScopedList/warning": warning +"/compute:beta/DiskTypesScopedList/warning/code": code +"/compute:beta/DiskTypesScopedList/warning/data": data +"/compute:beta/DiskTypesScopedList/warning/data/datum": datum +"/compute:beta/DiskTypesScopedList/warning/data/datum/key": key +"/compute:beta/DiskTypesScopedList/warning/data/datum/value": value +"/compute:beta/DiskTypesScopedList/warning/message": message +"/compute:beta/DisksResizeRequest": disks_resize_request +"/compute:beta/DisksResizeRequest/sizeGb": size_gb +"/compute:beta/DisksScopedList": disks_scoped_list +"/compute:beta/DisksScopedList/disks": disks +"/compute:beta/DisksScopedList/disks/disk": disk +"/compute:beta/DisksScopedList/warning": warning +"/compute:beta/DisksScopedList/warning/code": code +"/compute:beta/DisksScopedList/warning/data": data +"/compute:beta/DisksScopedList/warning/data/datum": datum +"/compute:beta/DisksScopedList/warning/data/datum/key": key +"/compute:beta/DisksScopedList/warning/data/datum/value": value +"/compute:beta/DisksScopedList/warning/message": message +"/compute:beta/Firewall": firewall +"/compute:beta/Firewall/allowed": allowed +"/compute:beta/Firewall/allowed/allowed": allowed +"/compute:beta/Firewall/allowed/allowed/IPProtocol": ip_protocol +"/compute:beta/Firewall/allowed/allowed/ports": ports +"/compute:beta/Firewall/allowed/allowed/ports/port": port +"/compute:beta/Firewall/creationTimestamp": creation_timestamp +"/compute:beta/Firewall/description": description +"/compute:beta/Firewall/id": id +"/compute:beta/Firewall/kind": kind +"/compute:beta/Firewall/name": name +"/compute:beta/Firewall/network": network +"/compute:beta/Firewall/selfLink": self_link +"/compute:beta/Firewall/sourceRanges": source_ranges +"/compute:beta/Firewall/sourceRanges/source_range": source_range +"/compute:beta/Firewall/sourceTags": source_tags +"/compute:beta/Firewall/sourceTags/source_tag": source_tag +"/compute:beta/Firewall/targetTags": target_tags +"/compute:beta/Firewall/targetTags/target_tag": target_tag +"/compute:beta/FirewallList": firewall_list +"/compute:beta/FirewallList/id": id +"/compute:beta/FirewallList/items": items +"/compute:beta/FirewallList/items/item": item +"/compute:beta/FirewallList/kind": kind +"/compute:beta/FirewallList/nextPageToken": next_page_token +"/compute:beta/FirewallList/selfLink": self_link +"/compute:beta/ForwardingRule": forwarding_rule +"/compute:beta/ForwardingRule/IPAddress": ip_address +"/compute:beta/ForwardingRule/IPProtocol": ip_protocol +"/compute:beta/ForwardingRule/creationTimestamp": creation_timestamp +"/compute:beta/ForwardingRule/description": description +"/compute:beta/ForwardingRule/id": id +"/compute:beta/ForwardingRule/kind": kind +"/compute:beta/ForwardingRule/name": name +"/compute:beta/ForwardingRule/portRange": port_range +"/compute:beta/ForwardingRule/region": region +"/compute:beta/ForwardingRule/selfLink": self_link +"/compute:beta/ForwardingRule/target": target +"/compute:beta/ForwardingRuleAggregatedList": forwarding_rule_aggregated_list +"/compute:beta/ForwardingRuleAggregatedList/id": id +"/compute:beta/ForwardingRuleAggregatedList/items": items +"/compute:beta/ForwardingRuleAggregatedList/items/item": item +"/compute:beta/ForwardingRuleAggregatedList/kind": kind +"/compute:beta/ForwardingRuleAggregatedList/nextPageToken": next_page_token +"/compute:beta/ForwardingRuleAggregatedList/selfLink": self_link +"/compute:beta/ForwardingRuleList": forwarding_rule_list +"/compute:beta/ForwardingRuleList/id": id +"/compute:beta/ForwardingRuleList/items": items +"/compute:beta/ForwardingRuleList/items/item": item +"/compute:beta/ForwardingRuleList/kind": kind +"/compute:beta/ForwardingRuleList/nextPageToken": next_page_token +"/compute:beta/ForwardingRuleList/selfLink": self_link +"/compute:beta/ForwardingRulesScopedList": forwarding_rules_scoped_list +"/compute:beta/ForwardingRulesScopedList/forwardingRules": forwarding_rules +"/compute:beta/ForwardingRulesScopedList/forwardingRules/forwarding_rule": forwarding_rule +"/compute:beta/ForwardingRulesScopedList/warning": warning +"/compute:beta/ForwardingRulesScopedList/warning/code": code +"/compute:beta/ForwardingRulesScopedList/warning/data": data +"/compute:beta/ForwardingRulesScopedList/warning/data/datum": datum +"/compute:beta/ForwardingRulesScopedList/warning/data/datum/key": key +"/compute:beta/ForwardingRulesScopedList/warning/data/datum/value": value +"/compute:beta/ForwardingRulesScopedList/warning/message": message +"/compute:beta/HealthCheckReference": health_check_reference +"/compute:beta/HealthCheckReference/healthCheck": health_check +"/compute:beta/HealthStatus": health_status +"/compute:beta/HealthStatus/healthState": health_state +"/compute:beta/HealthStatus/instance": instance +"/compute:beta/HealthStatus/ipAddress": ip_address +"/compute:beta/HealthStatus/port": port +"/compute:beta/HostRule": host_rule +"/compute:beta/HostRule/description": description +"/compute:beta/HostRule/hosts": hosts +"/compute:beta/HostRule/hosts/host": host +"/compute:beta/HostRule/pathMatcher": path_matcher +"/compute:beta/HttpHealthCheck": http_health_check +"/compute:beta/HttpHealthCheck/checkIntervalSec": check_interval_sec +"/compute:beta/HttpHealthCheck/creationTimestamp": creation_timestamp +"/compute:beta/HttpHealthCheck/description": description +"/compute:beta/HttpHealthCheck/healthyThreshold": healthy_threshold +"/compute:beta/HttpHealthCheck/host": host +"/compute:beta/HttpHealthCheck/id": id +"/compute:beta/HttpHealthCheck/kind": kind +"/compute:beta/HttpHealthCheck/name": name +"/compute:beta/HttpHealthCheck/port": port +"/compute:beta/HttpHealthCheck/requestPath": request_path +"/compute:beta/HttpHealthCheck/selfLink": self_link +"/compute:beta/HttpHealthCheck/timeoutSec": timeout_sec +"/compute:beta/HttpHealthCheck/unhealthyThreshold": unhealthy_threshold +"/compute:beta/HttpHealthCheckList": http_health_check_list +"/compute:beta/HttpHealthCheckList/id": id +"/compute:beta/HttpHealthCheckList/items": items +"/compute:beta/HttpHealthCheckList/items/item": item +"/compute:beta/HttpHealthCheckList/kind": kind +"/compute:beta/HttpHealthCheckList/nextPageToken": next_page_token +"/compute:beta/HttpHealthCheckList/selfLink": self_link +"/compute:beta/HttpsHealthCheck": https_health_check +"/compute:beta/HttpsHealthCheck/checkIntervalSec": check_interval_sec +"/compute:beta/HttpsHealthCheck/creationTimestamp": creation_timestamp +"/compute:beta/HttpsHealthCheck/description": description +"/compute:beta/HttpsHealthCheck/healthyThreshold": healthy_threshold +"/compute:beta/HttpsHealthCheck/host": host +"/compute:beta/HttpsHealthCheck/id": id +"/compute:beta/HttpsHealthCheck/kind": kind +"/compute:beta/HttpsHealthCheck/name": name +"/compute:beta/HttpsHealthCheck/port": port +"/compute:beta/HttpsHealthCheck/requestPath": request_path +"/compute:beta/HttpsHealthCheck/selfLink": self_link +"/compute:beta/HttpsHealthCheck/timeoutSec": timeout_sec +"/compute:beta/HttpsHealthCheck/unhealthyThreshold": unhealthy_threshold +"/compute:beta/HttpsHealthCheckList": https_health_check_list +"/compute:beta/HttpsHealthCheckList/id": id +"/compute:beta/HttpsHealthCheckList/items": items +"/compute:beta/HttpsHealthCheckList/items/item": item +"/compute:beta/HttpsHealthCheckList/kind": kind +"/compute:beta/HttpsHealthCheckList/nextPageToken": next_page_token +"/compute:beta/HttpsHealthCheckList/selfLink": self_link +"/compute:beta/Image": image +"/compute:beta/Image/archiveSizeBytes": archive_size_bytes +"/compute:beta/Image/creationTimestamp": creation_timestamp +"/compute:beta/Image/deprecated": deprecated +"/compute:beta/Image/description": description +"/compute:beta/Image/diskSizeGb": disk_size_gb +"/compute:beta/Image/id": id +"/compute:beta/Image/imageEncryptionKey": image_encryption_key +"/compute:beta/Image/kind": kind +"/compute:beta/Image/licenses": licenses +"/compute:beta/Image/licenses/license": license +"/compute:beta/Image/name": name +"/compute:beta/Image/rawDisk": raw_disk +"/compute:beta/Image/rawDisk/containerType": container_type +"/compute:beta/Image/rawDisk/sha1Checksum": sha1_checksum +"/compute:beta/Image/rawDisk/source": source +"/compute:beta/Image/selfLink": self_link +"/compute:beta/Image/sourceDisk": source_disk +"/compute:beta/Image/sourceDiskEncryptionKey": source_disk_encryption_key +"/compute:beta/Image/sourceDiskId": source_disk_id +"/compute:beta/Image/sourceType": source_type +"/compute:beta/Image/status": status +"/compute:beta/ImageList": image_list +"/compute:beta/ImageList/id": id +"/compute:beta/ImageList/items": items +"/compute:beta/ImageList/items/item": item +"/compute:beta/ImageList/kind": kind +"/compute:beta/ImageList/nextPageToken": next_page_token +"/compute:beta/ImageList/selfLink": self_link +"/compute:beta/Instance": instance +"/compute:beta/Instance/canIpForward": can_ip_forward +"/compute:beta/Instance/cpuPlatform": cpu_platform +"/compute:beta/Instance/creationTimestamp": creation_timestamp +"/compute:beta/Instance/description": description +"/compute:beta/Instance/disks": disks +"/compute:beta/Instance/disks/disk": disk +"/compute:beta/Instance/id": id +"/compute:beta/Instance/kind": kind +"/compute:beta/Instance/labelFingerprint": label_fingerprint +"/compute:beta/Instance/labels": labels +"/compute:beta/Instance/labels/label": label +"/compute:beta/Instance/machineType": machine_type +"/compute:beta/Instance/metadata": metadata +"/compute:beta/Instance/name": name +"/compute:beta/Instance/networkInterfaces": network_interfaces +"/compute:beta/Instance/networkInterfaces/network_interface": network_interface +"/compute:beta/Instance/scheduling": scheduling +"/compute:beta/Instance/selfLink": self_link +"/compute:beta/Instance/serviceAccounts": service_accounts +"/compute:beta/Instance/serviceAccounts/service_account": service_account +"/compute:beta/Instance/status": status +"/compute:beta/Instance/statusMessage": status_message +"/compute:beta/Instance/tags": tags +"/compute:beta/Instance/zone": zone +"/compute:beta/InstanceAggregatedList": instance_aggregated_list +"/compute:beta/InstanceAggregatedList/id": id +"/compute:beta/InstanceAggregatedList/items": items +"/compute:beta/InstanceAggregatedList/items/item": item +"/compute:beta/InstanceAggregatedList/kind": kind +"/compute:beta/InstanceAggregatedList/nextPageToken": next_page_token +"/compute:beta/InstanceAggregatedList/selfLink": self_link +"/compute:beta/InstanceGroup": instance_group +"/compute:beta/InstanceGroup/creationTimestamp": creation_timestamp +"/compute:beta/InstanceGroup/description": description +"/compute:beta/InstanceGroup/fingerprint": fingerprint +"/compute:beta/InstanceGroup/id": id +"/compute:beta/InstanceGroup/kind": kind +"/compute:beta/InstanceGroup/name": name +"/compute:beta/InstanceGroup/namedPorts": named_ports +"/compute:beta/InstanceGroup/namedPorts/named_port": named_port +"/compute:beta/InstanceGroup/network": network +"/compute:beta/InstanceGroup/selfLink": self_link +"/compute:beta/InstanceGroup/size": size +"/compute:beta/InstanceGroup/zone": zone +"/compute:beta/InstanceGroupAggregatedList": instance_group_aggregated_list +"/compute:beta/InstanceGroupAggregatedList/id": id +"/compute:beta/InstanceGroupAggregatedList/items": items +"/compute:beta/InstanceGroupAggregatedList/items/item": item +"/compute:beta/InstanceGroupAggregatedList/kind": kind +"/compute:beta/InstanceGroupAggregatedList/nextPageToken": next_page_token +"/compute:beta/InstanceGroupAggregatedList/selfLink": self_link +"/compute:beta/InstanceGroupList": instance_group_list +"/compute:beta/InstanceGroupList/id": id +"/compute:beta/InstanceGroupList/items": items +"/compute:beta/InstanceGroupList/items/item": item +"/compute:beta/InstanceGroupList/kind": kind +"/compute:beta/InstanceGroupList/nextPageToken": next_page_token +"/compute:beta/InstanceGroupList/selfLink": self_link +"/compute:beta/InstanceGroupManager": instance_group_manager +"/compute:beta/InstanceGroupManager/autoHealingPolicies": auto_healing_policies +"/compute:beta/InstanceGroupManager/autoHealingPolicies/auto_healing_policy": auto_healing_policy +"/compute:beta/InstanceGroupManager/baseInstanceName": base_instance_name +"/compute:beta/InstanceGroupManager/creationTimestamp": creation_timestamp +"/compute:beta/InstanceGroupManager/currentActions": current_actions +"/compute:beta/InstanceGroupManager/description": description +"/compute:beta/InstanceGroupManager/fingerprint": fingerprint +"/compute:beta/InstanceGroupManager/id": id +"/compute:beta/InstanceGroupManager/instanceGroup": instance_group +"/compute:beta/InstanceGroupManager/instanceTemplate": instance_template +"/compute:beta/InstanceGroupManager/kind": kind +"/compute:beta/InstanceGroupManager/name": name +"/compute:beta/InstanceGroupManager/namedPorts": named_ports +"/compute:beta/InstanceGroupManager/namedPorts/named_port": named_port +"/compute:beta/InstanceGroupManager/selfLink": self_link +"/compute:beta/InstanceGroupManager/targetPools": target_pools +"/compute:beta/InstanceGroupManager/targetPools/target_pool": target_pool +"/compute:beta/InstanceGroupManager/targetSize": target_size +"/compute:beta/InstanceGroupManager/zone": zone +"/compute:beta/InstanceGroupManagerActionsSummary": instance_group_manager_actions_summary +"/compute:beta/InstanceGroupManagerActionsSummary/abandoning": abandoning +"/compute:beta/InstanceGroupManagerActionsSummary/creating": creating +"/compute:beta/InstanceGroupManagerActionsSummary/deleting": deleting +"/compute:beta/InstanceGroupManagerActionsSummary/none": none +"/compute:beta/InstanceGroupManagerActionsSummary/recreating": recreating +"/compute:beta/InstanceGroupManagerActionsSummary/refreshing": refreshing +"/compute:beta/InstanceGroupManagerActionsSummary/restarting": restarting +"/compute:beta/InstanceGroupManagerAggregatedList": instance_group_manager_aggregated_list +"/compute:beta/InstanceGroupManagerAggregatedList/id": id +"/compute:beta/InstanceGroupManagerAggregatedList/items": items +"/compute:beta/InstanceGroupManagerAggregatedList/items/item": item +"/compute:beta/InstanceGroupManagerAggregatedList/kind": kind +"/compute:beta/InstanceGroupManagerAggregatedList/nextPageToken": next_page_token +"/compute:beta/InstanceGroupManagerAggregatedList/selfLink": self_link +"/compute:beta/InstanceGroupManagerAutoHealingPolicy": instance_group_manager_auto_healing_policy +"/compute:beta/InstanceGroupManagerAutoHealingPolicy/healthCheck": health_check +"/compute:beta/InstanceGroupManagerAutoHealingPolicy/initialDelaySec": initial_delay_sec +"/compute:beta/InstanceGroupManagerList": instance_group_manager_list +"/compute:beta/InstanceGroupManagerList/id": id +"/compute:beta/InstanceGroupManagerList/items": items +"/compute:beta/InstanceGroupManagerList/items/item": item +"/compute:beta/InstanceGroupManagerList/kind": kind +"/compute:beta/InstanceGroupManagerList/nextPageToken": next_page_token +"/compute:beta/InstanceGroupManagerList/selfLink": self_link +"/compute:beta/InstanceGroupManagersAbandonInstancesRequest": instance_group_managers_abandon_instances_request +"/compute:beta/InstanceGroupManagersAbandonInstancesRequest/instances": instances +"/compute:beta/InstanceGroupManagersAbandonInstancesRequest/instances/instance": instance +"/compute:beta/InstanceGroupManagersDeleteInstancesRequest": instance_group_managers_delete_instances_request +"/compute:beta/InstanceGroupManagersDeleteInstancesRequest/instances": instances +"/compute:beta/InstanceGroupManagersDeleteInstancesRequest/instances/instance": instance +"/compute:beta/InstanceGroupManagersListManagedInstancesResponse": instance_group_managers_list_managed_instances_response +"/compute:beta/InstanceGroupManagersListManagedInstancesResponse/managedInstances": managed_instances +"/compute:beta/InstanceGroupManagersListManagedInstancesResponse/managedInstances/managed_instance": managed_instance +"/compute:beta/InstanceGroupManagersRecreateInstancesRequest": instance_group_managers_recreate_instances_request +"/compute:beta/InstanceGroupManagersRecreateInstancesRequest/instances": instances +"/compute:beta/InstanceGroupManagersRecreateInstancesRequest/instances/instance": instance +"/compute:beta/InstanceGroupManagersScopedList": instance_group_managers_scoped_list +"/compute:beta/InstanceGroupManagersScopedList/instanceGroupManagers": instance_group_managers +"/compute:beta/InstanceGroupManagersScopedList/instanceGroupManagers/instance_group_manager": instance_group_manager +"/compute:beta/InstanceGroupManagersScopedList/warning": warning +"/compute:beta/InstanceGroupManagersScopedList/warning/code": code +"/compute:beta/InstanceGroupManagersScopedList/warning/data": data +"/compute:beta/InstanceGroupManagersScopedList/warning/data/datum": datum +"/compute:beta/InstanceGroupManagersScopedList/warning/data/datum/key": key +"/compute:beta/InstanceGroupManagersScopedList/warning/data/datum/value": value +"/compute:beta/InstanceGroupManagersScopedList/warning/message": message +"/compute:beta/InstanceGroupManagersSetAutoHealingRequest": instance_group_managers_set_auto_healing_request +"/compute:beta/InstanceGroupManagersSetAutoHealingRequest/autoHealingPolicies": auto_healing_policies +"/compute:beta/InstanceGroupManagersSetAutoHealingRequest/autoHealingPolicies/auto_healing_policy": auto_healing_policy +"/compute:beta/InstanceGroupManagersSetInstanceTemplateRequest": instance_group_managers_set_instance_template_request +"/compute:beta/InstanceGroupManagersSetInstanceTemplateRequest/instanceTemplate": instance_template +"/compute:beta/InstanceGroupManagersSetTargetPoolsRequest": instance_group_managers_set_target_pools_request +"/compute:beta/InstanceGroupManagersSetTargetPoolsRequest/fingerprint": fingerprint +"/compute:beta/InstanceGroupManagersSetTargetPoolsRequest/targetPools": target_pools +"/compute:beta/InstanceGroupManagersSetTargetPoolsRequest/targetPools/target_pool": target_pool +"/compute:beta/InstanceGroupsAddInstancesRequest": instance_groups_add_instances_request +"/compute:beta/InstanceGroupsAddInstancesRequest/instances": instances +"/compute:beta/InstanceGroupsAddInstancesRequest/instances/instance": instance +"/compute:beta/InstanceGroupsListInstances": instance_groups_list_instances +"/compute:beta/InstanceGroupsListInstances/id": id +"/compute:beta/InstanceGroupsListInstances/items": items +"/compute:beta/InstanceGroupsListInstances/items/item": item +"/compute:beta/InstanceGroupsListInstances/kind": kind +"/compute:beta/InstanceGroupsListInstances/nextPageToken": next_page_token +"/compute:beta/InstanceGroupsListInstances/selfLink": self_link +"/compute:beta/InstanceGroupsListInstancesRequest": instance_groups_list_instances_request +"/compute:beta/InstanceGroupsListInstancesRequest/instanceState": instance_state +"/compute:beta/InstanceGroupsRemoveInstancesRequest": instance_groups_remove_instances_request +"/compute:beta/InstanceGroupsRemoveInstancesRequest/instances": instances +"/compute:beta/InstanceGroupsRemoveInstancesRequest/instances/instance": instance +"/compute:beta/InstanceGroupsScopedList": instance_groups_scoped_list +"/compute:beta/InstanceGroupsScopedList/instanceGroups": instance_groups +"/compute:beta/InstanceGroupsScopedList/instanceGroups/instance_group": instance_group +"/compute:beta/InstanceGroupsScopedList/warning": warning +"/compute:beta/InstanceGroupsScopedList/warning/code": code +"/compute:beta/InstanceGroupsScopedList/warning/data": data +"/compute:beta/InstanceGroupsScopedList/warning/data/datum": datum +"/compute:beta/InstanceGroupsScopedList/warning/data/datum/key": key +"/compute:beta/InstanceGroupsScopedList/warning/data/datum/value": value +"/compute:beta/InstanceGroupsScopedList/warning/message": message +"/compute:beta/InstanceGroupsSetNamedPortsRequest": instance_groups_set_named_ports_request +"/compute:beta/InstanceGroupsSetNamedPortsRequest/fingerprint": fingerprint +"/compute:beta/InstanceGroupsSetNamedPortsRequest/namedPorts": named_ports +"/compute:beta/InstanceGroupsSetNamedPortsRequest/namedPorts/named_port": named_port +"/compute:beta/InstanceList": instance_list +"/compute:beta/InstanceList/id": id +"/compute:beta/InstanceList/items": items +"/compute:beta/InstanceList/items/item": item +"/compute:beta/InstanceList/kind": kind +"/compute:beta/InstanceList/nextPageToken": next_page_token +"/compute:beta/InstanceList/selfLink": self_link +"/compute:beta/InstanceProperties": instance_properties +"/compute:beta/InstanceProperties/canIpForward": can_ip_forward +"/compute:beta/InstanceProperties/description": description +"/compute:beta/InstanceProperties/disks": disks +"/compute:beta/InstanceProperties/disks/disk": disk +"/compute:beta/InstanceProperties/machineType": machine_type +"/compute:beta/InstanceProperties/metadata": metadata +"/compute:beta/InstanceProperties/networkInterfaces": network_interfaces +"/compute:beta/InstanceProperties/networkInterfaces/network_interface": network_interface +"/compute:beta/InstanceProperties/scheduling": scheduling +"/compute:beta/InstanceProperties/serviceAccounts": service_accounts +"/compute:beta/InstanceProperties/serviceAccounts/service_account": service_account +"/compute:beta/InstanceProperties/tags": tags +"/compute:beta/InstanceReference": instance_reference +"/compute:beta/InstanceReference/instance": instance +"/compute:beta/InstanceTemplate": instance_template +"/compute:beta/InstanceTemplate/creationTimestamp": creation_timestamp +"/compute:beta/InstanceTemplate/description": description +"/compute:beta/InstanceTemplate/id": id +"/compute:beta/InstanceTemplate/kind": kind +"/compute:beta/InstanceTemplate/name": name +"/compute:beta/InstanceTemplate/properties": properties +"/compute:beta/InstanceTemplate/selfLink": self_link +"/compute:beta/InstanceTemplateList": instance_template_list +"/compute:beta/InstanceTemplateList/id": id +"/compute:beta/InstanceTemplateList/items": items +"/compute:beta/InstanceTemplateList/items/item": item +"/compute:beta/InstanceTemplateList/kind": kind +"/compute:beta/InstanceTemplateList/nextPageToken": next_page_token +"/compute:beta/InstanceTemplateList/selfLink": self_link +"/compute:beta/InstanceWithNamedPorts": instance_with_named_ports +"/compute:beta/InstanceWithNamedPorts/instance": instance +"/compute:beta/InstanceWithNamedPorts/namedPorts": named_ports +"/compute:beta/InstanceWithNamedPorts/namedPorts/named_port": named_port +"/compute:beta/InstanceWithNamedPorts/status": status +"/compute:beta/InstancesScopedList": instances_scoped_list +"/compute:beta/InstancesScopedList/instances": instances +"/compute:beta/InstancesScopedList/instances/instance": instance +"/compute:beta/InstancesScopedList/warning": warning +"/compute:beta/InstancesScopedList/warning/code": code +"/compute:beta/InstancesScopedList/warning/data": data +"/compute:beta/InstancesScopedList/warning/data/datum": datum +"/compute:beta/InstancesScopedList/warning/data/datum/key": key +"/compute:beta/InstancesScopedList/warning/data/datum/value": value +"/compute:beta/InstancesScopedList/warning/message": message +"/compute:beta/InstancesSetLabelsRequest": instances_set_labels_request +"/compute:beta/InstancesSetLabelsRequest/labelFingerprint": label_fingerprint +"/compute:beta/InstancesSetLabelsRequest/labels": labels +"/compute:beta/InstancesSetLabelsRequest/labels/label": label +"/compute:beta/InstancesSetMachineTypeRequest": instances_set_machine_type_request +"/compute:beta/InstancesSetMachineTypeRequest/machineType": machine_type +"/compute:beta/License": license +"/compute:beta/License/chargesUseFee": charges_use_fee +"/compute:beta/License/kind": kind +"/compute:beta/License/name": name +"/compute:beta/License/selfLink": self_link +"/compute:beta/MachineType": machine_type +"/compute:beta/MachineType/creationTimestamp": creation_timestamp +"/compute:beta/MachineType/deprecated": deprecated +"/compute:beta/MachineType/description": description +"/compute:beta/MachineType/guestCpus": guest_cpus +"/compute:beta/MachineType/id": id +"/compute:beta/MachineType/kind": kind +"/compute:beta/MachineType/maximumPersistentDisks": maximum_persistent_disks +"/compute:beta/MachineType/maximumPersistentDisksSizeGb": maximum_persistent_disks_size_gb +"/compute:beta/MachineType/memoryMb": memory_mb +"/compute:beta/MachineType/name": name +"/compute:beta/MachineType/selfLink": self_link +"/compute:beta/MachineType/zone": zone +"/compute:beta/MachineTypeAggregatedList": machine_type_aggregated_list +"/compute:beta/MachineTypeAggregatedList/id": id +"/compute:beta/MachineTypeAggregatedList/items": items +"/compute:beta/MachineTypeAggregatedList/items/item": item +"/compute:beta/MachineTypeAggregatedList/kind": kind +"/compute:beta/MachineTypeAggregatedList/nextPageToken": next_page_token +"/compute:beta/MachineTypeAggregatedList/selfLink": self_link +"/compute:beta/MachineTypeList": machine_type_list +"/compute:beta/MachineTypeList/id": id +"/compute:beta/MachineTypeList/items": items +"/compute:beta/MachineTypeList/items/item": item +"/compute:beta/MachineTypeList/kind": kind +"/compute:beta/MachineTypeList/nextPageToken": next_page_token +"/compute:beta/MachineTypeList/selfLink": self_link +"/compute:beta/MachineTypesScopedList": machine_types_scoped_list +"/compute:beta/MachineTypesScopedList/machineTypes": machine_types +"/compute:beta/MachineTypesScopedList/machineTypes/machine_type": machine_type +"/compute:beta/MachineTypesScopedList/warning": warning +"/compute:beta/MachineTypesScopedList/warning/code": code +"/compute:beta/MachineTypesScopedList/warning/data": data +"/compute:beta/MachineTypesScopedList/warning/data/datum": datum +"/compute:beta/MachineTypesScopedList/warning/data/datum/key": key +"/compute:beta/MachineTypesScopedList/warning/data/datum/value": value +"/compute:beta/MachineTypesScopedList/warning/message": message +"/compute:beta/ManagedInstance": managed_instance +"/compute:beta/ManagedInstance/currentAction": current_action +"/compute:beta/ManagedInstance/id": id +"/compute:beta/ManagedInstance/instance": instance +"/compute:beta/ManagedInstance/instanceStatus": instance_status +"/compute:beta/ManagedInstance/lastAttempt": last_attempt +"/compute:beta/ManagedInstanceLastAttempt": managed_instance_last_attempt +"/compute:beta/ManagedInstanceLastAttempt/errors": errors +"/compute:beta/ManagedInstanceLastAttempt/errors/errors": errors +"/compute:beta/ManagedInstanceLastAttempt/errors/errors/error": error +"/compute:beta/ManagedInstanceLastAttempt/errors/errors/error/code": code +"/compute:beta/ManagedInstanceLastAttempt/errors/errors/error/location": location +"/compute:beta/ManagedInstanceLastAttempt/errors/errors/error/message": message +"/compute:beta/Metadata": metadata +"/compute:beta/Metadata/fingerprint": fingerprint +"/compute:beta/Metadata/items": items +"/compute:beta/Metadata/items/item": item +"/compute:beta/Metadata/items/item/key": key +"/compute:beta/Metadata/items/item/value": value +"/compute:beta/Metadata/kind": kind +"/compute:beta/NamedPort": named_port +"/compute:beta/NamedPort/name": name +"/compute:beta/NamedPort/port": port +"/compute:beta/Network": network +"/compute:beta/Network/IPv4Range": i_pv4_range +"/compute:beta/Network/autoCreateSubnetworks": auto_create_subnetworks +"/compute:beta/Network/creationTimestamp": creation_timestamp +"/compute:beta/Network/description": description +"/compute:beta/Network/gatewayIPv4": gateway_i_pv4 +"/compute:beta/Network/id": id +"/compute:beta/Network/kind": kind +"/compute:beta/Network/name": name +"/compute:beta/Network/selfLink": self_link +"/compute:beta/Network/subnetworks": subnetworks +"/compute:beta/Network/subnetworks/subnetwork": subnetwork +"/compute:beta/NetworkInterface": network_interface +"/compute:beta/NetworkInterface/accessConfigs": access_configs +"/compute:beta/NetworkInterface/accessConfigs/access_config": access_config +"/compute:beta/NetworkInterface/name": name +"/compute:beta/NetworkInterface/network": network +"/compute:beta/NetworkInterface/networkIP": network_ip +"/compute:beta/NetworkInterface/subnetwork": subnetwork +"/compute:beta/NetworkList": network_list +"/compute:beta/NetworkList/id": id +"/compute:beta/NetworkList/items": items +"/compute:beta/NetworkList/items/item": item +"/compute:beta/NetworkList/kind": kind +"/compute:beta/NetworkList/nextPageToken": next_page_token +"/compute:beta/NetworkList/selfLink": self_link +"/compute:beta/Operation": operation +"/compute:beta/Operation/clientOperationId": client_operation_id +"/compute:beta/Operation/creationTimestamp": creation_timestamp +"/compute:beta/Operation/description": description +"/compute:beta/Operation/endTime": end_time +"/compute:beta/Operation/error": error +"/compute:beta/Operation/error/errors": errors +"/compute:beta/Operation/error/errors/error": error +"/compute:beta/Operation/error/errors/error/code": code +"/compute:beta/Operation/error/errors/error/location": location +"/compute:beta/Operation/error/errors/error/message": message +"/compute:beta/Operation/httpErrorMessage": http_error_message +"/compute:beta/Operation/httpErrorStatusCode": http_error_status_code +"/compute:beta/Operation/id": id +"/compute:beta/Operation/insertTime": insert_time +"/compute:beta/Operation/kind": kind +"/compute:beta/Operation/name": name +"/compute:beta/Operation/operationType": operation_type +"/compute:beta/Operation/progress": progress +"/compute:beta/Operation/region": region +"/compute:beta/Operation/selfLink": self_link +"/compute:beta/Operation/startTime": start_time +"/compute:beta/Operation/status": status +"/compute:beta/Operation/statusMessage": status_message +"/compute:beta/Operation/targetId": target_id +"/compute:beta/Operation/targetLink": target_link +"/compute:beta/Operation/user": user +"/compute:beta/Operation/warnings": warnings +"/compute:beta/Operation/warnings/warning": warning +"/compute:beta/Operation/warnings/warning/code": code +"/compute:beta/Operation/warnings/warning/data": data +"/compute:beta/Operation/warnings/warning/data/datum": datum +"/compute:beta/Operation/warnings/warning/data/datum/key": key +"/compute:beta/Operation/warnings/warning/data/datum/value": value +"/compute:beta/Operation/warnings/warning/message": message +"/compute:beta/Operation/zone": zone +"/compute:beta/OperationAggregatedList": operation_aggregated_list +"/compute:beta/OperationAggregatedList/id": id +"/compute:beta/OperationAggregatedList/items": items +"/compute:beta/OperationAggregatedList/items/item": item +"/compute:beta/OperationAggregatedList/kind": kind +"/compute:beta/OperationAggregatedList/nextPageToken": next_page_token +"/compute:beta/OperationAggregatedList/selfLink": self_link +"/compute:beta/OperationList": operation_list +"/compute:beta/OperationList/id": id +"/compute:beta/OperationList/items": items +"/compute:beta/OperationList/items/item": item +"/compute:beta/OperationList/kind": kind +"/compute:beta/OperationList/nextPageToken": next_page_token +"/compute:beta/OperationList/selfLink": self_link +"/compute:beta/OperationsScopedList": operations_scoped_list +"/compute:beta/OperationsScopedList/operations": operations +"/compute:beta/OperationsScopedList/operations/operation": operation +"/compute:beta/OperationsScopedList/warning": warning +"/compute:beta/OperationsScopedList/warning/code": code +"/compute:beta/OperationsScopedList/warning/data": data +"/compute:beta/OperationsScopedList/warning/data/datum": datum +"/compute:beta/OperationsScopedList/warning/data/datum/key": key +"/compute:beta/OperationsScopedList/warning/data/datum/value": value +"/compute:beta/OperationsScopedList/warning/message": message +"/compute:beta/PathMatcher": path_matcher +"/compute:beta/PathMatcher/defaultService": default_service +"/compute:beta/PathMatcher/description": description +"/compute:beta/PathMatcher/name": name +"/compute:beta/PathMatcher/pathRules": path_rules +"/compute:beta/PathMatcher/pathRules/path_rule": path_rule +"/compute:beta/PathRule": path_rule +"/compute:beta/PathRule/paths": paths +"/compute:beta/PathRule/paths/path": path +"/compute:beta/PathRule/service": service +"/compute:beta/Project": project +"/compute:beta/Project/commonInstanceMetadata": common_instance_metadata +"/compute:beta/Project/creationTimestamp": creation_timestamp +"/compute:beta/Project/description": description +"/compute:beta/Project/enabledFeatures": enabled_features +"/compute:beta/Project/enabledFeatures/enabled_feature": enabled_feature +"/compute:beta/Project/id": id +"/compute:beta/Project/kind": kind +"/compute:beta/Project/name": name +"/compute:beta/Project/quotas": quotas +"/compute:beta/Project/quotas/quota": quota +"/compute:beta/Project/selfLink": self_link +"/compute:beta/Project/usageExportLocation": usage_export_location +"/compute:beta/Quota": quota +"/compute:beta/Quota/limit": limit +"/compute:beta/Quota/metric": metric +"/compute:beta/Quota/usage": usage +"/compute:beta/Region": region +"/compute:beta/Region/creationTimestamp": creation_timestamp +"/compute:beta/Region/deprecated": deprecated +"/compute:beta/Region/description": description +"/compute:beta/Region/id": id +"/compute:beta/Region/kind": kind +"/compute:beta/Region/name": name +"/compute:beta/Region/quotas": quotas +"/compute:beta/Region/quotas/quota": quota +"/compute:beta/Region/selfLink": self_link +"/compute:beta/Region/status": status +"/compute:beta/Region/zones": zones +"/compute:beta/Region/zones/zone": zone +"/compute:beta/RegionList": region_list +"/compute:beta/RegionList/id": id +"/compute:beta/RegionList/items": items +"/compute:beta/RegionList/items/item": item +"/compute:beta/RegionList/kind": kind +"/compute:beta/RegionList/nextPageToken": next_page_token +"/compute:beta/RegionList/selfLink": self_link +"/compute:beta/ResourceGroupReference": resource_group_reference +"/compute:beta/ResourceGroupReference/group": group +"/compute:beta/Route": route +"/compute:beta/Route/creationTimestamp": creation_timestamp +"/compute:beta/Route/description": description +"/compute:beta/Route/destRange": dest_range +"/compute:beta/Route/id": id +"/compute:beta/Route/kind": kind +"/compute:beta/Route/name": name +"/compute:beta/Route/network": network +"/compute:beta/Route/nextHopGateway": next_hop_gateway +"/compute:beta/Route/nextHopInstance": next_hop_instance +"/compute:beta/Route/nextHopIp": next_hop_ip +"/compute:beta/Route/nextHopNetwork": next_hop_network +"/compute:beta/Route/nextHopVpnTunnel": next_hop_vpn_tunnel +"/compute:beta/Route/priority": priority +"/compute:beta/Route/selfLink": self_link +"/compute:beta/Route/tags": tags +"/compute:beta/Route/tags/tag": tag +"/compute:beta/Route/warnings": warnings +"/compute:beta/Route/warnings/warning": warning +"/compute:beta/Route/warnings/warning/code": code +"/compute:beta/Route/warnings/warning/data": data +"/compute:beta/Route/warnings/warning/data/datum": datum +"/compute:beta/Route/warnings/warning/data/datum/key": key +"/compute:beta/Route/warnings/warning/data/datum/value": value +"/compute:beta/Route/warnings/warning/message": message +"/compute:beta/RouteList": route_list +"/compute:beta/RouteList/id": id +"/compute:beta/RouteList/items": items +"/compute:beta/RouteList/items/item": item +"/compute:beta/RouteList/kind": kind +"/compute:beta/RouteList/nextPageToken": next_page_token +"/compute:beta/RouteList/selfLink": self_link +"/compute:beta/Scheduling": scheduling +"/compute:beta/Scheduling/automaticRestart": automatic_restart +"/compute:beta/Scheduling/onHostMaintenance": on_host_maintenance +"/compute:beta/Scheduling/preemptible": preemptible +"/compute:beta/SerialPortOutput": serial_port_output +"/compute:beta/SerialPortOutput/contents": contents +"/compute:beta/SerialPortOutput/kind": kind +"/compute:beta/SerialPortOutput/selfLink": self_link +"/compute:beta/ServiceAccount": service_account +"/compute:beta/ServiceAccount/email": email +"/compute:beta/ServiceAccount/scopes": scopes +"/compute:beta/ServiceAccount/scopes/scope": scope +"/compute:beta/Snapshot": snapshot +"/compute:beta/Snapshot/creationTimestamp": creation_timestamp +"/compute:beta/Snapshot/description": description +"/compute:beta/Snapshot/diskSizeGb": disk_size_gb +"/compute:beta/Snapshot/id": id +"/compute:beta/Snapshot/kind": kind +"/compute:beta/Snapshot/licenses": licenses +"/compute:beta/Snapshot/licenses/license": license +"/compute:beta/Snapshot/name": name +"/compute:beta/Snapshot/selfLink": self_link +"/compute:beta/Snapshot/snapshotEncryptionKey": snapshot_encryption_key +"/compute:beta/Snapshot/sourceDisk": source_disk +"/compute:beta/Snapshot/sourceDiskEncryptionKey": source_disk_encryption_key +"/compute:beta/Snapshot/sourceDiskId": source_disk_id +"/compute:beta/Snapshot/status": status +"/compute:beta/Snapshot/storageBytes": storage_bytes +"/compute:beta/Snapshot/storageBytesStatus": storage_bytes_status +"/compute:beta/SnapshotList": snapshot_list +"/compute:beta/SnapshotList/id": id +"/compute:beta/SnapshotList/items": items +"/compute:beta/SnapshotList/items/item": item +"/compute:beta/SnapshotList/kind": kind +"/compute:beta/SnapshotList/nextPageToken": next_page_token +"/compute:beta/SnapshotList/selfLink": self_link +"/compute:beta/SslCertificate": ssl_certificate +"/compute:beta/SslCertificate/certificate": certificate +"/compute:beta/SslCertificate/creationTimestamp": creation_timestamp +"/compute:beta/SslCertificate/description": description +"/compute:beta/SslCertificate/id": id +"/compute:beta/SslCertificate/kind": kind +"/compute:beta/SslCertificate/name": name +"/compute:beta/SslCertificate/privateKey": private_key +"/compute:beta/SslCertificate/selfLink": self_link +"/compute:beta/SslCertificateList": ssl_certificate_list +"/compute:beta/SslCertificateList/id": id +"/compute:beta/SslCertificateList/items": items +"/compute:beta/SslCertificateList/items/item": item +"/compute:beta/SslCertificateList/kind": kind +"/compute:beta/SslCertificateList/nextPageToken": next_page_token +"/compute:beta/SslCertificateList/selfLink": self_link +"/compute:beta/Subnetwork": subnetwork +"/compute:beta/Subnetwork/creationTimestamp": creation_timestamp +"/compute:beta/Subnetwork/description": description +"/compute:beta/Subnetwork/gatewayAddress": gateway_address +"/compute:beta/Subnetwork/id": id +"/compute:beta/Subnetwork/ipCidrRange": ip_cidr_range +"/compute:beta/Subnetwork/kind": kind +"/compute:beta/Subnetwork/name": name +"/compute:beta/Subnetwork/network": network +"/compute:beta/Subnetwork/region": region +"/compute:beta/Subnetwork/selfLink": self_link +"/compute:beta/SubnetworkAggregatedList": subnetwork_aggregated_list +"/compute:beta/SubnetworkAggregatedList/id": id +"/compute:beta/SubnetworkAggregatedList/items": items +"/compute:beta/SubnetworkAggregatedList/items/item": item +"/compute:beta/SubnetworkAggregatedList/kind": kind +"/compute:beta/SubnetworkAggregatedList/nextPageToken": next_page_token +"/compute:beta/SubnetworkAggregatedList/selfLink": self_link +"/compute:beta/SubnetworkList": subnetwork_list +"/compute:beta/SubnetworkList/id": id +"/compute:beta/SubnetworkList/items": items +"/compute:beta/SubnetworkList/items/item": item +"/compute:beta/SubnetworkList/kind": kind +"/compute:beta/SubnetworkList/nextPageToken": next_page_token +"/compute:beta/SubnetworkList/selfLink": self_link +"/compute:beta/SubnetworksScopedList": subnetworks_scoped_list +"/compute:beta/SubnetworksScopedList/subnetworks": subnetworks +"/compute:beta/SubnetworksScopedList/subnetworks/subnetwork": subnetwork +"/compute:beta/SubnetworksScopedList/warning": warning +"/compute:beta/SubnetworksScopedList/warning/code": code +"/compute:beta/SubnetworksScopedList/warning/data": data +"/compute:beta/SubnetworksScopedList/warning/data/datum": datum +"/compute:beta/SubnetworksScopedList/warning/data/datum/key": key +"/compute:beta/SubnetworksScopedList/warning/data/datum/value": value +"/compute:beta/SubnetworksScopedList/warning/message": message +"/compute:beta/Tags": tags +"/compute:beta/Tags/fingerprint": fingerprint +"/compute:beta/Tags/items": items +"/compute:beta/Tags/items/item": item +"/compute:beta/TargetHttpProxy": target_http_proxy +"/compute:beta/TargetHttpProxy/creationTimestamp": creation_timestamp +"/compute:beta/TargetHttpProxy/description": description +"/compute:beta/TargetHttpProxy/id": id +"/compute:beta/TargetHttpProxy/kind": kind +"/compute:beta/TargetHttpProxy/name": name +"/compute:beta/TargetHttpProxy/selfLink": self_link +"/compute:beta/TargetHttpProxy/urlMap": url_map +"/compute:beta/TargetHttpProxyList": target_http_proxy_list +"/compute:beta/TargetHttpProxyList/id": id +"/compute:beta/TargetHttpProxyList/items": items +"/compute:beta/TargetHttpProxyList/items/item": item +"/compute:beta/TargetHttpProxyList/kind": kind +"/compute:beta/TargetHttpProxyList/nextPageToken": next_page_token +"/compute:beta/TargetHttpProxyList/selfLink": self_link +"/compute:beta/TargetHttpsProxiesSetSslCertificatesRequest": target_https_proxies_set_ssl_certificates_request +"/compute:beta/TargetHttpsProxiesSetSslCertificatesRequest/sslCertificates": ssl_certificates +"/compute:beta/TargetHttpsProxiesSetSslCertificatesRequest/sslCertificates/ssl_certificate": ssl_certificate +"/compute:beta/TargetHttpsProxy": target_https_proxy +"/compute:beta/TargetHttpsProxy/creationTimestamp": creation_timestamp +"/compute:beta/TargetHttpsProxy/description": description +"/compute:beta/TargetHttpsProxy/id": id +"/compute:beta/TargetHttpsProxy/kind": kind +"/compute:beta/TargetHttpsProxy/name": name +"/compute:beta/TargetHttpsProxy/selfLink": self_link +"/compute:beta/TargetHttpsProxy/sslCertificates": ssl_certificates +"/compute:beta/TargetHttpsProxy/sslCertificates/ssl_certificate": ssl_certificate +"/compute:beta/TargetHttpsProxy/urlMap": url_map +"/compute:beta/TargetHttpsProxyList": target_https_proxy_list +"/compute:beta/TargetHttpsProxyList/id": id +"/compute:beta/TargetHttpsProxyList/items": items +"/compute:beta/TargetHttpsProxyList/items/item": item +"/compute:beta/TargetHttpsProxyList/kind": kind +"/compute:beta/TargetHttpsProxyList/nextPageToken": next_page_token +"/compute:beta/TargetHttpsProxyList/selfLink": self_link +"/compute:beta/TargetInstance": target_instance +"/compute:beta/TargetInstance/creationTimestamp": creation_timestamp +"/compute:beta/TargetInstance/description": description +"/compute:beta/TargetInstance/id": id +"/compute:beta/TargetInstance/instance": instance +"/compute:beta/TargetInstance/kind": kind +"/compute:beta/TargetInstance/name": name +"/compute:beta/TargetInstance/natPolicy": nat_policy +"/compute:beta/TargetInstance/selfLink": self_link +"/compute:beta/TargetInstance/zone": zone +"/compute:beta/TargetInstanceAggregatedList": target_instance_aggregated_list +"/compute:beta/TargetInstanceAggregatedList/id": id +"/compute:beta/TargetInstanceAggregatedList/items": items +"/compute:beta/TargetInstanceAggregatedList/items/item": item +"/compute:beta/TargetInstanceAggregatedList/kind": kind +"/compute:beta/TargetInstanceAggregatedList/nextPageToken": next_page_token +"/compute:beta/TargetInstanceAggregatedList/selfLink": self_link +"/compute:beta/TargetInstanceList": target_instance_list +"/compute:beta/TargetInstanceList/id": id +"/compute:beta/TargetInstanceList/items": items +"/compute:beta/TargetInstanceList/items/item": item +"/compute:beta/TargetInstanceList/kind": kind +"/compute:beta/TargetInstanceList/nextPageToken": next_page_token +"/compute:beta/TargetInstanceList/selfLink": self_link +"/compute:beta/TargetInstancesScopedList": target_instances_scoped_list +"/compute:beta/TargetInstancesScopedList/targetInstances": target_instances +"/compute:beta/TargetInstancesScopedList/targetInstances/target_instance": target_instance +"/compute:beta/TargetInstancesScopedList/warning": warning +"/compute:beta/TargetInstancesScopedList/warning/code": code +"/compute:beta/TargetInstancesScopedList/warning/data": data +"/compute:beta/TargetInstancesScopedList/warning/data/datum": datum +"/compute:beta/TargetInstancesScopedList/warning/data/datum/key": key +"/compute:beta/TargetInstancesScopedList/warning/data/datum/value": value +"/compute:beta/TargetInstancesScopedList/warning/message": message +"/compute:beta/TargetPool": target_pool +"/compute:beta/TargetPool/backupPool": backup_pool +"/compute:beta/TargetPool/creationTimestamp": creation_timestamp +"/compute:beta/TargetPool/description": description +"/compute:beta/TargetPool/failoverRatio": failover_ratio +"/compute:beta/TargetPool/healthChecks": health_checks +"/compute:beta/TargetPool/healthChecks/health_check": health_check +"/compute:beta/TargetPool/id": id +"/compute:beta/TargetPool/instances": instances +"/compute:beta/TargetPool/instances/instance": instance +"/compute:beta/TargetPool/kind": kind +"/compute:beta/TargetPool/name": name +"/compute:beta/TargetPool/region": region +"/compute:beta/TargetPool/selfLink": self_link +"/compute:beta/TargetPool/sessionAffinity": session_affinity +"/compute:beta/TargetPoolAggregatedList": target_pool_aggregated_list +"/compute:beta/TargetPoolAggregatedList/id": id +"/compute:beta/TargetPoolAggregatedList/items": items +"/compute:beta/TargetPoolAggregatedList/items/item": item +"/compute:beta/TargetPoolAggregatedList/kind": kind +"/compute:beta/TargetPoolAggregatedList/nextPageToken": next_page_token +"/compute:beta/TargetPoolAggregatedList/selfLink": self_link +"/compute:beta/TargetPoolInstanceHealth": target_pool_instance_health +"/compute:beta/TargetPoolInstanceHealth/healthStatus": health_status +"/compute:beta/TargetPoolInstanceHealth/healthStatus/health_status": health_status +"/compute:beta/TargetPoolInstanceHealth/kind": kind +"/compute:beta/TargetPoolList": target_pool_list +"/compute:beta/TargetPoolList/id": id +"/compute:beta/TargetPoolList/items": items +"/compute:beta/TargetPoolList/items/item": item +"/compute:beta/TargetPoolList/kind": kind +"/compute:beta/TargetPoolList/nextPageToken": next_page_token +"/compute:beta/TargetPoolList/selfLink": self_link +"/compute:beta/TargetPoolsAddHealthCheckRequest/healthChecks": health_checks +"/compute:beta/TargetPoolsAddHealthCheckRequest/healthChecks/health_check": health_check +"/compute:beta/TargetPoolsAddInstanceRequest/instances": instances +"/compute:beta/TargetPoolsAddInstanceRequest/instances/instance": instance +"/compute:beta/TargetPoolsRemoveHealthCheckRequest/healthChecks": health_checks +"/compute:beta/TargetPoolsRemoveHealthCheckRequest/healthChecks/health_check": health_check +"/compute:beta/TargetPoolsRemoveInstanceRequest/instances": instances +"/compute:beta/TargetPoolsRemoveInstanceRequest/instances/instance": instance +"/compute:beta/TargetPoolsScopedList": target_pools_scoped_list +"/compute:beta/TargetPoolsScopedList/targetPools": target_pools +"/compute:beta/TargetPoolsScopedList/targetPools/target_pool": target_pool +"/compute:beta/TargetPoolsScopedList/warning": warning +"/compute:beta/TargetPoolsScopedList/warning/code": code +"/compute:beta/TargetPoolsScopedList/warning/data": data +"/compute:beta/TargetPoolsScopedList/warning/data/datum": datum +"/compute:beta/TargetPoolsScopedList/warning/data/datum/key": key +"/compute:beta/TargetPoolsScopedList/warning/data/datum/value": value +"/compute:beta/TargetPoolsScopedList/warning/message": message +"/compute:beta/TargetReference": target_reference +"/compute:beta/TargetReference/target": target +"/compute:beta/TargetVpnGateway": target_vpn_gateway +"/compute:beta/TargetVpnGateway/creationTimestamp": creation_timestamp +"/compute:beta/TargetVpnGateway/description": description +"/compute:beta/TargetVpnGateway/forwardingRules": forwarding_rules +"/compute:beta/TargetVpnGateway/forwardingRules/forwarding_rule": forwarding_rule +"/compute:beta/TargetVpnGateway/id": id +"/compute:beta/TargetVpnGateway/kind": kind +"/compute:beta/TargetVpnGateway/name": name +"/compute:beta/TargetVpnGateway/network": network +"/compute:beta/TargetVpnGateway/region": region +"/compute:beta/TargetVpnGateway/selfLink": self_link +"/compute:beta/TargetVpnGateway/status": status +"/compute:beta/TargetVpnGateway/tunnels": tunnels +"/compute:beta/TargetVpnGateway/tunnels/tunnel": tunnel +"/compute:beta/TargetVpnGatewayAggregatedList": target_vpn_gateway_aggregated_list +"/compute:beta/TargetVpnGatewayAggregatedList/id": id +"/compute:beta/TargetVpnGatewayAggregatedList/items": items +"/compute:beta/TargetVpnGatewayAggregatedList/items/item": item +"/compute:beta/TargetVpnGatewayAggregatedList/kind": kind +"/compute:beta/TargetVpnGatewayAggregatedList/nextPageToken": next_page_token +"/compute:beta/TargetVpnGatewayAggregatedList/selfLink": self_link +"/compute:beta/TargetVpnGatewayList": target_vpn_gateway_list +"/compute:beta/TargetVpnGatewayList/id": id +"/compute:beta/TargetVpnGatewayList/items": items +"/compute:beta/TargetVpnGatewayList/items/item": item +"/compute:beta/TargetVpnGatewayList/kind": kind +"/compute:beta/TargetVpnGatewayList/nextPageToken": next_page_token +"/compute:beta/TargetVpnGatewayList/selfLink": self_link +"/compute:beta/TargetVpnGatewaysScopedList": target_vpn_gateways_scoped_list +"/compute:beta/TargetVpnGatewaysScopedList/targetVpnGateways": target_vpn_gateways +"/compute:beta/TargetVpnGatewaysScopedList/targetVpnGateways/target_vpn_gateway": target_vpn_gateway +"/compute:beta/TargetVpnGatewaysScopedList/warning": warning +"/compute:beta/TargetVpnGatewaysScopedList/warning/code": code +"/compute:beta/TargetVpnGatewaysScopedList/warning/data": data +"/compute:beta/TargetVpnGatewaysScopedList/warning/data/datum": datum +"/compute:beta/TargetVpnGatewaysScopedList/warning/data/datum/key": key +"/compute:beta/TargetVpnGatewaysScopedList/warning/data/datum/value": value +"/compute:beta/TargetVpnGatewaysScopedList/warning/message": message +"/compute:beta/TestFailure": test_failure +"/compute:beta/TestFailure/actualService": actual_service +"/compute:beta/TestFailure/expectedService": expected_service +"/compute:beta/TestFailure/host": host +"/compute:beta/TestFailure/path": path +"/compute:beta/UrlMap": url_map +"/compute:beta/UrlMap/creationTimestamp": creation_timestamp +"/compute:beta/UrlMap/defaultService": default_service +"/compute:beta/UrlMap/description": description +"/compute:beta/UrlMap/fingerprint": fingerprint +"/compute:beta/UrlMap/hostRules": host_rules +"/compute:beta/UrlMap/hostRules/host_rule": host_rule +"/compute:beta/UrlMap/id": id +"/compute:beta/UrlMap/kind": kind +"/compute:beta/UrlMap/name": name +"/compute:beta/UrlMap/pathMatchers": path_matchers +"/compute:beta/UrlMap/pathMatchers/path_matcher": path_matcher +"/compute:beta/UrlMap/selfLink": self_link +"/compute:beta/UrlMap/tests": tests +"/compute:beta/UrlMap/tests/test": test +"/compute:beta/UrlMapList": url_map_list +"/compute:beta/UrlMapList/id": id +"/compute:beta/UrlMapList/items": items +"/compute:beta/UrlMapList/items/item": item +"/compute:beta/UrlMapList/kind": kind +"/compute:beta/UrlMapList/nextPageToken": next_page_token +"/compute:beta/UrlMapList/selfLink": self_link +"/compute:beta/UrlMapReference": url_map_reference +"/compute:beta/UrlMapReference/urlMap": url_map +"/compute:beta/UrlMapTest": url_map_test +"/compute:beta/UrlMapTest/description": description +"/compute:beta/UrlMapTest/host": host +"/compute:beta/UrlMapTest/path": path +"/compute:beta/UrlMapTest/service": service +"/compute:beta/UrlMapValidationResult": url_map_validation_result +"/compute:beta/UrlMapValidationResult/loadErrors": load_errors +"/compute:beta/UrlMapValidationResult/loadErrors/load_error": load_error +"/compute:beta/UrlMapValidationResult/loadSucceeded": load_succeeded +"/compute:beta/UrlMapValidationResult/testFailures": test_failures +"/compute:beta/UrlMapValidationResult/testFailures/test_failure": test_failure +"/compute:beta/UrlMapValidationResult/testPassed": test_passed +"/compute:beta/UrlMapsValidateRequest/resource": resource +"/compute:beta/UrlMapsValidateResponse/result": result +"/compute:beta/UsageExportLocation": usage_export_location +"/compute:beta/UsageExportLocation/bucketName": bucket_name +"/compute:beta/UsageExportLocation/reportNamePrefix": report_name_prefix +"/compute:beta/VpnTunnel": vpn_tunnel +"/compute:beta/VpnTunnel/creationTimestamp": creation_timestamp +"/compute:beta/VpnTunnel/description": description +"/compute:beta/VpnTunnel/detailedStatus": detailed_status +"/compute:beta/VpnTunnel/id": id +"/compute:beta/VpnTunnel/ikeVersion": ike_version +"/compute:beta/VpnTunnel/kind": kind +"/compute:beta/VpnTunnel/localTrafficSelector": local_traffic_selector +"/compute:beta/VpnTunnel/localTrafficSelector/local_traffic_selector": local_traffic_selector +"/compute:beta/VpnTunnel/name": name +"/compute:beta/VpnTunnel/peerIp": peer_ip +"/compute:beta/VpnTunnel/region": region +"/compute:beta/VpnTunnel/selfLink": self_link +"/compute:beta/VpnTunnel/sharedSecret": shared_secret +"/compute:beta/VpnTunnel/sharedSecretHash": shared_secret_hash +"/compute:beta/VpnTunnel/status": status +"/compute:beta/VpnTunnel/targetVpnGateway": target_vpn_gateway +"/compute:beta/VpnTunnelAggregatedList": vpn_tunnel_aggregated_list +"/compute:beta/VpnTunnelAggregatedList/id": id +"/compute:beta/VpnTunnelAggregatedList/items": items +"/compute:beta/VpnTunnelAggregatedList/items/item": item +"/compute:beta/VpnTunnelAggregatedList/kind": kind +"/compute:beta/VpnTunnelAggregatedList/nextPageToken": next_page_token +"/compute:beta/VpnTunnelAggregatedList/selfLink": self_link +"/compute:beta/VpnTunnelList": vpn_tunnel_list +"/compute:beta/VpnTunnelList/id": id +"/compute:beta/VpnTunnelList/items": items +"/compute:beta/VpnTunnelList/items/item": item +"/compute:beta/VpnTunnelList/kind": kind +"/compute:beta/VpnTunnelList/nextPageToken": next_page_token +"/compute:beta/VpnTunnelList/selfLink": self_link +"/compute:beta/VpnTunnelsScopedList": vpn_tunnels_scoped_list +"/compute:beta/VpnTunnelsScopedList/vpnTunnels": vpn_tunnels +"/compute:beta/VpnTunnelsScopedList/vpnTunnels/vpn_tunnel": vpn_tunnel +"/compute:beta/VpnTunnelsScopedList/warning": warning +"/compute:beta/VpnTunnelsScopedList/warning/code": code +"/compute:beta/VpnTunnelsScopedList/warning/data": data +"/compute:beta/VpnTunnelsScopedList/warning/data/datum": datum +"/compute:beta/VpnTunnelsScopedList/warning/data/datum/key": key +"/compute:beta/VpnTunnelsScopedList/warning/data/datum/value": value +"/compute:beta/VpnTunnelsScopedList/warning/message": message +"/compute:beta/Zone": zone +"/compute:beta/Zone/creationTimestamp": creation_timestamp +"/compute:beta/Zone/deprecated": deprecated +"/compute:beta/Zone/description": description +"/compute:beta/Zone/id": id +"/compute:beta/Zone/kind": kind +"/compute:beta/Zone/maintenanceWindows": maintenance_windows +"/compute:beta/Zone/maintenanceWindows/maintenance_window": maintenance_window +"/compute:beta/Zone/maintenanceWindows/maintenance_window/beginTime": begin_time +"/compute:beta/Zone/maintenanceWindows/maintenance_window/description": description +"/compute:beta/Zone/maintenanceWindows/maintenance_window/endTime": end_time +"/compute:beta/Zone/maintenanceWindows/maintenance_window/name": name +"/compute:beta/Zone/name": name +"/compute:beta/Zone/region": region +"/compute:beta/Zone/selfLink": self_link +"/compute:beta/Zone/status": status +"/compute:beta/ZoneList": zone_list +"/compute:beta/ZoneList/id": id +"/compute:beta/ZoneList/items": items +"/compute:beta/ZoneList/items/item": item +"/compute:beta/ZoneList/kind": kind +"/compute:beta/ZoneList/nextPageToken": next_page_token +"/compute:beta/ZoneList/selfLink": self_link "/adexchangebuyer:v1.3/fields": fields "/adexchangebuyer:v1.3/key": key "/adexchangebuyer:v1.3/quotaUser": quota_user @@ -6979,7 +9017,6 @@ "/compute:v1/compute.addresses.list/pageToken": page_token "/compute:v1/compute.addresses.list/project": project "/compute:v1/compute.addresses.list/region": region -"/compute:v1/compute.autoscalers.aggregatedList": aggregated_autoscaler_list "/compute:v1/compute.autoscalers.aggregatedList/filter": filter "/compute:v1/compute.autoscalers.aggregatedList/maxResults": max_results "/compute:v1/compute.autoscalers.aggregatedList/pageToken": page_token diff --git a/generated/google/apis/compute_beta.rb b/generated/google/apis/compute_beta.rb new file mode 100644 index 000000000..aeee05da8 --- /dev/null +++ b/generated/google/apis/compute_beta.rb @@ -0,0 +1,49 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/compute_beta/service.rb' +require 'google/apis/compute_beta/classes.rb' +require 'google/apis/compute_beta/representations.rb' + +module Google + module Apis + # Compute Engine API + # + # API for the Google Compute Engine service. + # + # @see https://developers.google.com/compute/docs/reference/latest/ + module ComputeBeta + VERSION = 'Beta' + REVISION = '20151208' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + + # View and manage your Google Compute Engine resources + AUTH_COMPUTE = 'https://www.googleapis.com/auth/compute' + + # View your Google Compute Engine resources + AUTH_COMPUTE_READONLY = 'https://www.googleapis.com/auth/compute.readonly' + + # Manage your data and permissions in Google Cloud Storage + AUTH_DEVSTORAGE_FULL_CONTROL = 'https://www.googleapis.com/auth/devstorage.full_control' + + # View your data in Google Cloud Storage + AUTH_DEVSTORAGE_READ_ONLY = 'https://www.googleapis.com/auth/devstorage.read_only' + + # Manage your data in Google Cloud Storage + AUTH_DEVSTORAGE_READ_WRITE = 'https://www.googleapis.com/auth/devstorage.read_write' + end + end +end diff --git a/generated/google/apis/compute_beta/classes.rb b/generated/google/apis/compute_beta/classes.rb new file mode 100644 index 000000000..19c2c4042 --- /dev/null +++ b/generated/google/apis/compute_beta/classes.rb @@ -0,0 +1,9128 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ComputeBeta + + # An access configuration attached to an instance's network interface. + class AccessConfig + include Google::Apis::Core::Hashable + + # [Output Only] Type of the resource. Always compute#accessConfig for access + # configs. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of this access configuration. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # An external IP address associated with this instance. Specify an unused static + # external IP address available to the project or leave this field undefined to + # use an IP from a shared ephemeral IP address pool. If you specify a static + # external IP address, it must live in the same region as the zone of the + # instance. + # Corresponds to the JSON property `natIP` + # @return [String] + attr_accessor :nat_ip + + # The type of configuration. The default and only option is ONE_TO_ONE_NAT. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @nat_ip = args[:nat_ip] unless args[:nat_ip].nil? + @type = args[:type] unless args[:type].nil? + end + end + + # A reserved address resource. + class Address + include Google::Apis::Core::Hashable + + # The static external IP address represented by this resource. + # Corresponds to the JSON property `address` + # @return [String] + attr_accessor :address + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#address for addresses. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] URL of the region where the regional address resides. This field + # is not applicable to global addresses. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] The status of the address, which can be either IN_USE or + # RESERVED. An address that is RESERVED is currently reserved and available to + # use. An IN_USE address is currently being used by another resource and is not + # available. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Output Only] The URLs of the resources that are using this address. + # Corresponds to the JSON property `users` + # @return [Array] + attr_accessor :users + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @address = args[:address] unless args[:address].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @status = args[:status] unless args[:status].nil? + @users = args[:users] unless args[:users].nil? + end + end + + # + class AddressAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped address lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#addressAggregatedList for + # aggregated lists of addresses. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of address resources. + class AddressList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Address resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#addressList for lists of + # addresses. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class AddressesScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of addresses contained in this scope. + # Corresponds to the JSON property `addresses` + # @return [Array] + attr_accessor :addresses + + # [Output Only] Informational warning which replaces the list of addresses when + # the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::AddressesScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @addresses = args[:addresses] unless args[:addresses].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] Informational warning which replaces the list of addresses when + # the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # An instance-attached disk resource. + class AttachedDisk + include Google::Apis::Core::Hashable + + # Specifies whether the disk will be auto-deleted when the instance is deleted ( + # but not when the disk is detached from the instance). + # Corresponds to the JSON property `autoDelete` + # @return [Boolean] + attr_accessor :auto_delete + alias_method :auto_delete?, :auto_delete + + # Indicates that this is a boot disk. The virtual machine will use the first + # partition of the disk for its root filesystem. + # Corresponds to the JSON property `boot` + # @return [Boolean] + attr_accessor :boot + alias_method :boot?, :boot + + # Specifies a unique device name of your choice that is reflected into the /dev/ + # disk/by-id/google-* tree of a Linux operating system running within the + # instance. This name can be used to reference the device for mounting, resizing, + # and so on, from within the instance. + # If not specified, the server chooses a default device name to apply to this + # disk, in the form persistent-disks-x, where x is a number assigned by Google + # Compute Engine. This field is only applicable for persistent disks. + # Corresponds to the JSON property `deviceName` + # @return [String] + attr_accessor :device_name + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `diskEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :disk_encryption_key + + # Assigns a zero-based index to this disk, where 0 is reserved for the boot disk. + # For example, if you have many disks attached to an instance, each disk would + # have a unique index number. If not specified, the server will choose an + # appropriate value. + # Corresponds to the JSON property `index` + # @return [Fixnum] + attr_accessor :index + + # [Input Only] Specifies the parameters for a new disk that will be created + # alongside the new instance. Use initialization parameters to create boot disks + # or local SSDs attached to the new instance. + # This property is mutually exclusive with the source property; you can only + # define one or the other, but not both. + # Corresponds to the JSON property `initializeParams` + # @return [Google::Apis::ComputeBeta::AttachedDiskInitializeParams] + attr_accessor :initialize_params + + # Specifies the disk interface to use for attaching this disk, either SCSI or + # NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, + # see Local SSD performance. + # Corresponds to the JSON property `interface` + # @return [String] + attr_accessor :interface + + # [Output Only] Type of the resource. Always compute#attachedDisk for attached + # disks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Any valid publicly visible licenses. + # Corresponds to the JSON property `licenses` + # @return [Array] + attr_accessor :licenses + + # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not + # specified, the default is to attach the disk in READ_WRITE mode. + # Corresponds to the JSON property `mode` + # @return [String] + attr_accessor :mode + + # Specifies a valid partial or full URL to an existing Persistent Disk resource. + # This field is only applicable for persistent disks. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, + # the default is PERSISTENT. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auto_delete = args[:auto_delete] unless args[:auto_delete].nil? + @boot = args[:boot] unless args[:boot].nil? + @device_name = args[:device_name] unless args[:device_name].nil? + @disk_encryption_key = args[:disk_encryption_key] unless args[:disk_encryption_key].nil? + @index = args[:index] unless args[:index].nil? + @initialize_params = args[:initialize_params] unless args[:initialize_params].nil? + @interface = args[:interface] unless args[:interface].nil? + @kind = args[:kind] unless args[:kind].nil? + @licenses = args[:licenses] unless args[:licenses].nil? + @mode = args[:mode] unless args[:mode].nil? + @source = args[:source] unless args[:source].nil? + @type = args[:type] unless args[:type].nil? + end + end + + # [Input Only] Specifies the parameters for a new disk that will be created + # alongside the new instance. Use initialization parameters to create boot disks + # or local SSDs attached to the new instance. + # This property is mutually exclusive with the source property; you can only + # define one or the other, but not both. + class AttachedDiskInitializeParams + include Google::Apis::Core::Hashable + + # Specifies the disk name. If not specified, the default is to use the name of + # the instance. + # Corresponds to the JSON property `diskName` + # @return [String] + attr_accessor :disk_name + + # Specifies the size of the disk in base-2 GB. + # Corresponds to the JSON property `diskSizeGb` + # @return [String] + attr_accessor :disk_size_gb + + # Storage type of the disk. + # Corresponds to the JSON property `diskStorageType` + # @return [String] + attr_accessor :disk_storage_type + + # Specifies the disk type to use to create the instance. If not specified, the + # default is pd-standard, specified using the full URL. For example: + # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd- + # standard + # Other values include pd-ssd and local-ssd. If you define this field, you can + # provide either the full or partial URL. For example, the following are valid + # values: + # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/ + # diskType + # - projects/project/zones/zone/diskTypes/diskType + # - zones/zone/diskTypes/diskType + # Corresponds to the JSON property `diskType` + # @return [String] + attr_accessor :disk_type + + # A source image used to create the disk. You can provide a private (custom) + # image, and Compute Engine will use the corresponding image from your project. + # For example: + # global/images/my-private-image + # Or you can provide an image from a publicly-available project. For example, to + # use a Debian image from the debian-cloud project, make sure to include the + # project in the URL: + # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # where vYYYYMMDD is the image version. The fully-qualified URL will also work + # in both cases. + # Corresponds to the JSON property `sourceImage` + # @return [String] + attr_accessor :source_image + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `sourceImageEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :source_image_encryption_key + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disk_name = args[:disk_name] unless args[:disk_name].nil? + @disk_size_gb = args[:disk_size_gb] unless args[:disk_size_gb].nil? + @disk_storage_type = args[:disk_storage_type] unless args[:disk_storage_type].nil? + @disk_type = args[:disk_type] unless args[:disk_type].nil? + @source_image = args[:source_image] unless args[:source_image].nil? + @source_image_encryption_key = args[:source_image_encryption_key] unless args[:source_image_encryption_key].nil? + end + end + + # + class Autoscaler + include Google::Apis::Core::Hashable + + # Cloud Autoscaler policy. + # Corresponds to the JSON property `autoscalingPolicy` + # @return [Google::Apis::ComputeBeta::AutoscalingPolicy] + attr_accessor :autoscaling_policy + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Type of the resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # URL of Instance Group Manager or Replica Pool which will be controlled by + # Autoscaler. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # [Output Only] URL of the zone where the instance group resides. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @autoscaling_policy = args[:autoscaling_policy] unless args[:autoscaling_policy].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @target = args[:target] unless args[:target].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class AutoscalerAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped autoscaler lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of persistent autoscaler resources. + class AutoscalerList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of Autoscaler resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class AutoscalersScopedList + include Google::Apis::Core::Hashable + + # List of autoscalers contained in this scope. + # Corresponds to the JSON property `autoscalers` + # @return [Array] + attr_accessor :autoscalers + + # Informational warning which replaces the list of autoscalers when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::AutoscalersScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @autoscalers = args[:autoscalers] unless args[:autoscalers].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # Informational warning which replaces the list of autoscalers when the list is + # empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # Cloud Autoscaler policy. + class AutoscalingPolicy + include Google::Apis::Core::Hashable + + # The number of seconds that the Autoscaler should wait between two succeeding + # changes to the number of virtual machines. You should define an interval that + # is at least as long as the initialization time of a virtual machine and the + # time it may take for replica pool to create the virtual machine. The default + # is 60 seconds. + # Corresponds to the JSON property `coolDownPeriodSec` + # @return [Fixnum] + attr_accessor :cool_down_period_sec + + # CPU utilization policy. + # Corresponds to the JSON property `cpuUtilization` + # @return [Google::Apis::ComputeBeta::AutoscalingPolicyCpuUtilization] + attr_accessor :cpu_utilization + + # Configuration parameters of autoscaling based on custom metric. + # Corresponds to the JSON property `customMetricUtilizations` + # @return [Array] + attr_accessor :custom_metric_utilizations + + # Load balancing utilization policy. + # Corresponds to the JSON property `loadBalancingUtilization` + # @return [Google::Apis::ComputeBeta::AutoscalingPolicyLoadBalancingUtilization] + attr_accessor :load_balancing_utilization + + # The maximum number of replicas that the Autoscaler can scale up to. This field + # is required for config to be effective. Maximum number of replicas should be + # not lower than minimal number of replicas. Absolute limit for this value is + # defined in Autoscaler backend. + # Corresponds to the JSON property `maxNumReplicas` + # @return [Fixnum] + attr_accessor :max_num_replicas + + # The minimum number of replicas that the Autoscaler can scale down to. Can't be + # less than 0. If not provided Autoscaler will choose default value depending on + # maximal number of replicas. + # Corresponds to the JSON property `minNumReplicas` + # @return [Fixnum] + attr_accessor :min_num_replicas + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cool_down_period_sec = args[:cool_down_period_sec] unless args[:cool_down_period_sec].nil? + @cpu_utilization = args[:cpu_utilization] unless args[:cpu_utilization].nil? + @custom_metric_utilizations = args[:custom_metric_utilizations] unless args[:custom_metric_utilizations].nil? + @load_balancing_utilization = args[:load_balancing_utilization] unless args[:load_balancing_utilization].nil? + @max_num_replicas = args[:max_num_replicas] unless args[:max_num_replicas].nil? + @min_num_replicas = args[:min_num_replicas] unless args[:min_num_replicas].nil? + end + end + + # CPU utilization policy. + class AutoscalingPolicyCpuUtilization + include Google::Apis::Core::Hashable + + # The target utilization that the Autoscaler should maintain. It is represented + # as a fraction of used cores. For example: 6 cores used in 8-core VM are + # represented here as 0.75. Must be a float value between (0, 1]. If not defined, + # the default is 0.8. + # Corresponds to the JSON property `utilizationTarget` + # @return [Float] + attr_accessor :utilization_target + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @utilization_target = args[:utilization_target] unless args[:utilization_target].nil? + end + end + + # Custom utilization metric policy. + class AutoscalingPolicyCustomMetricUtilization + include Google::Apis::Core::Hashable + + # Identifier of the metric. It should be a Cloud Monitoring metric. The metric + # can not have negative values. The metric should be an utilization metric ( + # increasing number of VMs handling requests x times should reduce average value + # of the metric roughly x times). For example you could use: compute.googleapis. + # com/instance/network/received_bytes_count. + # Corresponds to the JSON property `metric` + # @return [String] + attr_accessor :metric + + # Target value of the metric which Autoscaler should maintain. Must be a + # positive value. + # Corresponds to the JSON property `utilizationTarget` + # @return [Float] + attr_accessor :utilization_target + + # Defines type in which utilization_target is expressed. + # Corresponds to the JSON property `utilizationTargetType` + # @return [String] + attr_accessor :utilization_target_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @metric = args[:metric] unless args[:metric].nil? + @utilization_target = args[:utilization_target] unless args[:utilization_target].nil? + @utilization_target_type = args[:utilization_target_type] unless args[:utilization_target_type].nil? + end + end + + # Load balancing utilization policy. + class AutoscalingPolicyLoadBalancingUtilization + include Google::Apis::Core::Hashable + + # Fraction of backend capacity utilization (set in HTTP load balancing + # configuration) that Autoscaler should maintain. Must be a positive float value. + # If not defined, the default is 0.8. For example if your maxRatePerInstance + # capacity (in HTTP Load Balancing configuration) is set at 10 and you would + # like to keep number of instances such that each instance receives 7 QPS on + # average, set this to 0.7. + # Corresponds to the JSON property `utilizationTarget` + # @return [Float] + attr_accessor :utilization_target + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @utilization_target = args[:utilization_target] unless args[:utilization_target].nil? + end + end + + # Message containing information of one individual backend. + class Backend + include Google::Apis::Core::Hashable + + # Specifies the balancing mode for this backend. The default is UTILIZATION but + # available values are UTILIZATION and RATE. + # Corresponds to the JSON property `balancingMode` + # @return [String] + attr_accessor :balancing_mode + + # A multiplier applied to the group's maximum servicing capacity (either + # UTILIZATION or RATE). Default value is 1, which means the group will serve up + # to 100% of its configured CPU or RPS (depending on balancingMode). A setting + # of 0 means the group is completely drained, offering 0% of its available CPU + # or RPS. Valid range is [0.0,1.0]. + # Corresponds to the JSON property `capacityScaler` + # @return [Float] + attr_accessor :capacity_scaler + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The fully-qualified URL of a zonal Instance Group resource. This instance + # group defines the list of instances that serve traffic. Member virtual machine + # instances from each instance group must live in the same zone as the instance + # group itself. No two backends in a backend service are allowed to use same + # Instance Group resource. + # Note that you must specify an Instance Group resource using the fully- + # qualified URL, rather than a partial URL. + # Corresponds to the JSON property `group` + # @return [String] + attr_accessor :group + + # The max RPS of the group. Can be used with either balancing mode, but required + # if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must be set. + # Corresponds to the JSON property `maxRate` + # @return [Fixnum] + attr_accessor :max_rate + + # The max RPS that a single backed instance can handle. This is used to + # calculate the capacity of the group. Can be used in either balancing mode. For + # RATE mode, either maxRate or maxRatePerInstance must be set. + # Corresponds to the JSON property `maxRatePerInstance` + # @return [Float] + attr_accessor :max_rate_per_instance + + # Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization + # target for the group. The default is 0.8. Valid range is [0.0, 1.0]. + # Corresponds to the JSON property `maxUtilization` + # @return [Float] + attr_accessor :max_utilization + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @balancing_mode = args[:balancing_mode] unless args[:balancing_mode].nil? + @capacity_scaler = args[:capacity_scaler] unless args[:capacity_scaler].nil? + @description = args[:description] unless args[:description].nil? + @group = args[:group] unless args[:group].nil? + @max_rate = args[:max_rate] unless args[:max_rate].nil? + @max_rate_per_instance = args[:max_rate_per_instance] unless args[:max_rate_per_instance].nil? + @max_utilization = args[:max_utilization] unless args[:max_utilization].nil? + end + end + + # A BackendService resource. This resource defines a group of backend virtual + # machines together with their serving capacity. + class BackendService + include Google::Apis::Core::Hashable + + # The list of backends that serve this BackendService. + # Corresponds to the JSON property `backends` + # @return [Array] + attr_accessor :backends + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Fingerprint of this resource. A hash of the contents stored in this object. + # This field is used in optimistic locking. This field will be ignored when + # inserting a BackendService. An up-to-date fingerprint must be provided in + # order to update the BackendService. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for + # health checking this BackendService. Currently at most one health check can be + # specified, and a health check is required. + # Corresponds to the JSON property `healthChecks` + # @return [Array] + attr_accessor :health_checks + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of resource. Always compute#backendService for backend + # services. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Deprecated in favor of port name. The TCP port to connect on the backend. The + # default value is 80. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + # Name of backend port. The same name should appear in the resource views + # referenced by this service. Required. + # Corresponds to the JSON property `portName` + # @return [String] + attr_accessor :port_name + + # + # Corresponds to the JSON property `protocol` + # @return [String] + attr_accessor :protocol + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # How many seconds to wait for the backend before considering it a failed + # request. Default is 30 seconds. + # Corresponds to the JSON property `timeoutSec` + # @return [Fixnum] + attr_accessor :timeout_sec + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @backends = args[:backends] unless args[:backends].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @health_checks = args[:health_checks] unless args[:health_checks].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @port = args[:port] unless args[:port].nil? + @port_name = args[:port_name] unless args[:port_name].nil? + @protocol = args[:protocol] unless args[:protocol].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @timeout_sec = args[:timeout_sec] unless args[:timeout_sec].nil? + end + end + + # + class BackendServiceGroupHealth + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `healthStatus` + # @return [Array] + attr_accessor :health_status + + # [Output Only] Type of resource. Always compute#backendServiceGroupHealth for + # the health of backend services. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_status = args[:health_status] unless args[:health_status].nil? + @kind = args[:kind] unless args[:kind].nil? + end + end + + # Contains a list of BackendService resources. + class BackendServiceList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of BackendService resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#backendServiceList for lists of + # backend services. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Represents a customer-supplied encryption key + class CustomerEncryptionKey + include Google::Apis::Core::Hashable + + # Specifies a 256-bit customer-supplied encryption key, encoded in base64 to + # either encrypt or decrypt this resource. + # Corresponds to the JSON property `rawKey` + # @return [String] + attr_accessor :raw_key + + # Specifies a base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption + # key to either encrypt or decrypt this resource. + # The key must meet the following requirements before you can provide it to + # Compute Engine: + # - The key is wrapped using a RSA public key certificate provided by Google. + # - After being wrapped, the key must be encoded in base64 encoding. Get the + # RSA public key certificate provided by Google at: + # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem + # Corresponds to the JSON property `rsaEncryptedKey` + # @return [String] + attr_accessor :rsa_encrypted_key + + # [Output only] The base64 encoded SHA-256 hash of the customer-supplied + # encryption key that protects this resource. + # Corresponds to the JSON property `sha256` + # @return [String] + attr_accessor :sha256 + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @raw_key = args[:raw_key] unless args[:raw_key].nil? + @rsa_encrypted_key = args[:rsa_encrypted_key] unless args[:rsa_encrypted_key].nil? + @sha256 = args[:sha256] unless args[:sha256].nil? + end + end + + # Deprecation status for a public resource. + class DeprecationStatus + include Google::Apis::Core::Hashable + + # An optional RFC3339 timestamp on or after which the deprecation state of this + # resource will be changed to DELETED. + # Corresponds to the JSON property `deleted` + # @return [String] + attr_accessor :deleted + + # An optional RFC3339 timestamp on or after which the deprecation state of this + # resource will be changed to DEPRECATED. + # Corresponds to the JSON property `deprecated` + # @return [String] + attr_accessor :deprecated + + # An optional RFC3339 timestamp on or after which the deprecation state of this + # resource will be changed to OBSOLETE. + # Corresponds to the JSON property `obsolete` + # @return [String] + attr_accessor :obsolete + + # The URL of the suggested replacement for a deprecated resource. The suggested + # replacement resource must be the same kind of resource as the deprecated + # resource. + # Corresponds to the JSON property `replacement` + # @return [String] + attr_accessor :replacement + + # The deprecation state of this resource. This can be DEPRECATED, OBSOLETE, or + # DELETED. Operations which create a new resource using a DEPRECATED resource + # will return successfully, but with a warning indicating the deprecated + # resource and recommending its replacement. Operations which use OBSOLETE or + # DELETED resources will be rejected and result in an error. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @deleted = args[:deleted] unless args[:deleted].nil? + @deprecated = args[:deprecated] unless args[:deprecated].nil? + @obsolete = args[:obsolete] unless args[:obsolete].nil? + @replacement = args[:replacement] unless args[:replacement].nil? + @state = args[:state] unless args[:state].nil? + end + end + + # A Disk resource. + class Disk + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `diskEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :disk_encryption_key + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#disk for disks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Last attach timestamp in RFC3339 text format. + # Corresponds to the JSON property `lastAttachTimestamp` + # @return [String] + attr_accessor :last_attach_timestamp + + # [Output Only] Last detach timestamp in RFC3339 text format. + # Corresponds to the JSON property `lastDetachTimestamp` + # @return [String] + attr_accessor :last_detach_timestamp + + # Any applicable publicly visible licenses. + # Corresponds to the JSON property `licenses` + # @return [Array] + attr_accessor :licenses + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Internal use only. + # Corresponds to the JSON property `options` + # @return [String] + attr_accessor :options + + # [Output Only] Server-defined fully-qualified URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # Size of the persistent disk, specified in GB. You can specify this field when + # creating a persistent disk using the sourceImage or sourceSnapshot parameter, + # or specify it alone to create an empty persistent disk. + # If you specify this field along with sourceImage or sourceSnapshot, the value + # of sizeGb must not be less than the size of the sourceImage or the size of the + # snapshot. + # Corresponds to the JSON property `sizeGb` + # @return [String] + attr_accessor :size_gb + + # The source image used to create this disk. If the source image is deleted from + # the system, this field will not be set, even if an image with the same name + # has been re-created. + # When creating a disk, you can provide a private (custom) image using the + # following input, and Compute Engine will use the corresponding image from your + # project. For example: + # global/images/my-private-image + # Or you can provide an image from a publicly-available project. For example, to + # use a Debian image from the debian-cloud project, make sure to include the + # project in the URL: + # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # where vYYYYMMDD is the image version. The fully-qualified URL will also work + # in both cases. + # Corresponds to the JSON property `sourceImage` + # @return [String] + attr_accessor :source_image + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `sourceImageEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :source_image_encryption_key + + # The ID value of the image used to create this disk. This value identifies the + # exact image that was used to create this persistent disk. For example, if you + # created the persistent disk from an image that was later deleted and recreated + # under the same name, the source image ID would identify the exact version of + # the image that was used. + # Corresponds to the JSON property `sourceImageId` + # @return [String] + attr_accessor :source_image_id + + # The source snapshot used to create this disk. You can provide this as a + # partial or full URL to the resource. For example, the following are valid + # values: + # - https://www.googleapis.com/compute/v1/projects/project/global/snapshots/ + # snapshot + # - projects/project/global/snapshots/snapshot + # - global/snapshots/snapshot + # Corresponds to the JSON property `sourceSnapshot` + # @return [String] + attr_accessor :source_snapshot + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `sourceSnapshotEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :source_snapshot_encryption_key + + # [Output Only] The unique ID of the snapshot used to create this disk. This + # value identifies the exact snapshot that was used to create this persistent + # disk. For example, if you created the persistent disk from a snapshot that was + # later deleted and recreated under the same name, the source snapshot ID would + # identify the exact version of the snapshot that was used. + # Corresponds to the JSON property `sourceSnapshotId` + # @return [String] + attr_accessor :source_snapshot_id + + # [Output Only] The status of disk creation. Applicable statuses includes: + # CREATING, FAILED, READY, RESTORING. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Deprecated] Storage type of the persistent disk. + # Corresponds to the JSON property `storageType` + # @return [String] + attr_accessor :storage_type + + # URL of the disk type resource describing which disk type to use to create the + # disk; provided by the client when the disk is created. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + # Links to the users of the disk (attached instances) in form: project/zones/ + # zone/instances/instance + # Corresponds to the JSON property `users` + # @return [Array] + attr_accessor :users + + # [Output Only] URL of the zone where the disk resides. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @disk_encryption_key = args[:disk_encryption_key] unless args[:disk_encryption_key].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @last_attach_timestamp = args[:last_attach_timestamp] unless args[:last_attach_timestamp].nil? + @last_detach_timestamp = args[:last_detach_timestamp] unless args[:last_detach_timestamp].nil? + @licenses = args[:licenses] unless args[:licenses].nil? + @name = args[:name] unless args[:name].nil? + @options = args[:options] unless args[:options].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @size_gb = args[:size_gb] unless args[:size_gb].nil? + @source_image = args[:source_image] unless args[:source_image].nil? + @source_image_encryption_key = args[:source_image_encryption_key] unless args[:source_image_encryption_key].nil? + @source_image_id = args[:source_image_id] unless args[:source_image_id].nil? + @source_snapshot = args[:source_snapshot] unless args[:source_snapshot].nil? + @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] unless args[:source_snapshot_encryption_key].nil? + @source_snapshot_id = args[:source_snapshot_id] unless args[:source_snapshot_id].nil? + @status = args[:status] unless args[:status].nil? + @storage_type = args[:storage_type] unless args[:storage_type].nil? + @type = args[:type] unless args[:type].nil? + @users = args[:users] unless args[:users].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class DiskAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped disk lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#diskAggregatedList for + # aggregated lists of persistent disks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A list of Disk resources. + class DiskList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of persistent disks. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#diskList for lists of disks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A disk type resource. + class DiskType + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # [Output Only] Server-defined default disk size in GB. + # Corresponds to the JSON property `defaultDiskSizeGb` + # @return [String] + attr_accessor :default_disk_size_gb + + # Deprecation status for a public resource. + # Corresponds to the JSON property `deprecated` + # @return [Google::Apis::ComputeBeta::DeprecationStatus] + attr_accessor :deprecated + + # [Output Only] An optional description of this resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#diskType for disk types. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Name of the resource. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] An optional textual description of the valid disk size, such as " + # 10GB-10TB". + # Corresponds to the JSON property `validDiskSize` + # @return [String] + attr_accessor :valid_disk_size + + # [Output Only] URL of the zone where the disk type resides. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @default_disk_size_gb = args[:default_disk_size_gb] unless args[:default_disk_size_gb].nil? + @deprecated = args[:deprecated] unless args[:deprecated].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @valid_disk_size = args[:valid_disk_size] unless args[:valid_disk_size].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class DiskTypeAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped disk type lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#diskTypeAggregatedList. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of disk type resources. + class DiskTypeList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Disk Type resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#diskTypeList for disk types. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class DiskTypesScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of disk types contained in this scope. + # Corresponds to the JSON property `diskTypes` + # @return [Array] + attr_accessor :disk_types + + # [Output Only] Informational warning which replaces the list of disk types when + # the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::DiskTypesScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disk_types = args[:disk_types] unless args[:disk_types].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] Informational warning which replaces the list of disk types when + # the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class DisksResizeRequest + include Google::Apis::Core::Hashable + + # The new size of the persistent disk, which is specified in GB. + # Corresponds to the JSON property `sizeGb` + # @return [String] + attr_accessor :size_gb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @size_gb = args[:size_gb] unless args[:size_gb].nil? + end + end + + # + class DisksScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of disks contained in this scope. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + + # [Output Only] Informational warning which replaces the list of disks when the + # list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::DisksScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disks = args[:disks] unless args[:disks].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] Informational warning which replaces the list of disks when the + # list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # A Firewall resource. + class Firewall + include Google::Apis::Core::Hashable + + # The list of rules specified by this firewall. Each rule specifies a protocol + # and port-range tuple that describes a permitted connection. + # Corresponds to the JSON property `allowed` + # @return [Array] + attr_accessor :allowed + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Ony] Type of the resource. Always compute#firewall for firewall rules. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # URL of the network resource for this firewall rule. This field is required for + # creating an instance but optional when creating a firewall rule. If not + # specified when creating a firewall rule, the default network is used: + # global/networks/default + # If you choose to specify this property, you can specify the network as a full + # or partial URL. For example, the following are all valid URLs: + # - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my- + # network + # - projects/myproject/global/networks/my-network + # - global/networks/default + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # The IP address blocks that this rule applies to, expressed in CIDR format. One + # or both of sourceRanges and sourceTags may be set. + # If both properties are set, an inbound connection is allowed if the range + # matches the sourceRanges OR the tag of the source matches the sourceTags + # property. The connection does not need to match both properties. + # Corresponds to the JSON property `sourceRanges` + # @return [Array] + attr_accessor :source_ranges + + # A list of instance tags which this rule applies to. One or both of + # sourceRanges and sourceTags may be set. + # If both properties are set, an inbound connection is allowed if the range + # matches the sourceRanges OR the tag of the source matches the sourceTags + # property. The connection does not need to match both properties. + # Corresponds to the JSON property `sourceTags` + # @return [Array] + attr_accessor :source_tags + + # A list of instance tags indicating sets of instances located in the network + # that may make network connections as specified in allowed[]. If no targetTags + # are specified, the firewall rule applies to all instances on the specified + # network. + # Corresponds to the JSON property `targetTags` + # @return [Array] + attr_accessor :target_tags + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allowed = args[:allowed] unless args[:allowed].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @network = args[:network] unless args[:network].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @source_ranges = args[:source_ranges] unless args[:source_ranges].nil? + @source_tags = args[:source_tags] unless args[:source_tags].nil? + @target_tags = args[:target_tags] unless args[:target_tags].nil? + end + + # + class Allowed + include Google::Apis::Core::Hashable + + # The IP protocol that is allowed for this rule. The protocol type is required + # when creating a firewall. This value can either be one of the following well + # known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol + # number. + # Corresponds to the JSON property `IPProtocol` + # @return [String] + attr_accessor :ip_protocol + + # An optional list of ports which are allowed. This field is only applicable for + # UDP or TCP protocol. Each entry must be either an integer or a range. If not + # specified, connections through any port are allowed + # Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. + # Corresponds to the JSON property `ports` + # @return [Array] + attr_accessor :ports + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ip_protocol = args[:ip_protocol] unless args[:ip_protocol].nil? + @ports = args[:ports] unless args[:ports].nil? + end + end + end + + # Contains a list of Firewall resources. + class FirewallList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Firewall resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#firewallList for lists of + # firewalls. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A ForwardingRule resource. A ForwardingRule resource specifies which pool of + # target virtual machines to forward a packet to if it matches the given [ + # IPAddress, IPProtocol, portRange] tuple. + class ForwardingRule + include Google::Apis::Core::Hashable + + # Value of the reserved IP address that this forwarding rule is serving on + # behalf of. For global forwarding rules, the address must be a global IP; for + # regional forwarding rules, the address must live in the same region as the + # forwarding rule. If left empty (default value), an ephemeral IP from the same + # scope (global or regional) will be assigned. + # Corresponds to the JSON property `IPAddress` + # @return [String] + attr_accessor :ip_address + + # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, + # AH or SCTP. + # Corresponds to the JSON property `IPProtocol` + # @return [String] + attr_accessor :ip_protocol + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#forwardingRule for + # Forwarding Rule resources. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed + # to ports in the specified range will be forwarded to target. Forwarding rules + # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. + # Corresponds to the JSON property `portRange` + # @return [String] + attr_accessor :port_range + + # [Output Only] URL of the region where the regional forwarding rule resides. + # This field is not applicable to global forwarding rules. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # The URL of the target resource to receive the matched traffic. For regional + # forwarding rules, this target must live in the same region as the forwarding + # rule. For global forwarding rules, this target must be a global + # TargetHttpProxy or TargetHttpsProxy resource. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ip_address = args[:ip_address] unless args[:ip_address].nil? + @ip_protocol = args[:ip_protocol] unless args[:ip_protocol].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @port_range = args[:port_range] unless args[:port_range].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @target = args[:target] unless args[:target].nil? + end + end + + # + class ForwardingRuleAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped forwarding rule lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of ForwardingRule resources. + class ForwardingRuleList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Set by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of ForwardingRule resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class ForwardingRulesScopedList + include Google::Apis::Core::Hashable + + # List of forwarding rules contained in this scope. + # Corresponds to the JSON property `forwardingRules` + # @return [Array] + attr_accessor :forwarding_rules + + # Informational warning which replaces the list of forwarding rules when the + # list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @forwarding_rules = args[:forwarding_rules] unless args[:forwarding_rules].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # Informational warning which replaces the list of forwarding rules when the + # list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class HealthCheckReference + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `healthCheck` + # @return [String] + attr_accessor :health_check + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_check = args[:health_check] unless args[:health_check].nil? + end + end + + # + class HealthStatus + include Google::Apis::Core::Hashable + + # Health state of the instance. + # Corresponds to the JSON property `healthState` + # @return [String] + attr_accessor :health_state + + # URL of the instance resource. + # Corresponds to the JSON property `instance` + # @return [String] + attr_accessor :instance + + # The IP address represented by this resource. + # Corresponds to the JSON property `ipAddress` + # @return [String] + attr_accessor :ip_address + + # The port on the instance. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_state = args[:health_state] unless args[:health_state].nil? + @instance = args[:instance] unless args[:instance].nil? + @ip_address = args[:ip_address] unless args[:ip_address].nil? + @port = args[:port] unless args[:port].nil? + end + end + + # UrlMaps A host-matching rule for a URL. If matched, will use the named + # PathMatcher to select the BackendService. + class HostRule + include Google::Apis::Core::Hashable + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The list of host patterns to match. They must be valid hostnames, except * + # will match any string of ([a-z0-9-.]*). In that case, * must be the first + # character and must be followed in the pattern by either - or .. + # Corresponds to the JSON property `hosts` + # @return [Array] + attr_accessor :hosts + + # The name of the PathMatcher to use to match the path portion of the URL if the + # hostRule matches the URL's host portion. + # Corresponds to the JSON property `pathMatcher` + # @return [String] + attr_accessor :path_matcher + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] unless args[:description].nil? + @hosts = args[:hosts] unless args[:hosts].nil? + @path_matcher = args[:path_matcher] unless args[:path_matcher].nil? + end + end + + # An HttpHealthCheck resource. This resource defines a template for how + # individual instances should be checked for health, via HTTP. + class HttpHealthCheck + include Google::Apis::Core::Hashable + + # How often (in seconds) to send a health check. The default value is 5 seconds. + # Corresponds to the JSON property `checkIntervalSec` + # @return [Fixnum] + attr_accessor :check_interval_sec + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # A so-far unhealthy instance will be marked healthy after this many consecutive + # successes. The default value is 2. + # Corresponds to the JSON property `healthyThreshold` + # @return [Fixnum] + attr_accessor :healthy_threshold + + # The value of the host header in the HTTP health check request. If left empty ( + # default value), the public IP on behalf of which this health check is + # performed will be used. + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Type of the resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The TCP port number for the HTTP health check request. The default value is 80. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + # The request path of the HTTP health check request. The default value is "/". + # Corresponds to the JSON property `requestPath` + # @return [String] + attr_accessor :request_path + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # How long (in seconds) to wait before claiming failure. The default value is 5 + # seconds. It is invalid for timeoutSec to have greater value than + # checkIntervalSec. + # Corresponds to the JSON property `timeoutSec` + # @return [Fixnum] + attr_accessor :timeout_sec + + # A so-far healthy instance will be marked unhealthy after this many consecutive + # failures. The default value is 2. + # Corresponds to the JSON property `unhealthyThreshold` + # @return [Fixnum] + attr_accessor :unhealthy_threshold + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @check_interval_sec = args[:check_interval_sec] unless args[:check_interval_sec].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @healthy_threshold = args[:healthy_threshold] unless args[:healthy_threshold].nil? + @host = args[:host] unless args[:host].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @port = args[:port] unless args[:port].nil? + @request_path = args[:request_path] unless args[:request_path].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @timeout_sec = args[:timeout_sec] unless args[:timeout_sec].nil? + @unhealthy_threshold = args[:unhealthy_threshold] unless args[:unhealthy_threshold].nil? + end + end + + # Contains a list of HttpHealthCheck resources. + class HttpHealthCheckList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of HttpHealthCheck resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # An HttpsHealthCheck resource. This resource defines a template for how + # individual instances should be checked for health, via HTTPS. + class HttpsHealthCheck + include Google::Apis::Core::Hashable + + # How often (in seconds) to send a health check. The default value is 5 seconds. + # Corresponds to the JSON property `checkIntervalSec` + # @return [Fixnum] + attr_accessor :check_interval_sec + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # A so-far unhealthy instance will be marked healthy after this many consecutive + # successes. The default value is 2. + # Corresponds to the JSON property `healthyThreshold` + # @return [Fixnum] + attr_accessor :healthy_threshold + + # The value of the host header in the HTTPS health check request. If left empty ( + # default value), the public IP on behalf of which this health check is + # performed will be used. + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Type of the resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The TCP port number for the HTTPS health check request. The default value is + # 443. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + # The request path of the HTTPS health check request. The default value is "/". + # Corresponds to the JSON property `requestPath` + # @return [String] + attr_accessor :request_path + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # How long (in seconds) to wait before claiming failure. The default value is 5 + # seconds. It is invalid for timeoutSec to have a greater value than + # checkIntervalSec. + # Corresponds to the JSON property `timeoutSec` + # @return [Fixnum] + attr_accessor :timeout_sec + + # A so-far healthy instance will be marked unhealthy after this many consecutive + # failures. The default value is 2. + # Corresponds to the JSON property `unhealthyThreshold` + # @return [Fixnum] + attr_accessor :unhealthy_threshold + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @check_interval_sec = args[:check_interval_sec] unless args[:check_interval_sec].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @healthy_threshold = args[:healthy_threshold] unless args[:healthy_threshold].nil? + @host = args[:host] unless args[:host].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @port = args[:port] unless args[:port].nil? + @request_path = args[:request_path] unless args[:request_path].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @timeout_sec = args[:timeout_sec] unless args[:timeout_sec].nil? + @unhealthy_threshold = args[:unhealthy_threshold] unless args[:unhealthy_threshold].nil? + end + end + + # Contains a list of HttpsHealthCheck resources. + class HttpsHealthCheckList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of HttpsHealthCheck resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # An Image resource. + class Image + include Google::Apis::Core::Hashable + + # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). + # Corresponds to the JSON property `archiveSizeBytes` + # @return [String] + attr_accessor :archive_size_bytes + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # Deprecation status for a public resource. + # Corresponds to the JSON property `deprecated` + # @return [Google::Apis::ComputeBeta::DeprecationStatus] + attr_accessor :deprecated + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Size of the image when restored onto a persistent disk (in GB). + # Corresponds to the JSON property `diskSizeGb` + # @return [String] + attr_accessor :disk_size_gb + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `imageEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :image_encryption_key + + # [Output Only] Type of the resource. Always compute#image for images. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Any applicable publicly visible licenses. + # Corresponds to the JSON property `licenses` + # @return [Array] + attr_accessor :licenses + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The parameters of the raw disk image. + # Corresponds to the JSON property `rawDisk` + # @return [Google::Apis::ComputeBeta::Image::RawDisk] + attr_accessor :raw_disk + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # URL of the The source disk used to create this image. This can be a full or + # valid partial URL. You must provide either this property or the rawDisk.source + # property but not both to create an image. For example, the following are valid + # values: + # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disk/disk + # - projects/project/zones/zone/disk/disk + # - zones/zone/disks/disk + # Corresponds to the JSON property `sourceDisk` + # @return [String] + attr_accessor :source_disk + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `sourceDiskEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :source_disk_encryption_key + + # The ID value of the disk used to create this image. This value may be used to + # determine whether the image was taken from the current or a previous instance + # of a given disk name. + # Corresponds to the JSON property `sourceDiskId` + # @return [String] + attr_accessor :source_disk_id + + # The type of the image used to create this disk. The default and only value is + # RAW + # Corresponds to the JSON property `sourceType` + # @return [String] + attr_accessor :source_type + + # [Output Only] The status of the image. An image can be used to create other + # resources, such as instances, only after the image has been successfully + # created and the status is set to READY. Possible values are FAILED, PENDING, + # or READY. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @archive_size_bytes = args[:archive_size_bytes] unless args[:archive_size_bytes].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @deprecated = args[:deprecated] unless args[:deprecated].nil? + @description = args[:description] unless args[:description].nil? + @disk_size_gb = args[:disk_size_gb] unless args[:disk_size_gb].nil? + @id = args[:id] unless args[:id].nil? + @image_encryption_key = args[:image_encryption_key] unless args[:image_encryption_key].nil? + @kind = args[:kind] unless args[:kind].nil? + @licenses = args[:licenses] unless args[:licenses].nil? + @name = args[:name] unless args[:name].nil? + @raw_disk = args[:raw_disk] unless args[:raw_disk].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @source_disk = args[:source_disk] unless args[:source_disk].nil? + @source_disk_encryption_key = args[:source_disk_encryption_key] unless args[:source_disk_encryption_key].nil? + @source_disk_id = args[:source_disk_id] unless args[:source_disk_id].nil? + @source_type = args[:source_type] unless args[:source_type].nil? + @status = args[:status] unless args[:status].nil? + end + + # The parameters of the raw disk image. + class RawDisk + include Google::Apis::Core::Hashable + + # The format used to encode and transmit the block device, which should be TAR. + # This is just a container and transmission format and not a runtime format. + # Provided by the client when the disk image is created. + # Corresponds to the JSON property `containerType` + # @return [String] + attr_accessor :container_type + + # An optional SHA1 checksum of the disk image before unpackaging; provided by + # the client when the disk image is created. + # Corresponds to the JSON property `sha1Checksum` + # @return [String] + attr_accessor :sha1_checksum + + # The full Google Cloud Storage URL where the disk image is stored. You must + # provide either this property or the sourceDisk property but not both. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @container_type = args[:container_type] unless args[:container_type].nil? + @sha1_checksum = args[:sha1_checksum] unless args[:sha1_checksum].nil? + @source = args[:source] unless args[:source].nil? + end + end + end + + # Contains a list of Image resources. + class ImageList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Image resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # An Instance resource. + class Instance + include Google::Apis::Core::Hashable + + # Allows this instance to send and receive packets with non-matching destination + # or source IPs. This is required if you plan to use this instance to forward + # routes. For more information, see Enabling IP Forwarding. + # Corresponds to the JSON property `canIpForward` + # @return [Boolean] + attr_accessor :can_ip_forward + alias_method :can_ip_forward?, :can_ip_forward + + # [Output Only] The CPU platform used by this instance. + # Corresponds to the JSON property `cpuPlatform` + # @return [String] + attr_accessor :cpu_platform + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional textual description of the resource; provided by the client when + # the resource is created. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Array of disks associated with this instance. Persistent disks must be created + # before you can assign them. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + + # [Output Only] Unique identifier for the resource. This identifier is defined + # by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#instance for instances. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # A fingerprint for this request, which is essentially a hash of the metadata's + # contents and used for optimistic locking. The fingerprint is initially + # generated by Compute Engine and changes after every request to modify or + # update metadata. You must always provide an up-to-date fingerprint hash in + # order to update or change metadata. + # To see the latest fingerprint, make get() request to the instance. + # Corresponds to the JSON property `labelFingerprint` + # @return [String] + attr_accessor :label_fingerprint + + # Labels to apply to this instance. These can be later modified by the setLabels + # method. Each label key/value pair must comply with RFC1035. Label values may + # be empty. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Full or partial URL of the machine type resource to use for this instance, in + # the format: zones/zone/machineTypes/ machine-type. This is provided by the + # client when the instance is created. For example, the following is a valid + # partial url to a predefined machine type: + # zones/us-central1-f/machineTypes/n1-standard-1 + # To create a custom machine type, provide a URL to a machine type in the + # following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, + # etc), and MEMORY is the total memory for this instance. Memory must be a + # multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): + # zones/zone/machineTypes/custom-CPUS-MEMORY + # For example: zones/us-central1-f/machineTypes/custom-4-5120 + # For a full list of restrictions, read the Specifications for custom machine + # types. + # Corresponds to the JSON property `machineType` + # @return [String] + attr_accessor :machine_type + + # A metadata key/value entry. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::ComputeBeta::Metadata] + attr_accessor :metadata + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # An array of configurations for this interface. This specifies how this + # interface is configured to interact with other network services, such as + # connecting to the internet. + # Corresponds to the JSON property `networkInterfaces` + # @return [Array] + attr_accessor :network_interfaces + + # Sets the scheduling options for an Instance. + # Corresponds to the JSON property `scheduling` + # @return [Google::Apis::ComputeBeta::Scheduling] + attr_accessor :scheduling + + # [Output Only] Server defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # A list of service accounts, with their specified scopes, authorized for this + # instance. Service accounts generate access tokens that can be accessed through + # the metadata server and used to authenticate applications on the instance. See + # Authenticating from Google Compute Engine for more information. + # Corresponds to the JSON property `serviceAccounts` + # @return [Array] + attr_accessor :service_accounts + + # [Output Only] The status of the instance. One of the following values: + # PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Output Only] An optional, human-readable explanation of the status. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # A set of instance tags. + # Corresponds to the JSON property `tags` + # @return [Google::Apis::ComputeBeta::Tags] + attr_accessor :tags + + # [Output Only] URL of the zone where the instance resides. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @can_ip_forward = args[:can_ip_forward] unless args[:can_ip_forward].nil? + @cpu_platform = args[:cpu_platform] unless args[:cpu_platform].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @disks = args[:disks] unless args[:disks].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @label_fingerprint = args[:label_fingerprint] unless args[:label_fingerprint].nil? + @labels = args[:labels] unless args[:labels].nil? + @machine_type = args[:machine_type] unless args[:machine_type].nil? + @metadata = args[:metadata] unless args[:metadata].nil? + @name = args[:name] unless args[:name].nil? + @network_interfaces = args[:network_interfaces] unless args[:network_interfaces].nil? + @scheduling = args[:scheduling] unless args[:scheduling].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @service_accounts = args[:service_accounts] unless args[:service_accounts].nil? + @status = args[:status] unless args[:status].nil? + @status_message = args[:status_message] unless args[:status_message].nil? + @tags = args[:tags] unless args[:tags].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class InstanceAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped instance lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#instanceAggregatedList for + # aggregated lists of Instance resources. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] A token used to continue a truncated list request. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class InstanceGroup + include Google::Apis::Core::Hashable + + # [Output Only] The creation timestamp for this instance group in RFC3339 text + # format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The fingerprint of the named ports. The system uses this + # fingerprint to detect conflicts when multiple users change the named ports + # concurrently. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # [Output Only] A unique identifier for this resource type. The server generates + # this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The resource type, which is always compute#instanceGroup for + # instance groups. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The name of the instance group. The name must be 1-63 characters long, and + # comply with RFC1035. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Assigns a name to a port number. For example: `name: "http", port: 80` + # This allows the system to reference ports by the assigned name instead of a + # port number. Named ports can also contain multiple ports. For example: [`name: + # "http", port: 80`,`name: "http", port: 8080`] + # Named ports apply to all instances in this instance group. + # Corresponds to the JSON property `namedPorts` + # @return [Array] + attr_accessor :named_ports + + # [Output Only] The URL of the network to which all instances in the instance + # group belong. + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + + # [Output Only] The URL for this instance group. The server generates this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] The total number of instances in the instance group. + # Corresponds to the JSON property `size` + # @return [Fixnum] + attr_accessor :size + + # [Output Only] The URL of the zone where the instance group is located. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @named_ports = args[:named_ports] unless args[:named_ports].nil? + @network = args[:network] unless args[:network].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @size = args[:size] unless args[:size].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class InstanceGroupAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] A unique identifier for this aggregated list of instance groups. + # The server generates this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped instance group lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] The resource type, which is always compute# + # instanceGroupAggregatedList for aggregated lists of instance groups. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] The URL for this resource type. The server generates this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A list of InstanceGroup resources. + class InstanceGroupList + include Google::Apis::Core::Hashable + + # [Output Only] A unique identifier for this list of instance groups. The server + # generates this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of instance groups. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] The resource type, which is always compute#instanceGroupList for + # instance group lists. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] The URL for this resource type. The server generates this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # InstanceGroupManagers + # Next available tag: 20 + class InstanceGroupManager + include Google::Apis::Core::Hashable + + # The autohealing policy for this managed instance group. You can specify only + # one value. + # Corresponds to the JSON property `autoHealingPolicies` + # @return [Array] + attr_accessor :auto_healing_policies + + # The base instance name to use for instances in this group. The value must be 1- + # 58 characters long. Instances are named by appending a hyphen and a random + # four-character string to the base instance name. The base instance name must + # comply with RFC1035. + # Corresponds to the JSON property `baseInstanceName` + # @return [String] + attr_accessor :base_instance_name + + # [Output Only] The creation timestamp for this managed instance group in + # RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # [Output Only] The list of instance actions and the number of instances in this + # managed instance group that are scheduled for each of those actions. + # Corresponds to the JSON property `currentActions` + # @return [Google::Apis::ComputeBeta::InstanceGroupManagerActionsSummary] + attr_accessor :current_actions + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The fingerprint of the target pools information. You can use + # this optional field for optimistic locking when you update the target pool + # entries. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # [Output Only] A unique identifier for this resource type. The server generates + # this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The URL of the Instance Group resource. + # Corresponds to the JSON property `instanceGroup` + # @return [String] + attr_accessor :instance_group + + # The URL of the instance template that is specified for this managed instance + # group. The group uses this template to create all new instances in the managed + # instance group. + # Corresponds to the JSON property `instanceTemplate` + # @return [String] + attr_accessor :instance_template + + # [Output Only] The resource type, which is always compute#instanceGroupManager + # for managed instance groups. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The name of the managed instance group. The name must be 1-63 characters long, + # and comply with RFC1035. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Named ports configured for the Instance Groups complementary to this Instance + # Group Manager. + # Corresponds to the JSON property `namedPorts` + # @return [Array] + attr_accessor :named_ports + + # [Output Only] The URL for this managed instance group. The server defines this + # URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # The URLs for all TargetPool resources to which instances in the instanceGroup + # field are added. The target pools automatically apply to all of the instances + # in the managed instance group. + # Corresponds to the JSON property `targetPools` + # @return [Array] + attr_accessor :target_pools + + # The target number of running instances for this managed instance group. + # Deleting or abandoning instances reduces this number. Resizing the group + # changes this number. + # Corresponds to the JSON property `targetSize` + # @return [Fixnum] + attr_accessor :target_size + + # The name of the zone where the managed instance group is located. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auto_healing_policies = args[:auto_healing_policies] unless args[:auto_healing_policies].nil? + @base_instance_name = args[:base_instance_name] unless args[:base_instance_name].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @current_actions = args[:current_actions] unless args[:current_actions].nil? + @description = args[:description] unless args[:description].nil? + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @id = args[:id] unless args[:id].nil? + @instance_group = args[:instance_group] unless args[:instance_group].nil? + @instance_template = args[:instance_template] unless args[:instance_template].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @named_ports = args[:named_ports] unless args[:named_ports].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @target_pools = args[:target_pools] unless args[:target_pools].nil? + @target_size = args[:target_size] unless args[:target_size].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class InstanceGroupManagerActionsSummary + include Google::Apis::Core::Hashable + + # [Output Only] The total number of instances in the managed instance group that + # are scheduled to be abandoned. Abandoning an instance removes it from the + # managed instance group without deleting it. + # Corresponds to the JSON property `abandoning` + # @return [Fixnum] + attr_accessor :abandoning + + # [Output Only] The number of instances in the managed instance group that are + # scheduled to be created or are currently being created. + # Corresponds to the JSON property `creating` + # @return [Fixnum] + attr_accessor :creating + + # [Output Only] The number of instances in the managed instance group that are + # scheduled to be deleted or are currently being deleted. + # Corresponds to the JSON property `deleting` + # @return [Fixnum] + attr_accessor :deleting + + # [Output Only] The number of instances in the managed instance group that are + # running and have no scheduled actions. + # Corresponds to the JSON property `none` + # @return [Fixnum] + attr_accessor :none + + # [Output Only] The number of instances in the managed instance group that are + # scheduled to be recreated or are currently being being recreated. Recreating + # an instance deletes the existing root persistent disk and creates a new disk + # from the image that is defined in the instance template. + # Corresponds to the JSON property `recreating` + # @return [Fixnum] + attr_accessor :recreating + + # [Output Only] The number of instances in the managed instance group that are + # being reconfigured with properties that do not require a restart or a recreate + # action. For example, setting or removing target pools for the instance. + # Corresponds to the JSON property `refreshing` + # @return [Fixnum] + attr_accessor :refreshing + + # [Output Only] The number of instances in the managed instance group that are + # scheduled to be restarted or are currently being restarted. + # Corresponds to the JSON property `restarting` + # @return [Fixnum] + attr_accessor :restarting + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @abandoning = args[:abandoning] unless args[:abandoning].nil? + @creating = args[:creating] unless args[:creating].nil? + @deleting = args[:deleting] unless args[:deleting].nil? + @none = args[:none] unless args[:none].nil? + @recreating = args[:recreating] unless args[:recreating].nil? + @refreshing = args[:refreshing] unless args[:refreshing].nil? + @restarting = args[:restarting] unless args[:restarting].nil? + end + end + + # + class InstanceGroupManagerAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] A unique identifier for this aggregated list of managed instance + # groups. The server generates this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of filtered managed instance group lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] The resource type, which is always compute# + # instanceGroupManagerAggregatedList for an aggregated list of managed instance + # groups. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] The URL for this resource type. The server generates this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class InstanceGroupManagerAutoHealingPolicy + include Google::Apis::Core::Hashable + + # The URL for the HealthCheck that signals autohealing. + # Corresponds to the JSON property `healthCheck` + # @return [String] + attr_accessor :health_check + + # The number of seconds that the managed instance group waits before it applies + # autohealing policies to new instances or recently recreated instances. This + # initial delay allows instances to initialize and run their startup scripts + # before the instance group determines that they are UNHEALTHY. This prevents + # the managed instance group from recreating its instances prematurely. + # Corresponds to the JSON property `initialDelaySec` + # @return [Fixnum] + attr_accessor :initial_delay_sec + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_check = args[:health_check] unless args[:health_check].nil? + @initial_delay_sec = args[:initial_delay_sec] unless args[:initial_delay_sec].nil? + end + end + + # [Output Only] A list of managed instance groups. + class InstanceGroupManagerList + include Google::Apis::Core::Hashable + + # [Output Only] A unique identifier for this resource type. The server generates + # this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of managed instance groups. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] The resource type, which is always compute# + # instanceGroupManagerList for a list of managed instance groups. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] The URL for this resource type. The server generates this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class InstanceGroupManagersAbandonInstancesRequest + include Google::Apis::Core::Hashable + + # The URL for one or more instances to abandon from the managed instance group. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class InstanceGroupManagersDeleteInstancesRequest + include Google::Apis::Core::Hashable + + # The list of instances to delete from this managed instance group. Specify one + # or more instance URLs. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class InstanceGroupManagersListManagedInstancesResponse + include Google::Apis::Core::Hashable + + # [Output Only] The list of instances in the managed instance group. + # Corresponds to the JSON property `managedInstances` + # @return [Array] + attr_accessor :managed_instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @managed_instances = args[:managed_instances] unless args[:managed_instances].nil? + end + end + + # + class InstanceGroupManagersRecreateInstancesRequest + include Google::Apis::Core::Hashable + + # The URL for one or more instances to recreate. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class InstanceGroupManagersScopedList + include Google::Apis::Core::Hashable + + # [Output Only] The list of managed instance groups that are contained in the + # specified project and zone. + # Corresponds to the JSON property `instanceGroupManagers` + # @return [Array] + attr_accessor :instance_group_managers + + # [Output Only] The warning that replaces the list of managed instance groups + # when the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instance_group_managers = args[:instance_group_managers] unless args[:instance_group_managers].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] The warning that replaces the list of managed instance groups + # when the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class InstanceGroupManagersSetAutoHealingRequest + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `autoHealingPolicies` + # @return [Array] + attr_accessor :auto_healing_policies + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auto_healing_policies = args[:auto_healing_policies] unless args[:auto_healing_policies].nil? + end + end + + # + class InstanceGroupManagersSetInstanceTemplateRequest + include Google::Apis::Core::Hashable + + # The URL of the instance template that is specified for this managed instance + # group. The group uses this template to create all new instances in the managed + # instance group. + # Corresponds to the JSON property `instanceTemplate` + # @return [String] + attr_accessor :instance_template + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instance_template = args[:instance_template] unless args[:instance_template].nil? + end + end + + # + class InstanceGroupManagersSetTargetPoolsRequest + include Google::Apis::Core::Hashable + + # The fingerprint of the target pools information. Use this optional property to + # prevent conflicts when multiple users change the target pools settings + # concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. + # Then, include the fingerprint in your request to ensure that you do not + # overwrite changes that were applied from another concurrent request. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # The list of target pool URLs that instances in this managed instance group + # belong to. The managed instance group applies these target pools to all of the + # instances in the group. Existing instances and new instances in the group all + # receive these target pool settings. + # Corresponds to the JSON property `targetPools` + # @return [Array] + attr_accessor :target_pools + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @target_pools = args[:target_pools] unless args[:target_pools].nil? + end + end + + # + class InstanceGroupsAddInstancesRequest + include Google::Apis::Core::Hashable + + # The list of instances to add to the instance group. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class InstanceGroupsListInstances + include Google::Apis::Core::Hashable + + # [Output Only] A unique identifier for this list of instance groups. The server + # generates this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of instances and any named ports that are assigned to + # those instances. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] The resource type, which is always compute# + # instanceGroupsListInstances for lists of instance groups. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] The URL for this list of instance groups. The server generates + # this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class InstanceGroupsListInstancesRequest + include Google::Apis::Core::Hashable + + # A filter for the state of the instances in the instance group. Valid options + # are ALL or RUNNING. If you do not specify this parameter the list includes all + # instances regardless of their state. + # Corresponds to the JSON property `instanceState` + # @return [String] + attr_accessor :instance_state + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instance_state = args[:instance_state] unless args[:instance_state].nil? + end + end + + # + class InstanceGroupsRemoveInstancesRequest + include Google::Apis::Core::Hashable + + # The list of instances to remove from the instance group. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class InstanceGroupsScopedList + include Google::Apis::Core::Hashable + + # [Output Only] The list of instance groups that are contained in this scope. + # Corresponds to the JSON property `instanceGroups` + # @return [Array] + attr_accessor :instance_groups + + # [Output Only] An informational warning that replaces the list of instance + # groups when the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::InstanceGroupsScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instance_groups = args[:instance_groups] unless args[:instance_groups].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] An informational warning that replaces the list of instance + # groups when the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class InstanceGroupsSetNamedPortsRequest + include Google::Apis::Core::Hashable + + # The fingerprint of the named ports information for this instance group. Use + # this optional property to prevent conflicts when multiple users change the + # named ports settings concurrently. Obtain the fingerprint with the + # instanceGroups.get method. Then, include the fingerprint in your request to + # ensure that you do not overwrite changes that were applied from another + # concurrent request. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # The list of named ports to set for this instance group. + # Corresponds to the JSON property `namedPorts` + # @return [Array] + attr_accessor :named_ports + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @named_ports = args[:named_ports] unless args[:named_ports].nil? + end + end + + # Contains a list of instance resources. + class InstanceList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Instance resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#instanceList for lists of + # Instance resources. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] A token used to continue a truncated list request. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class InstanceProperties + include Google::Apis::Core::Hashable + + # Enables instances created based on this template to send packets with source + # IP addresses other than their own and receive packets with destination IP + # addresses other than their own. If these instances will be used as an IP + # gateway or it will be set as the next-hop in a Route resource, specify true. + # If unsure, leave this set to false. See the canIpForward documentation for + # more information. + # Corresponds to the JSON property `canIpForward` + # @return [Boolean] + attr_accessor :can_ip_forward + alias_method :can_ip_forward?, :can_ip_forward + + # An optional text description for the instances that are created from this + # instance template. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # An array of disks that are associated with the instances that are created from + # this template. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + + # The machine type to use for instances that are created from this template. + # Corresponds to the JSON property `machineType` + # @return [String] + attr_accessor :machine_type + + # A metadata key/value entry. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::ComputeBeta::Metadata] + attr_accessor :metadata + + # An array of network access configurations for this interface. + # Corresponds to the JSON property `networkInterfaces` + # @return [Array] + attr_accessor :network_interfaces + + # Sets the scheduling options for an Instance. + # Corresponds to the JSON property `scheduling` + # @return [Google::Apis::ComputeBeta::Scheduling] + attr_accessor :scheduling + + # A list of service accounts with specified scopes. Access tokens for these + # service accounts are available to the instances that are created from this + # template. Use metadata queries to obtain the access tokens for these instances. + # Corresponds to the JSON property `serviceAccounts` + # @return [Array] + attr_accessor :service_accounts + + # A set of instance tags. + # Corresponds to the JSON property `tags` + # @return [Google::Apis::ComputeBeta::Tags] + attr_accessor :tags + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @can_ip_forward = args[:can_ip_forward] unless args[:can_ip_forward].nil? + @description = args[:description] unless args[:description].nil? + @disks = args[:disks] unless args[:disks].nil? + @machine_type = args[:machine_type] unless args[:machine_type].nil? + @metadata = args[:metadata] unless args[:metadata].nil? + @network_interfaces = args[:network_interfaces] unless args[:network_interfaces].nil? + @scheduling = args[:scheduling] unless args[:scheduling].nil? + @service_accounts = args[:service_accounts] unless args[:service_accounts].nil? + @tags = args[:tags] unless args[:tags].nil? + end + end + + # + class InstanceReference + include Google::Apis::Core::Hashable + + # The URL for a specific instance. + # Corresponds to the JSON property `instance` + # @return [String] + attr_accessor :instance + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instance = args[:instance] unless args[:instance].nil? + end + end + + # An Instance Template resource. + class InstanceTemplate + include Google::Apis::Core::Hashable + + # [Output Only] The creation timestamp for this instance template in RFC3339 + # text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] A unique identifier for this instance template. The server + # defines this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The resource type, which is always compute#instanceTemplate for + # instance templates. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # + # Corresponds to the JSON property `properties` + # @return [Google::Apis::ComputeBeta::InstanceProperties] + attr_accessor :properties + + # [Output Only] The URL for this instance template. The server defines this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @properties = args[:properties] unless args[:properties].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A list of instance templates. + class InstanceTemplateList + include Google::Apis::Core::Hashable + + # [Output Only] A unique identifier for this instance template. The server + # defines this identifier. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] list of InstanceTemplate resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] The resource type, which is always compute# + # instanceTemplatesListResponse for instance template lists. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] The URL for this instance template list. The server defines this + # URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class InstanceWithNamedPorts + include Google::Apis::Core::Hashable + + # [Output Only] The URL of the instance. + # Corresponds to the JSON property `instance` + # @return [String] + attr_accessor :instance + + # [Output Only] The named ports that belong to this instance group. + # Corresponds to the JSON property `namedPorts` + # @return [Array] + attr_accessor :named_ports + + # [Output Only] The status of the instance. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instance = args[:instance] unless args[:instance].nil? + @named_ports = args[:named_ports] unless args[:named_ports].nil? + @status = args[:status] unless args[:status].nil? + end + end + + # + class InstancesScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of instances contained in this scope. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + # [Output Only] Informational warning which replaces the list of instances when + # the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::InstancesScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] Informational warning which replaces the list of instances when + # the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class InstancesSetLabelsRequest + include Google::Apis::Core::Hashable + + # Fingerprint of the previous set of labels for this resource, used to prevent + # conflicts. Provide the latest fingerprint value when making a request to add + # or change labels. + # Corresponds to the JSON property `labelFingerprint` + # @return [String] + attr_accessor :label_fingerprint + + # The new labels for the resource, in the form of key/value pairs. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @label_fingerprint = args[:label_fingerprint] unless args[:label_fingerprint].nil? + @labels = args[:labels] unless args[:labels].nil? + end + end + + # + class InstancesSetMachineTypeRequest + include Google::Apis::Core::Hashable + + # Full or partial URL of the machine type resource. See Machine Types for a full + # list of machine types. For example: zones/us-central1-f/machineTypes/n1- + # standard-1 + # Corresponds to the JSON property `machineType` + # @return [String] + attr_accessor :machine_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @machine_type = args[:machine_type] unless args[:machine_type].nil? + end + end + + # A license resource. + class License + include Google::Apis::Core::Hashable + + # [Output Only] If true, the customer will be charged license fee for running + # software that contains this license on an instance. + # Corresponds to the JSON property `chargesUseFee` + # @return [Boolean] + attr_accessor :charges_use_fee + alias_method :charges_use_fee?, :charges_use_fee + + # [Output Only] Type of resource. Always compute#license for licenses. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Name of the resource. The name is 1-63 characters long and + # complies with RFC1035. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @charges_use_fee = args[:charges_use_fee] unless args[:charges_use_fee].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A Machine Type resource. + class MachineType + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # Deprecation status for a public resource. + # Corresponds to the JSON property `deprecated` + # @return [Google::Apis::ComputeBeta::DeprecationStatus] + attr_accessor :deprecated + + # [Output Only] An optional textual description of the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The number of virtual CPUs that are available to the instance. + # Corresponds to the JSON property `guestCpus` + # @return [Fixnum] + attr_accessor :guest_cpus + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The type of the resource. Always compute#machineType for machine + # types. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Maximum persistent disks allowed. + # Corresponds to the JSON property `maximumPersistentDisks` + # @return [Fixnum] + attr_accessor :maximum_persistent_disks + + # [Output Only] Maximum total persistent disks size (GB) allowed. + # Corresponds to the JSON property `maximumPersistentDisksSizeGb` + # @return [String] + attr_accessor :maximum_persistent_disks_size_gb + + # [Output Only] The amount of physical memory available to the instance, defined + # in MB. + # Corresponds to the JSON property `memoryMb` + # @return [Fixnum] + attr_accessor :memory_mb + + # [Output Only] Name of the resource. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] The name of the zone where the machine type resides, such as us- + # central1-a. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @deprecated = args[:deprecated] unless args[:deprecated].nil? + @description = args[:description] unless args[:description].nil? + @guest_cpus = args[:guest_cpus] unless args[:guest_cpus].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @maximum_persistent_disks = args[:maximum_persistent_disks] unless args[:maximum_persistent_disks].nil? + @maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] unless args[:maximum_persistent_disks_size_gb].nil? + @memory_mb = args[:memory_mb] unless args[:memory_mb].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class MachineTypeAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped machine type lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#machineTypeAggregatedList for + # aggregated lists of machine types. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of Machine Type resources. + class MachineTypeList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Machine Type resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#machineTypeList for lists of + # machine types. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class MachineTypesScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of machine types contained in this scope. + # Corresponds to the JSON property `machineTypes` + # @return [Array] + attr_accessor :machine_types + + # [Output Only] An informational warning that appears when the machine types + # list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::MachineTypesScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @machine_types = args[:machine_types] unless args[:machine_types].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] An informational warning that appears when the machine types + # list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class ManagedInstance + include Google::Apis::Core::Hashable + + # [Output Only] The current action that the managed instance group has scheduled + # for the instance. Possible values: + # - NONE The instance is running, and the managed instance group does not have + # any scheduled actions for this instance. + # - CREATING The managed instance group is creating this instance. + # - RECREATING The managed instance group is recreating this instance. + # - DELETING The managed instance group is permanently deleting this instance. + # - ABANDONING The managed instance group is abandoning this instance. The + # instance will be removed from the instance group and from any target pools + # that are associated with this group. + # - RESTARTING The managed instance group is restarting the instance. + # - REFRESHING The managed instance group is applying configuration changes to + # the instance without stopping it. For example, the group can update the target + # pool list for an instance without stopping that instance. + # Corresponds to the JSON property `currentAction` + # @return [String] + attr_accessor :current_action + + # [Output only] The unique identifier for this resource. This field is empty + # when instance does not exist. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The URL of the instance. The URL can exist even if the instance + # has not yet been created. + # Corresponds to the JSON property `instance` + # @return [String] + attr_accessor :instance + + # [Output Only] The status of the instance. This field is empty when the + # instance does not exist. + # Corresponds to the JSON property `instanceStatus` + # @return [String] + attr_accessor :instance_status + + # [Output Only] Information about the last attempt to create or delete the + # instance. + # Corresponds to the JSON property `lastAttempt` + # @return [Google::Apis::ComputeBeta::ManagedInstanceLastAttempt] + attr_accessor :last_attempt + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @current_action = args[:current_action] unless args[:current_action].nil? + @id = args[:id] unless args[:id].nil? + @instance = args[:instance] unless args[:instance].nil? + @instance_status = args[:instance_status] unless args[:instance_status].nil? + @last_attempt = args[:last_attempt] unless args[:last_attempt].nil? + end + end + + # + class ManagedInstanceLastAttempt + include Google::Apis::Core::Hashable + + # [Output Only] Encountered errors during the last attempt to create or delete + # the instance. + # Corresponds to the JSON property `errors` + # @return [Google::Apis::ComputeBeta::ManagedInstanceLastAttempt::Errors] + attr_accessor :errors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @errors = args[:errors] unless args[:errors].nil? + end + + # [Output Only] Encountered errors during the last attempt to create or delete + # the instance. + class Errors + include Google::Apis::Core::Hashable + + # [Output Only] The array of errors encountered while processing this operation. + # Corresponds to the JSON property `errors` + # @return [Array] + attr_accessor :errors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @errors = args[:errors] unless args[:errors].nil? + end + + # + class Error + include Google::Apis::Core::Hashable + + # [Output Only] The error type identifier for this error. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Indicates the field in the request which caused the error. This + # property is optional. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # [Output Only] An optional, human-readable error message. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @location = args[:location] unless args[:location].nil? + @message = args[:message] unless args[:message].nil? + end + end + end + end + + # A metadata key/value entry. + class Metadata + include Google::Apis::Core::Hashable + + # Specifies a fingerprint for this request, which is essentially a hash of the + # metadata's contents and used for optimistic locking. The fingerprint is + # initially generated by Compute Engine and changes after every request to + # modify or update metadata. You must always provide an up-to-date fingerprint + # hash in order to update or change metadata. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # Array of key/value pairs. The total size of all keys and values must be less + # than 512 KB. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of the resource. Always compute#metadata for metadata. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + end + + # + class Item + include Google::Apis::Core::Hashable + + # Key for the metadata entry. Keys must conform to the following regexp: [a-zA- + # Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a + # URL in the metadata server. Additionally, to avoid ambiguity, keys must not + # conflict with any other metadata keys for the project. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # Value for the metadata entry. These are free-form strings, and only have + # meaning as interpreted by the image running in the instance. The only + # restriction placed on values is that their size must be less than or equal to + # 32768 bytes. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + + # The named port. For example: . + class NamedPort + include Google::Apis::Core::Hashable + + # The name for this named port. The name must be 1-63 characters long, and + # comply with RFC1035. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The port number, which can be a value between 1 and 65535. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] unless args[:name].nil? + @port = args[:port] unless args[:port].nil? + end + end + + # A network resource. + class Network + include Google::Apis::Core::Hashable + + # The range of internal addresses that are legal on this network. This range is + # a CIDR specification, for example: 192.168.0.0/16. Provided by the client when + # the network is created. + # Corresponds to the JSON property `IPv4Range` + # @return [String] + attr_accessor :i_pv4_range + + # When set to true, the subnetwork is created in "auto subnet mode". When set to + # false, the subnetwork is in "custom subnet mode". + # In "auto subnet mode", a newly created network is assigned the default CIDR of + # 10.128.0.0/9 and it automatically creates one subnetwork per region. + # Corresponds to the JSON property `autoCreateSubnetworks` + # @return [Boolean] + attr_accessor :auto_create_subnetworks + alias_method :auto_create_subnetworks?, :auto_create_subnetworks + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # A gateway address for default routing to other networks. This value is read + # only and is selected by the Google Compute Engine, typically as the first + # usable address in the IPv4Range. + # Corresponds to the JSON property `gatewayIPv4` + # @return [String] + attr_accessor :gateway_i_pv4 + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#network for networks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] Server-defined fully-qualified URLs for all subnetworks in this + # network. + # Corresponds to the JSON property `subnetworks` + # @return [Array] + attr_accessor :subnetworks + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @i_pv4_range = args[:i_pv4_range] unless args[:i_pv4_range].nil? + @auto_create_subnetworks = args[:auto_create_subnetworks] unless args[:auto_create_subnetworks].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @gateway_i_pv4 = args[:gateway_i_pv4] unless args[:gateway_i_pv4].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @subnetworks = args[:subnetworks] unless args[:subnetworks].nil? + end + end + + # A network interface resource attached to an instance. + class NetworkInterface + include Google::Apis::Core::Hashable + + # An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is + # the only access config supported. If there are no accessConfigs specified, + # then this instance will have no external internet access. + # Corresponds to the JSON property `accessConfigs` + # @return [Array] + attr_accessor :access_configs + + # [Output Only] The name of the network interface, generated by the server. For + # network devices, these are eth0, eth1, etc. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # URL of the network resource for this instance. This is required for creating + # an instance but optional when creating a firewall rule. If not specified when + # creating a firewall rule, the default network is used: + # global/networks/default + # If you specify this property, you can specify the network as a full or partial + # URL. For example, the following are all valid URLs: + # - https://www.googleapis.com/compute/v1/projects/project/global/networks/ + # network + # - projects/project/global/networks/network + # - global/networks/default + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + + # [Output Only] An optional IPV4 internal network address assigned to the + # instance for this network interface. + # Corresponds to the JSON property `networkIP` + # @return [String] + attr_accessor :network_ip + + # URL of the subnetwork resource for this instance. This should not be provided + # if the network resource is in legacy mode. If the network is in auto subnet + # mode, providing the subnetwork is optional. If the network is in custom subnet + # mode then the field should be specified. If you specify this property, you can + # specify the subnetwork as a full or partial URL. For example, the following + # are all valid URLs: + # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/ + # subnetworks/subnetwork + # - projects/project/zones/zone/networks/network + # Corresponds to the JSON property `subnetwork` + # @return [String] + attr_accessor :subnetwork + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @access_configs = args[:access_configs] unless args[:access_configs].nil? + @name = args[:name] unless args[:name].nil? + @network = args[:network] unless args[:network].nil? + @network_ip = args[:network_ip] unless args[:network_ip].nil? + @subnetwork = args[:subnetwork] unless args[:subnetwork].nil? + end + end + + # Contains a list of Network resources. + class NetworkList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Network resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#networkList for lists of + # networks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource . + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # An Operation resource, used to manage asynchronous API requests. + class Operation + include Google::Apis::Core::Hashable + + # [Output Only] A unique client ID generated by the server. + # Corresponds to the JSON property `clientOperationId` + # @return [String] + attr_accessor :client_operation_id + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # [Output Only] A textual description of the operation, which is set when the + # operation is created. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The time that this operation was completed. This value is in + # RFC3339 text format. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # [Output Only] If errors are generated during processing of the operation, this + # field will be populated. + # Corresponds to the JSON property `error` + # @return [Google::Apis::ComputeBeta::Operation::Error] + attr_accessor :error + + # [Output Only] If the operation fails, this field contains the HTTP error + # message that was returned, such as NOT FOUND. + # Corresponds to the JSON property `httpErrorMessage` + # @return [String] + attr_accessor :http_error_message + + # [Output Only] If the operation fails, this field contains the HTTP error + # message that was returned. For example, a 404 means the resource was not found. + # Corresponds to the JSON property `httpErrorStatusCode` + # @return [Fixnum] + attr_accessor :http_error_status_code + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The time that this operation was requested. This value is in + # RFC3339 text format. + # Corresponds to the JSON property `insertTime` + # @return [String] + attr_accessor :insert_time + + # [Output Only] Type of the resource. Always compute#operation for Operation + # resources. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Name of the resource. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] The type of operation, which can be insert, update, or delete. + # Corresponds to the JSON property `operationType` + # @return [String] + attr_accessor :operation_type + + # [Output Only] An optional progress indicator that ranges from 0 to 100. There + # is no requirement that this be linear or support any granularity of operations. + # This should not be used to guess at when the operation will be complete. This + # number should monotonically increase as the operation progresses. + # Corresponds to the JSON property `progress` + # @return [Fixnum] + attr_accessor :progress + + # [Output Only] URL of the region where the operation resides. Only applicable + # for regional resources. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] The time that this operation was started by the server. This + # value is in RFC3339 text format. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + # [Output Only] The status of the operation, which can be one of the following: + # PENDING, RUNNING, or DONE. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Output Only] An optional textual description of the current status of the + # operation. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # [Output Only] The unique target ID, which identifies a specific incarnation of + # the target resource. + # Corresponds to the JSON property `targetId` + # @return [String] + attr_accessor :target_id + + # [Output Only] The URL of the resource that the operation is modifying. + # Corresponds to the JSON property `targetLink` + # @return [String] + attr_accessor :target_link + + # [Output Only] User who requested the operation, for example: user@example.com. + # Corresponds to the JSON property `user` + # @return [String] + attr_accessor :user + + # [Output Only] If warning messages are generated during processing of the + # operation, this field will be populated. + # Corresponds to the JSON property `warnings` + # @return [Array] + attr_accessor :warnings + + # [Output Only] URL of the zone where the operation resides. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @client_operation_id = args[:client_operation_id] unless args[:client_operation_id].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @end_time = args[:end_time] unless args[:end_time].nil? + @error = args[:error] unless args[:error].nil? + @http_error_message = args[:http_error_message] unless args[:http_error_message].nil? + @http_error_status_code = args[:http_error_status_code] unless args[:http_error_status_code].nil? + @id = args[:id] unless args[:id].nil? + @insert_time = args[:insert_time] unless args[:insert_time].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @operation_type = args[:operation_type] unless args[:operation_type].nil? + @progress = args[:progress] unless args[:progress].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @start_time = args[:start_time] unless args[:start_time].nil? + @status = args[:status] unless args[:status].nil? + @status_message = args[:status_message] unless args[:status_message].nil? + @target_id = args[:target_id] unless args[:target_id].nil? + @target_link = args[:target_link] unless args[:target_link].nil? + @user = args[:user] unless args[:user].nil? + @warnings = args[:warnings] unless args[:warnings].nil? + @zone = args[:zone] unless args[:zone].nil? + end + + # [Output Only] If errors are generated during processing of the operation, this + # field will be populated. + class Error + include Google::Apis::Core::Hashable + + # [Output Only] The array of errors encountered while processing this operation. + # Corresponds to the JSON property `errors` + # @return [Array] + attr_accessor :errors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @errors = args[:errors] unless args[:errors].nil? + end + + # + class Error + include Google::Apis::Core::Hashable + + # [Output Only] The error type identifier for this error. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Indicates the field in the request which caused the error. This + # property is optional. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # [Output Only] An optional, human-readable error message. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @location = args[:location] unless args[:location].nil? + @message = args[:message] unless args[:message].nil? + end + end + end + + # + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class OperationAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped operation lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#operationAggregatedList for + # aggregated lists of operations. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of Operation resources. + class OperationList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] The Operation resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#operations for Operations + # resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class OperationsScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of operations contained in this scope. + # Corresponds to the JSON property `operations` + # @return [Array] + attr_accessor :operations + + # [Output Only] Informational warning which replaces the list of operations when + # the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::OperationsScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @operations = args[:operations] unless args[:operations].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] Informational warning which replaces the list of operations when + # the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # A matcher for the path portion of the URL. The BackendService from the longest- + # matched rule will serve the URL. If no rule was matched, the default service + # will be used. + class PathMatcher + include Google::Apis::Core::Hashable + + # The URL to the BackendService resource. This will be used if none of the + # pathRules defined by this PathMatcher is met by the URL's path portion. + # Corresponds to the JSON property `defaultService` + # @return [String] + attr_accessor :default_service + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The name to which this PathMatcher is referred by the HostRule. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The list of path rules. + # Corresponds to the JSON property `pathRules` + # @return [Array] + attr_accessor :path_rules + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @default_service = args[:default_service] unless args[:default_service].nil? + @description = args[:description] unless args[:description].nil? + @name = args[:name] unless args[:name].nil? + @path_rules = args[:path_rules] unless args[:path_rules].nil? + end + end + + # A path-matching rule for a URL. If matched, will use the specified + # BackendService to handle the traffic arriving at this URL. + class PathRule + include Google::Apis::Core::Hashable + + # The list of path patterns to match. Each must start with / and the only place + # a * is allowed is at the end following a /. The string fed to the path matcher + # does not include any text after the first ? or #, and those chars are not + # allowed here. + # Corresponds to the JSON property `paths` + # @return [Array] + attr_accessor :paths + + # The URL of the BackendService resource if this rule is matched. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @paths = args[:paths] unless args[:paths].nil? + @service = args[:service] unless args[:service].nil? + end + end + + # A Project resource. Projects can only be created in the Google Developers + # Console. Unless marked otherwise, values can only be modified in the console. + class Project + include Google::Apis::Core::Hashable + + # A metadata key/value entry. + # Corresponds to the JSON property `commonInstanceMetadata` + # @return [Google::Apis::ComputeBeta::Metadata] + attr_accessor :common_instance_metadata + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional textual description of the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Restricted features enabled for use on this project. + # Corresponds to the JSON property `enabledFeatures` + # @return [Array] + attr_accessor :enabled_features + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. This is not the project ID, and is just a unique ID + # used by Compute Engine to identify resources. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#project for projects. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The project ID. For example: my-example-project. Use the project ID to make + # requests to Compute Engine. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Quotas assigned to this project. + # Corresponds to the JSON property `quotas` + # @return [Array] + attr_accessor :quotas + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # The location in Cloud Storage and naming method of the daily usage report. + # Contains bucket_name and report_name prefix. + # Corresponds to the JSON property `usageExportLocation` + # @return [Google::Apis::ComputeBeta::UsageExportLocation] + attr_accessor :usage_export_location + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @common_instance_metadata = args[:common_instance_metadata] unless args[:common_instance_metadata].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @enabled_features = args[:enabled_features] unless args[:enabled_features].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @quotas = args[:quotas] unless args[:quotas].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @usage_export_location = args[:usage_export_location] unless args[:usage_export_location].nil? + end + end + + # A quotas entry. + class Quota + include Google::Apis::Core::Hashable + + # [Output Only] Quota limit for this metric. + # Corresponds to the JSON property `limit` + # @return [Float] + attr_accessor :limit + + # [Output Only] Name of the quota metric. + # Corresponds to the JSON property `metric` + # @return [String] + attr_accessor :metric + + # [Output Only] Current usage of this metric. + # Corresponds to the JSON property `usage` + # @return [Float] + attr_accessor :usage + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @limit = args[:limit] unless args[:limit].nil? + @metric = args[:metric] unless args[:metric].nil? + @usage = args[:usage] unless args[:usage].nil? + end + end + + # Region resource. + class Region + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # Deprecation status for a public resource. + # Corresponds to the JSON property `deprecated` + # @return [Google::Apis::ComputeBeta::DeprecationStatus] + attr_accessor :deprecated + + # [Output Only] Textual description of the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#region for regions. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Name of the resource. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Quotas assigned to this region. + # Corresponds to the JSON property `quotas` + # @return [Array] + attr_accessor :quotas + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] Status of the region, either UP or DOWN. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Output Only] A list of zones available in this region, in the form of + # resource URLs. + # Corresponds to the JSON property `zones` + # @return [Array] + attr_accessor :zones + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @deprecated = args[:deprecated] unless args[:deprecated].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @quotas = args[:quotas] unless args[:quotas].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @status = args[:status] unless args[:status].nil? + @zones = args[:zones] unless args[:zones].nil? + end + end + + # Contains a list of region resources. + class RegionList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Region resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#regionList for lists of regions. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class ResourceGroupReference + include Google::Apis::Core::Hashable + + # A URI referencing one of the resource views listed in the backend service. + # Corresponds to the JSON property `group` + # @return [String] + attr_accessor :group + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @group = args[:group] unless args[:group].nil? + end + end + + # The route resource. A Route is a rule that specifies how certain packets + # should be handled by the virtual network. Routes are associated with instances + # by tag and the set of Routes for a particular instance is called its routing + # table. For each packet leaving a instance, the system searches that instance's + # routing table for a single best matching Route. Routes match packets by + # destination IP address, preferring smaller or more specific ranges over larger + # ones. If there is a tie, the system selects the Route with the smallest + # priority value. If there is still a tie, it uses the layer three and four + # packet headers to select just one of the remaining matching Routes. The packet + # is then forwarded as specified by the nextHop field of the winning Route -- + # either to another instance destination, a instance gateway or a Google Compute + # Engien-operated gateway. Packets that do not match any Route in the sending + # instance's routing table are dropped. + class Route + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The destination range of outgoing packets that this route applies to. + # Corresponds to the JSON property `destRange` + # @return [String] + attr_accessor :dest_range + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of this resource. Always compute#routes for Route resources. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Fully-qualified URL of the network that this route applies to. + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + + # The URL to a gateway that should handle matching packets. Currently, this is + # only the internet gateway: projects//global/gateways/default- + # internet-gateway + # Corresponds to the JSON property `nextHopGateway` + # @return [String] + attr_accessor :next_hop_gateway + + # The fully-qualified URL to an instance that should handle matching packets. + # For example: + # https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ + # Corresponds to the JSON property `nextHopInstance` + # @return [String] + attr_accessor :next_hop_instance + + # The network IP address of an instance that should handle matching packets. + # Corresponds to the JSON property `nextHopIp` + # @return [String] + attr_accessor :next_hop_ip + + # The URL of the local network if it should handle matching packets. + # Corresponds to the JSON property `nextHopNetwork` + # @return [String] + attr_accessor :next_hop_network + + # The URL to a VpnTunnel that should handle matching packets. + # Corresponds to the JSON property `nextHopVpnTunnel` + # @return [String] + attr_accessor :next_hop_vpn_tunnel + + # Breaks ties between Routes of equal specificity. Routes with smaller values + # win when tied with routes with larger values. Default value is 1000. A valid + # range is between 0 and 65535. + # Corresponds to the JSON property `priority` + # @return [Fixnum] + attr_accessor :priority + + # [Output Only] Server-defined fully-qualified URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # A list of instance tags to which this route applies. + # Corresponds to the JSON property `tags` + # @return [Array] + attr_accessor :tags + + # [Output Only] If potential misconfigurations are detected for this route, this + # field will be populated with warning messages. + # Corresponds to the JSON property `warnings` + # @return [Array] + attr_accessor :warnings + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @dest_range = args[:dest_range] unless args[:dest_range].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @network = args[:network] unless args[:network].nil? + @next_hop_gateway = args[:next_hop_gateway] unless args[:next_hop_gateway].nil? + @next_hop_instance = args[:next_hop_instance] unless args[:next_hop_instance].nil? + @next_hop_ip = args[:next_hop_ip] unless args[:next_hop_ip].nil? + @next_hop_network = args[:next_hop_network] unless args[:next_hop_network].nil? + @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] unless args[:next_hop_vpn_tunnel].nil? + @priority = args[:priority] unless args[:priority].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @tags = args[:tags] unless args[:tags].nil? + @warnings = args[:warnings] unless args[:warnings].nil? + end + + # + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # Contains a list of route resources. + class RouteList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of Route resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Sets the scheduling options for an Instance. + class Scheduling + include Google::Apis::Core::Hashable + + # Specifies whether the instance should be automatically restarted if it is + # terminated by Compute Engine (not terminated by a user). You can only set the + # automatic restart option for standard instances. Preemptible instances cannot + # be automatically restarted. + # Corresponds to the JSON property `automaticRestart` + # @return [Boolean] + attr_accessor :automatic_restart + alias_method :automatic_restart?, :automatic_restart + + # Defines the maintenance behavior for this instance. For standard instances, + # the default behavior is MIGRATE. For preemptible instances, the default and + # only possible behavior is TERMINATE. For more information, see Setting + # maintenance behavior. + # Corresponds to the JSON property `onHostMaintenance` + # @return [String] + attr_accessor :on_host_maintenance + + # Whether the instance is preemptible. + # Corresponds to the JSON property `preemptible` + # @return [Boolean] + attr_accessor :preemptible + alias_method :preemptible?, :preemptible + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @automatic_restart = args[:automatic_restart] unless args[:automatic_restart].nil? + @on_host_maintenance = args[:on_host_maintenance] unless args[:on_host_maintenance].nil? + @preemptible = args[:preemptible] unless args[:preemptible].nil? + end + end + + # An instance's serial console output. + class SerialPortOutput + include Google::Apis::Core::Hashable + + # [Output Only] The contents of the console output. + # Corresponds to the JSON property `contents` + # @return [String] + attr_accessor :contents + + # [Output Only] Type of the resource. Always compute#serialPortOutput for serial + # port output. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Server defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @contents = args[:contents] unless args[:contents].nil? + @kind = args[:kind] unless args[:kind].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A service account. + class ServiceAccount + include Google::Apis::Core::Hashable + + # Email address of the service account. + # Corresponds to the JSON property `email` + # @return [String] + attr_accessor :email + + # The list of scopes to be made available for this service account. + # Corresponds to the JSON property `scopes` + # @return [Array] + attr_accessor :scopes + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @email = args[:email] unless args[:email].nil? + @scopes = args[:scopes] unless args[:scopes].nil? + end + end + + # A persistent disk snapshot resource. + class Snapshot + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] Size of the snapshot, specified in GB. + # Corresponds to the JSON property `diskSizeGb` + # @return [String] + attr_accessor :disk_size_gb + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#snapshot for Snapshot + # resources. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Public visible licenses. + # Corresponds to the JSON property `licenses` + # @return [Array] + attr_accessor :licenses + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `snapshotEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :snapshot_encryption_key + + # The source disk used to create this snapshot. + # Corresponds to the JSON property `sourceDisk` + # @return [String] + attr_accessor :source_disk + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `sourceDiskEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :source_disk_encryption_key + + # [Output Only] The ID value of the disk used to create this snapshot. This + # value may be used to determine whether the snapshot was taken from the current + # or a previous instance of a given disk name. + # Corresponds to the JSON property `sourceDiskId` + # @return [String] + attr_accessor :source_disk_id + + # [Output Only] The status of the snapshot. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Output Only] A size of the the storage used by the snapshot. As snapshots + # share storage, this number is expected to change with snapshot creation/ + # deletion. + # Corresponds to the JSON property `storageBytes` + # @return [String] + attr_accessor :storage_bytes + + # [Output Only] An indicator whether storageBytes is in a stable state or it is + # being adjusted as a result of shared storage reallocation. + # Corresponds to the JSON property `storageBytesStatus` + # @return [String] + attr_accessor :storage_bytes_status + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @disk_size_gb = args[:disk_size_gb] unless args[:disk_size_gb].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @licenses = args[:licenses] unless args[:licenses].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @snapshot_encryption_key = args[:snapshot_encryption_key] unless args[:snapshot_encryption_key].nil? + @source_disk = args[:source_disk] unless args[:source_disk].nil? + @source_disk_encryption_key = args[:source_disk_encryption_key] unless args[:source_disk_encryption_key].nil? + @source_disk_id = args[:source_disk_id] unless args[:source_disk_id].nil? + @status = args[:status] unless args[:status].nil? + @storage_bytes = args[:storage_bytes] unless args[:storage_bytes].nil? + @storage_bytes_status = args[:storage_bytes_status] unless args[:storage_bytes_status].nil? + end + end + + # Contains a list of Snapshot resources. + class SnapshotList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of Snapshot resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # An SslCertificate resource. This resource provides a mechanism to upload an + # SSL key and certificate to global HTTPS loadbalancer to serve secure + # connections. + class SslCertificate + include Google::Apis::Core::Hashable + + # A local certificate file. The certificate must be in PEM format. The + # certificate chain must be no greater than 5 certs long. The chain must include + # at least one intermediate cert. + # Corresponds to the JSON property `certificate` + # @return [String] + attr_accessor :certificate + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#sslCertificate for SSL + # certificates. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # A write-only private key in PEM format. Only insert RPCs will include this + # field. + # Corresponds to the JSON property `privateKey` + # @return [String] + attr_accessor :private_key + + # [Output only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @certificate = args[:certificate] unless args[:certificate].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @private_key = args[:private_key] unless args[:private_key].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of SslCertificate resources. + class SslCertificateList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of SslCertificate resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A Subnetwork resource. + class Subnetwork + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional textual description of the resource; provided by the client when + # the resource is created. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] Gateway address for default routes to addresses outside this + # Subnetwork. + # Corresponds to the JSON property `gatewayAddress` + # @return [String] + attr_accessor :gateway_address + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # The range of internal addresses that are owned by this Subnetwork; provided by + # the client when the Subnetwork is created. + # Corresponds to the JSON property `ipCidrRange` + # @return [String] + attr_accessor :ip_cidr_range + + # Type of the resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # URL of the network to which this Subnetwork belongs; provided by the client + # when the Subnetwork is created. Only networks that are in the distributed mode + # can have Subnetworks. + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + + # [Output Only] URL of the region where the Subnetwork resides. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @gateway_address = args[:gateway_address] unless args[:gateway_address].nil? + @id = args[:id] unless args[:id].nil? + @ip_cidr_range = args[:ip_cidr_range] unless args[:ip_cidr_range].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @network = args[:network] unless args[:network].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class SubnetworkAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped Subnetwork lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] A token used to continue a truncated list request. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of Subnetwork resources. + class SubnetworkList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # The Subnetwork resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] A token used to continue a truncated list request. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class SubnetworksScopedList + include Google::Apis::Core::Hashable + + # List of Subnetworks contained in this scope. + # Corresponds to the JSON property `subnetworks` + # @return [Array] + attr_accessor :subnetworks + + # Informational warning which replaces the list of addresses when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::SubnetworksScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @subnetworks = args[:subnetworks] unless args[:subnetworks].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # Informational warning which replaces the list of addresses when the list is + # empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # A set of instance tags. + class Tags + include Google::Apis::Core::Hashable + + # Specifies a fingerprint for this request, which is essentially a hash of the + # metadata's contents and used for optimistic locking. The fingerprint is + # initially generated by Compute Engine and changes after every request to + # modify or update metadata. You must always provide an up-to-date fingerprint + # hash in order to update or change metadata. + # To see the latest fingerprint, make get() request to the instance. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # An array of tags. Each tag must be 1-63 characters long, and comply with + # RFC1035. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @items = args[:items] unless args[:items].nil? + end + end + + # A TargetHttpProxy resource. This resource defines an HTTP proxy. + class TargetHttpProxy + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of resource. Always compute#targetHttpProxy for target HTTP + # proxies. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # URL to the UrlMap resource that defines the mapping from URL to the + # BackendService. + # Corresponds to the JSON property `urlMap` + # @return [String] + attr_accessor :url_map + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @url_map = args[:url_map] unless args[:url_map].nil? + end + end + + # A list of TargetHttpProxy resources. + class TargetHttpProxyList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of TargetHttpProxy resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. Always compute#targetHttpProxyList for lists of Target HTTP + # proxies. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class TargetHttpsProxiesSetSslCertificatesRequest + include Google::Apis::Core::Hashable + + # New set of URLs to SslCertificate resources to associate with this + # TargetHttpProxy. Currently exactly one ssl certificate must be specified. + # Corresponds to the JSON property `sslCertificates` + # @return [Array] + attr_accessor :ssl_certificates + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ssl_certificates = args[:ssl_certificates] unless args[:ssl_certificates].nil? + end + end + + # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. + class TargetHttpsProxy + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#targetHttpsProxy for target + # HTTPS proxies. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # URLs to SslCertificate resources that are used to authenticate connections to + # Backends. Currently exactly one SSL certificate must be specified. + # Corresponds to the JSON property `sslCertificates` + # @return [Array] + attr_accessor :ssl_certificates + + # URL to the UrlMap resource that defines the mapping from URL to the + # BackendService. + # Corresponds to the JSON property `urlMap` + # @return [String] + attr_accessor :url_map + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @ssl_certificates = args[:ssl_certificates] unless args[:ssl_certificates].nil? + @url_map = args[:url_map] unless args[:url_map].nil? + end + end + + # Contains a list of TargetHttpsProxy resources. + class TargetHttpsProxyList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of TargetHttpsProxy resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # A TargetInstance resource. This resource defines an endpoint instance that + # terminates traffic of certain protocols. + class TargetInstance + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # The URL to the instance that terminates the relevant traffic. + # Corresponds to the JSON property `instance` + # @return [String] + attr_accessor :instance + + # [Output Only] The type of the resource. Always compute#targetInstance for + # target instances. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # NAT option controlling how IPs are NAT'ed to the instance. Currently only + # NO_NAT (default value) is supported. + # Corresponds to the JSON property `natPolicy` + # @return [String] + attr_accessor :nat_policy + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] URL of the zone where the target instance resides. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @instance = args[:instance] unless args[:instance].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @nat_policy = args[:nat_policy] unless args[:nat_policy].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @zone = args[:zone] unless args[:zone].nil? + end + end + + # + class TargetInstanceAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped target instance lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of TargetInstance resources. + class TargetInstanceList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of TargetInstance resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class TargetInstancesScopedList + include Google::Apis::Core::Hashable + + # List of target instances contained in this scope. + # Corresponds to the JSON property `targetInstances` + # @return [Array] + attr_accessor :target_instances + + # Informational warning which replaces the list of addresses when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::TargetInstancesScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @target_instances = args[:target_instances] unless args[:target_instances].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # Informational warning which replaces the list of addresses when the list is + # empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # A TargetPool resource. This resource defines a pool of instances, associated + # HttpHealthCheck resources, and the fallback TargetPool. + class TargetPool + include Google::Apis::Core::Hashable + + # This field is applicable only when the containing target pool is serving a + # forwarding rule as the primary pool, and its failoverRatio field is properly + # set to a value between [0, 1]. + # backupPool and failoverRatio together define the fallback behavior of the + # primary target pool: if the ratio of the healthy instances in the primary pool + # is at or below failoverRatio, traffic arriving at the load-balanced IP will be + # directed to the backup pool. + # In case where failoverRatio and backupPool are not set, or all the instances + # in the backup pool are unhealthy, the traffic will be directed back to the + # primary pool in the "force" mode, where traffic will be spread to the healthy + # instances with the best effort, or to all instances when no instance is + # healthy. + # Corresponds to the JSON property `backupPool` + # @return [String] + attr_accessor :backup_pool + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # This field is applicable only when the containing target pool is serving a + # forwarding rule as the primary pool (i.e., not as a backup pool to some other + # target pool). The value of the field must be in [0, 1]. + # If set, backupPool must also be set. They together define the fallback + # behavior of the primary target pool: if the ratio of the healthy instances in + # the primary pool is at or below this number, traffic arriving at the load- + # balanced IP will be directed to the backup pool. + # In case where failoverRatio is not set or all the instances in the backup pool + # are unhealthy, the traffic will be directed back to the primary pool in the " + # force" mode, where traffic will be spread to the healthy instances with the + # best effort, or to all instances when no instance is healthy. + # Corresponds to the JSON property `failoverRatio` + # @return [Float] + attr_accessor :failover_ratio + + # A list of URLs to the HttpHealthCheck resource. A member instance in this pool + # is considered healthy if and only if all specified health checks pass. An + # empty list means all member instances will be considered healthy at all times. + # Corresponds to the JSON property `healthChecks` + # @return [Array] + attr_accessor :health_checks + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of resource URLs to the member virtual machines serving this pool. They + # must live in zones contained in the same region as this pool. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + # [Output Only] Type of the resource. Always compute#targetPool for target pools. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] URL of the region where the target pool resides. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # Sesssion affinity option, must be one of the following values: + # NONE: Connections from the same client IP may go to any instance in the pool. + # CLIENT_IP: Connections from the same client IP will go to the same instance in + # the pool while that instance remains healthy. + # CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol + # will go to the same instance in the pool while that instance remains healthy. + # Corresponds to the JSON property `sessionAffinity` + # @return [String] + attr_accessor :session_affinity + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @backup_pool = args[:backup_pool] unless args[:backup_pool].nil? + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @failover_ratio = args[:failover_ratio] unless args[:failover_ratio].nil? + @health_checks = args[:health_checks] unless args[:health_checks].nil? + @id = args[:id] unless args[:id].nil? + @instances = args[:instances] unless args[:instances].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @session_affinity = args[:session_affinity] unless args[:session_affinity].nil? + end + end + + # + class TargetPoolAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped target pool lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class TargetPoolInstanceHealth + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `healthStatus` + # @return [Array] + attr_accessor :health_status + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_status = args[:health_status] unless args[:health_status].nil? + @kind = args[:kind] unless args[:kind].nil? + end + end + + # Contains a list of TargetPool resources. + class TargetPoolList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of TargetPool resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class AddTargetPoolsHealthCheckRequest + include Google::Apis::Core::Hashable + + # Health check URLs to be added to targetPool. + # Corresponds to the JSON property `healthChecks` + # @return [Array] + attr_accessor :health_checks + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_checks = args[:health_checks] unless args[:health_checks].nil? + end + end + + # + class AddTargetPoolsInstanceRequest + include Google::Apis::Core::Hashable + + # URLs of the instances to be added to targetPool. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class RemoveTargetPoolsHealthCheckRequest + include Google::Apis::Core::Hashable + + # Health check URLs to be removed from targetPool. + # Corresponds to the JSON property `healthChecks` + # @return [Array] + attr_accessor :health_checks + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @health_checks = args[:health_checks] unless args[:health_checks].nil? + end + end + + # + class RemoveTargetPoolsInstanceRequest + include Google::Apis::Core::Hashable + + # URLs of the instances to be removed from targetPool. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] unless args[:instances].nil? + end + end + + # + class TargetPoolsScopedList + include Google::Apis::Core::Hashable + + # List of target pools contained in this scope. + # Corresponds to the JSON property `targetPools` + # @return [Array] + attr_accessor :target_pools + + # Informational warning which replaces the list of addresses when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::TargetPoolsScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @target_pools = args[:target_pools] unless args[:target_pools].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # Informational warning which replaces the list of addresses when the list is + # empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class TargetReference + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @target = args[:target] unless args[:target].nil? + end + end + + # + class TargetVpnGateway + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] A list of URLs to the ForwardingRule resources. ForwardingRules + # are created using compute.forwardingRules.insert and associated to a VPN + # gateway. + # Corresponds to the JSON property `forwardingRules` + # @return [Array] + attr_accessor :forwarding_rules + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN + # gateways. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # URL of the network to which this VPN gateway is attached. Provided by the + # client when the VPN gateway is created. + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + + # [Output Only] URL of the region where the target VPN gateway resides. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] The status of the VPN gateway. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are created + # using compute.vpntunnels.insert and associated to a VPN gateway. + # Corresponds to the JSON property `tunnels` + # @return [Array] + attr_accessor :tunnels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @forwarding_rules = args[:forwarding_rules] unless args[:forwarding_rules].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @network = args[:network] unless args[:network].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @status = args[:status] unless args[:status].nil? + @tunnels = args[:tunnels] unless args[:tunnels].nil? + end + end + + # + class TargetVpnGatewayAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A map of scoped target vpn gateway lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN + # gateways. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of TargetVpnGateway resources. + class TargetVpnGatewayList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of TargetVpnGateway resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN + # gateways. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class TargetVpnGatewaysScopedList + include Google::Apis::Core::Hashable + + # [Output Only] List of target vpn gateways contained in this scope. + # Corresponds to the JSON property `targetVpnGateways` + # @return [Array] + attr_accessor :target_vpn_gateways + + # [Output Only] Informational warning which replaces the list of addresses when + # the list is empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @target_vpn_gateways = args[:target_vpn_gateways] unless args[:target_vpn_gateways].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # [Output Only] Informational warning which replaces the list of addresses when + # the list is empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # + class TestFailure + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `actualService` + # @return [String] + attr_accessor :actual_service + + # + # Corresponds to the JSON property `expectedService` + # @return [String] + attr_accessor :expected_service + + # + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host + + # + # Corresponds to the JSON property `path` + # @return [String] + attr_accessor :path + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @actual_service = args[:actual_service] unless args[:actual_service].nil? + @expected_service = args[:expected_service] unless args[:expected_service].nil? + @host = args[:host] unless args[:host].nil? + @path = args[:path] unless args[:path].nil? + end + end + + # A UrlMap resource. This resource defines the mapping from URL to the + # BackendService resource, based on the "longest-match" of the URL's host and + # path. + class UrlMap + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # The URL of the BackendService resource if none of the hostRules match. + # Corresponds to the JSON property `defaultService` + # @return [String] + attr_accessor :default_service + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Fingerprint of this resource. A hash of the contents stored in this object. + # This field is used in optimistic locking. This field will be ignored when + # inserting a UrlMap. An up-to-date fingerprint must be provided in order to + # update the UrlMap. + # Corresponds to the JSON property `fingerprint` + # @return [String] + attr_accessor :fingerprint + + # The list of HostRules to use against the URL. + # Corresponds to the JSON property `hostRules` + # @return [Array] + attr_accessor :host_rules + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#urlMaps for url maps. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The list of named PathMatchers to use against the URL. + # Corresponds to the JSON property `pathMatchers` + # @return [Array] + attr_accessor :path_matchers + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # The list of expected URL mappings. Request to update this UrlMap will succeed + # only all of the test cases pass. + # Corresponds to the JSON property `tests` + # @return [Array] + attr_accessor :tests + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @default_service = args[:default_service] unless args[:default_service].nil? + @description = args[:description] unless args[:description].nil? + @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? + @host_rules = args[:host_rules] unless args[:host_rules].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @name = args[:name] unless args[:name].nil? + @path_matchers = args[:path_matchers] unless args[:path_matchers].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @tests = args[:tests] unless args[:tests].nil? + end + end + + # Contains a list of UrlMap resources. + class UrlMapList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource. Set by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of UrlMap resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class UrlMapReference + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `urlMap` + # @return [String] + attr_accessor :url_map + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @url_map = args[:url_map] unless args[:url_map].nil? + end + end + + # Message for the expected URL mappings. + class UrlMapTest + include Google::Apis::Core::Hashable + + # Description of this test case. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Host portion of the URL. + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host + + # Path portion of the URL. + # Corresponds to the JSON property `path` + # @return [String] + attr_accessor :path + + # Expected BackendService resource the given URL should be mapped to. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] unless args[:description].nil? + @host = args[:host] unless args[:host].nil? + @path = args[:path] unless args[:path].nil? + @service = args[:service] unless args[:service].nil? + end + end + + # Message representing the validation result for a UrlMap. + class UrlMapValidationResult + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `loadErrors` + # @return [Array] + attr_accessor :load_errors + + # Whether the given UrlMap can be successfully loaded. If false, 'loadErrors' + # indicates the reasons. + # Corresponds to the JSON property `loadSucceeded` + # @return [Boolean] + attr_accessor :load_succeeded + alias_method :load_succeeded?, :load_succeeded + + # + # Corresponds to the JSON property `testFailures` + # @return [Array] + attr_accessor :test_failures + + # If successfully loaded, this field indicates whether the test passed. If false, + # 'testFailures's indicate the reason of failure. + # Corresponds to the JSON property `testPassed` + # @return [Boolean] + attr_accessor :test_passed + alias_method :test_passed?, :test_passed + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @load_errors = args[:load_errors] unless args[:load_errors].nil? + @load_succeeded = args[:load_succeeded] unless args[:load_succeeded].nil? + @test_failures = args[:test_failures] unless args[:test_failures].nil? + @test_passed = args[:test_passed] unless args[:test_passed].nil? + end + end + + # + class ValidateUrlMapsRequest + include Google::Apis::Core::Hashable + + # A UrlMap resource. This resource defines the mapping from URL to the + # BackendService resource, based on the "longest-match" of the URL's host and + # path. + # Corresponds to the JSON property `resource` + # @return [Google::Apis::ComputeBeta::UrlMap] + attr_accessor :resource + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource = args[:resource] unless args[:resource].nil? + end + end + + # + class ValidateUrlMapsResponse + include Google::Apis::Core::Hashable + + # Message representing the validation result for a UrlMap. + # Corresponds to the JSON property `result` + # @return [Google::Apis::ComputeBeta::UrlMapValidationResult] + attr_accessor :result + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @result = args[:result] unless args[:result].nil? + end + end + + # The location in Cloud Storage and naming method of the daily usage report. + # Contains bucket_name and report_name prefix. + class UsageExportLocation + include Google::Apis::Core::Hashable + + # The name of an existing bucket in Cloud Storage where the usage report object + # is stored. The Google Service Account is granted write access to this bucket. + # This is just the bucket name, with no gs:// or https://storage.googleapis.com/ + # in front of it. + # Corresponds to the JSON property `bucketName` + # @return [String] + attr_accessor :bucket_name + + # An optional prefix for the name of the usage report object stored in + # bucketName. If not supplied, defaults to usage. The report is stored as a CSV + # file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the day of + # the usage according to Pacific Time. If you supply a prefix, it should conform + # to Cloud Storage object naming conventions. + # Corresponds to the JSON property `reportNamePrefix` + # @return [String] + attr_accessor :report_name_prefix + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bucket_name = args[:bucket_name] unless args[:bucket_name].nil? + @report_name_prefix = args[:report_name_prefix] unless args[:report_name_prefix].nil? + end + end + + # + class VpnTunnel + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] Detailed status message for the VPN tunnel. + # Corresponds to the JSON property `detailedStatus` + # @return [String] + attr_accessor :detailed_status + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # IKE protocol version to use when establishing the VPN tunnel with peer VPN + # gateway. Acceptable IKE versions are 1 or 2. Default version is 2. + # Corresponds to the JSON property `ikeVersion` + # @return [Fixnum] + attr_accessor :ike_version + + # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # IKE networks to use when establishing the VPN tunnel with peer VPN gateway. + # The value should be a CIDR formatted string, for example: 192.168.0.0/16. The + # ranges should be disjoint. + # Corresponds to the JSON property `localTrafficSelector` + # @return [Array] + attr_accessor :local_traffic_selector + + # Name of the resource; provided by the client when the resource is created. The + # name must be 1-63 characters long, and comply with RFC1035. Specifically, the + # name must be 1-63 characters long and match the regular expression [a-z]([-a- + # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, + # and all following characters must be a dash, lowercase letter, or digit, + # except the last character, which cannot be a dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # IP address of the peer VPN gateway. + # Corresponds to the JSON property `peerIp` + # @return [String] + attr_accessor :peer_ip + + # [Output Only] URL of the region where the VPN tunnel resides. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # Shared secret used to set the secure session between the GCE VPN gateway and + # the peer VPN gateway. + # Corresponds to the JSON property `sharedSecret` + # @return [String] + attr_accessor :shared_secret + + # Hash of the shared secret. + # Corresponds to the JSON property `sharedSecretHash` + # @return [String] + attr_accessor :shared_secret_hash + + # [Output Only] The status of the VPN tunnel. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # URL of the VPN gateway to which this VPN tunnel is associated. Provided by the + # client when the VPN tunnel is created. + # Corresponds to the JSON property `targetVpnGateway` + # @return [String] + attr_accessor :target_vpn_gateway + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @description = args[:description] unless args[:description].nil? + @detailed_status = args[:detailed_status] unless args[:detailed_status].nil? + @id = args[:id] unless args[:id].nil? + @ike_version = args[:ike_version] unless args[:ike_version].nil? + @kind = args[:kind] unless args[:kind].nil? + @local_traffic_selector = args[:local_traffic_selector] unless args[:local_traffic_selector].nil? + @name = args[:name] unless args[:name].nil? + @peer_ip = args[:peer_ip] unless args[:peer_ip].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @shared_secret = args[:shared_secret] unless args[:shared_secret].nil? + @shared_secret_hash = args[:shared_secret_hash] unless args[:shared_secret_hash].nil? + @status = args[:status] unless args[:status].nil? + @target_vpn_gateway = args[:target_vpn_gateway] unless args[:target_vpn_gateway].nil? + end + end + + # + class VpnTunnelAggregatedList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A map of scoped vpn tunnel lists. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # Contains a list of VpnTunnel resources. + class VpnTunnelList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of VpnTunnel resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + + # + class VpnTunnelsScopedList + include Google::Apis::Core::Hashable + + # List of vpn tunnels contained in this scope. + # Corresponds to the JSON property `vpnTunnels` + # @return [Array] + attr_accessor :vpn_tunnels + + # Informational warning which replaces the list of addresses when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::VpnTunnelsScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vpn_tunnels = args[:vpn_tunnels] unless args[:vpn_tunnels].nil? + @warning = args[:warning] unless args[:warning].nil? + end + + # Informational warning which replaces the list of addresses when the list is + # empty. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] unless args[:code].nil? + @data = args[:data] unless args[:data].nil? + @message = args[:message] unless args[:message].nil? + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource, and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] unless args[:key].nil? + @value = args[:value] unless args[:value].nil? + end + end + end + end + + # A Zone resource. + class Zone + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # Deprecation status for a public resource. + # Corresponds to the JSON property `deprecated` + # @return [Google::Apis::ComputeBeta::DeprecationStatus] + attr_accessor :deprecated + + # [Output Only] Textual description of the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#zone for zones. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Any scheduled maintenance windows for this zone. When the zone + # is in a maintenance window, all resources which reside in the zone will be + # unavailable. For more information, see Maintenance Windows + # Corresponds to the JSON property `maintenanceWindows` + # @return [Array] + attr_accessor :maintenance_windows + + # [Output Only] Name of the resource. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Full URL reference to the region which hosts the zone. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # [Output Only] Server-defined URL for the resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] Status of the zone, either UP or DOWN. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? + @deprecated = args[:deprecated] unless args[:deprecated].nil? + @description = args[:description] unless args[:description].nil? + @id = args[:id] unless args[:id].nil? + @kind = args[:kind] unless args[:kind].nil? + @maintenance_windows = args[:maintenance_windows] unless args[:maintenance_windows].nil? + @name = args[:name] unless args[:name].nil? + @region = args[:region] unless args[:region].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + @status = args[:status] unless args[:status].nil? + end + + # + class MaintenanceWindow + include Google::Apis::Core::Hashable + + # [Output Only] Starting time of the maintenance window, in RFC3339 format. + # Corresponds to the JSON property `beginTime` + # @return [String] + attr_accessor :begin_time + + # [Output Only] Textual description of the maintenance window. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] Ending time of the maintenance window, in RFC3339 format. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # [Output Only] Name of the maintenance window. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @begin_time = args[:begin_time] unless args[:begin_time].nil? + @description = args[:description] unless args[:description].nil? + @end_time = args[:end_time] unless args[:end_time].nil? + @name = args[:name] unless args[:name].nil? + end + end + end + + # Contains a list of zone resources. + class ZoneList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Zone resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] unless args[:id].nil? + @items = args[:items] unless args[:items].nil? + @kind = args[:kind] unless args[:kind].nil? + @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? + @self_link = args[:self_link] unless args[:self_link].nil? + end + end + end + end +end diff --git a/generated/google/apis/compute_beta/representations.rb b/generated/google/apis/compute_beta/representations.rb new file mode 100644 index 000000000..8ee50ef2c --- /dev/null +++ b/generated/google/apis/compute_beta/representations.rb @@ -0,0 +1,3048 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ComputeBeta + + class AccessConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Address + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AddressAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AddressList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AddressesScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class AttachedDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AttachedDiskInitializeParams + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Autoscaler + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AutoscalerAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AutoscalerList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AutoscalersScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class AutoscalingPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AutoscalingPolicyCpuUtilization + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AutoscalingPolicyCustomMetricUtilization + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AutoscalingPolicyLoadBalancingUtilization + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Backend + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class BackendService + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class BackendServiceGroupHealth + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class BackendServiceList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class CustomerEncryptionKey + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DeprecationStatus + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Disk + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DiskAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DiskList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DiskType + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DiskTypeAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DiskTypeList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DiskTypesScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class DisksResizeRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class DisksScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class Firewall + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Allowed + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + + class FirewallList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ForwardingRule + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ForwardingRuleAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ForwardingRuleList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ForwardingRulesScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class HealthCheckReference + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class HealthStatus + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class HostRule + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class HttpHealthCheck + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class HttpHealthCheckList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class HttpsHealthCheck + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class HttpsHealthCheckList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Image + class Representation < Google::Apis::Core::JsonRepresentation; end + + class RawDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + + class ImageList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Instance + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroup + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManager + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagerActionsSummary + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagerAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagerAutoHealingPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagerList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersAbandonInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersDeleteInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersListManagedInstancesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersRecreateInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class InstanceGroupManagersSetAutoHealingRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersSetInstanceTemplateRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupManagersSetTargetPoolsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupsAddInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupsListInstances + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupsListInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupsRemoveInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceGroupsScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class InstanceGroupsSetNamedPortsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceProperties + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceReference + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceTemplate + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceTemplateList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstanceWithNamedPorts + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstancesScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class InstancesSetLabelsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class InstancesSetMachineTypeRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class License + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class MachineType + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class MachineTypeAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class MachineTypeList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class MachineTypesScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class ManagedInstance + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ManagedInstanceLastAttempt + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Errors + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Error + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class Metadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Item + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + + class NamedPort + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Network + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class NetworkInterface + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class NetworkList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Operation + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Error + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Error + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class OperationAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class OperationList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class OperationsScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class PathMatcher + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class PathRule + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Project + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Quota + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Region + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class RegionList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ResourceGroupReference + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Route + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class RouteList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Scheduling + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SerialPortOutput + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ServiceAccount + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Snapshot + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SnapshotList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SslCertificate + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SslCertificateList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class Subnetwork + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SubnetworkAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SubnetworkList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class SubnetworksScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class Tags + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetHttpProxy + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetHttpProxyList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetHttpsProxiesSetSslCertificatesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetHttpsProxy + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetHttpsProxyList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetInstance + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetInstanceAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetInstanceList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetInstancesScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class TargetPool + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetPoolAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetPoolInstanceHealth + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetPoolList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AddTargetPoolsHealthCheckRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AddTargetPoolsInstanceRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class RemoveTargetPoolsHealthCheckRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class RemoveTargetPoolsInstanceRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetPoolsScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class TargetReference + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetVpnGateway + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetVpnGatewayAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetVpnGatewayList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class TargetVpnGatewaysScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class TestFailure + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class UrlMap + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class UrlMapList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class UrlMapReference + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class UrlMapTest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class UrlMapValidationResult + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ValidateUrlMapsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class ValidateUrlMapsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class UsageExportLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class VpnTunnel + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class VpnTunnelAggregatedList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class VpnTunnelList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class VpnTunnelsScopedList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + end + + class Zone + class Representation < Google::Apis::Core::JsonRepresentation; end + + class MaintenanceWindow + class Representation < Google::Apis::Core::JsonRepresentation; end + end + end + + class ZoneList + class Representation < Google::Apis::Core::JsonRepresentation; end + end + + class AccessConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :kind, as: 'kind' + property :name, as: 'name' + property :nat_ip, as: 'natIP' + property :type, as: 'type' + end + end + + class Address + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :address, as: 'address' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :status, as: 'status' + collection :users, as: 'users' + end + end + + class AddressAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::AddressesScopedList, decorator: Google::Apis::ComputeBeta::AddressesScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class AddressList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Address, decorator: Google::Apis::ComputeBeta::Address::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class AddressesScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :addresses, as: 'addresses', class: Google::Apis::ComputeBeta::Address, decorator: Google::Apis::ComputeBeta::Address::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::AddressesScopedList::Warning, decorator: Google::Apis::ComputeBeta::AddressesScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::AddressesScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::AddressesScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class AttachedDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :auto_delete, as: 'autoDelete' + property :boot, as: 'boot' + property :device_name, as: 'deviceName' + property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :index, as: 'index' + property :initialize_params, as: 'initializeParams', class: Google::Apis::ComputeBeta::AttachedDiskInitializeParams, decorator: Google::Apis::ComputeBeta::AttachedDiskInitializeParams::Representation + + property :interface, as: 'interface' + property :kind, as: 'kind' + collection :licenses, as: 'licenses' + property :mode, as: 'mode' + property :source, as: 'source' + property :type, as: 'type' + end + end + + class AttachedDiskInitializeParams + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disk_name, as: 'diskName' + property :disk_size_gb, as: 'diskSizeGb' + property :disk_storage_type, as: 'diskStorageType' + property :disk_type, as: 'diskType' + property :source_image, as: 'sourceImage' + property :source_image_encryption_key, as: 'sourceImageEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + end + end + + class Autoscaler + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :autoscaling_policy, as: 'autoscalingPolicy', class: Google::Apis::ComputeBeta::AutoscalingPolicy, decorator: Google::Apis::ComputeBeta::AutoscalingPolicy::Representation + + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :target, as: 'target' + property :zone, as: 'zone' + end + end + + class AutoscalerAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::AutoscalersScopedList, decorator: Google::Apis::ComputeBeta::AutoscalersScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class AutoscalerList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Autoscaler, decorator: Google::Apis::ComputeBeta::Autoscaler::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class AutoscalersScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :autoscalers, as: 'autoscalers', class: Google::Apis::ComputeBeta::Autoscaler, decorator: Google::Apis::ComputeBeta::Autoscaler::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::AutoscalersScopedList::Warning, decorator: Google::Apis::ComputeBeta::AutoscalersScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::AutoscalersScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::AutoscalersScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class AutoscalingPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cool_down_period_sec, as: 'coolDownPeriodSec' + property :cpu_utilization, as: 'cpuUtilization', class: Google::Apis::ComputeBeta::AutoscalingPolicyCpuUtilization, decorator: Google::Apis::ComputeBeta::AutoscalingPolicyCpuUtilization::Representation + + collection :custom_metric_utilizations, as: 'customMetricUtilizations', class: Google::Apis::ComputeBeta::AutoscalingPolicyCustomMetricUtilization, decorator: Google::Apis::ComputeBeta::AutoscalingPolicyCustomMetricUtilization::Representation + + property :load_balancing_utilization, as: 'loadBalancingUtilization', class: Google::Apis::ComputeBeta::AutoscalingPolicyLoadBalancingUtilization, decorator: Google::Apis::ComputeBeta::AutoscalingPolicyLoadBalancingUtilization::Representation + + property :max_num_replicas, as: 'maxNumReplicas' + property :min_num_replicas, as: 'minNumReplicas' + end + end + + class AutoscalingPolicyCpuUtilization + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :utilization_target, as: 'utilizationTarget' + end + end + + class AutoscalingPolicyCustomMetricUtilization + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :metric, as: 'metric' + property :utilization_target, as: 'utilizationTarget' + property :utilization_target_type, as: 'utilizationTargetType' + end + end + + class AutoscalingPolicyLoadBalancingUtilization + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :utilization_target, as: 'utilizationTarget' + end + end + + class Backend + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :balancing_mode, as: 'balancingMode' + property :capacity_scaler, as: 'capacityScaler' + property :description, as: 'description' + property :group, as: 'group' + property :max_rate, as: 'maxRate' + property :max_rate_per_instance, as: 'maxRatePerInstance' + property :max_utilization, as: 'maxUtilization' + end + end + + class BackendService + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :backends, as: 'backends', class: Google::Apis::ComputeBeta::Backend, decorator: Google::Apis::ComputeBeta::Backend::Representation + + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :fingerprint, :base64 => true, as: 'fingerprint' + collection :health_checks, as: 'healthChecks' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :port, as: 'port' + property :port_name, as: 'portName' + property :protocol, as: 'protocol' + property :self_link, as: 'selfLink' + property :timeout_sec, as: 'timeoutSec' + end + end + + class BackendServiceGroupHealth + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :health_status, as: 'healthStatus', class: Google::Apis::ComputeBeta::HealthStatus, decorator: Google::Apis::ComputeBeta::HealthStatus::Representation + + property :kind, as: 'kind' + end + end + + class BackendServiceList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::BackendService, decorator: Google::Apis::ComputeBeta::BackendService::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class CustomerEncryptionKey + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :raw_key, as: 'rawKey' + property :rsa_encrypted_key, as: 'rsaEncryptedKey' + property :sha256, as: 'sha256' + end + end + + class DeprecationStatus + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :deleted, as: 'deleted' + property :deprecated, as: 'deprecated' + property :obsolete, as: 'obsolete' + property :replacement, as: 'replacement' + property :state, as: 'state' + end + end + + class Disk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :id, as: 'id' + property :kind, as: 'kind' + property :last_attach_timestamp, as: 'lastAttachTimestamp' + property :last_detach_timestamp, as: 'lastDetachTimestamp' + collection :licenses, as: 'licenses' + property :name, as: 'name' + property :options, as: 'options' + property :self_link, as: 'selfLink' + property :size_gb, as: 'sizeGb' + property :source_image, as: 'sourceImage' + property :source_image_encryption_key, as: 'sourceImageEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :source_image_id, as: 'sourceImageId' + property :source_snapshot, as: 'sourceSnapshot' + property :source_snapshot_encryption_key, as: 'sourceSnapshotEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :source_snapshot_id, as: 'sourceSnapshotId' + property :status, as: 'status' + property :storage_type, as: 'storageType' + property :type, as: 'type' + collection :users, as: 'users' + property :zone, as: 'zone' + end + end + + class DiskAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::DisksScopedList, decorator: Google::Apis::ComputeBeta::DisksScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class DiskList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Disk, decorator: Google::Apis::ComputeBeta::Disk::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class DiskType + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :default_disk_size_gb, as: 'defaultDiskSizeGb' + property :deprecated, as: 'deprecated', class: Google::Apis::ComputeBeta::DeprecationStatus, decorator: Google::Apis::ComputeBeta::DeprecationStatus::Representation + + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :valid_disk_size, as: 'validDiskSize' + property :zone, as: 'zone' + end + end + + class DiskTypeAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::DiskTypesScopedList, decorator: Google::Apis::ComputeBeta::DiskTypesScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class DiskTypeList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::DiskType, decorator: Google::Apis::ComputeBeta::DiskType::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class DiskTypesScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :disk_types, as: 'diskTypes', class: Google::Apis::ComputeBeta::DiskType, decorator: Google::Apis::ComputeBeta::DiskType::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::DiskTypesScopedList::Warning, decorator: Google::Apis::ComputeBeta::DiskTypesScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::DiskTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::DiskTypesScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class DisksResizeRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :size_gb, as: 'sizeGb' + end + end + + class DisksScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::Disk, decorator: Google::Apis::ComputeBeta::Disk::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::DisksScopedList::Warning, decorator: Google::Apis::ComputeBeta::DisksScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::DisksScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::DisksScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class Firewall + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allowed, as: 'allowed', class: Google::Apis::ComputeBeta::Firewall::Allowed, decorator: Google::Apis::ComputeBeta::Firewall::Allowed::Representation + + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :network, as: 'network' + property :self_link, as: 'selfLink' + collection :source_ranges, as: 'sourceRanges' + collection :source_tags, as: 'sourceTags' + collection :target_tags, as: 'targetTags' + end + + class Allowed + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :ip_protocol, as: 'IPProtocol' + collection :ports, as: 'ports' + end + end + end + + class FirewallList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Firewall, decorator: Google::Apis::ComputeBeta::Firewall::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class ForwardingRule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :ip_address, as: 'IPAddress' + property :ip_protocol, as: 'IPProtocol' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :port_range, as: 'portRange' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :target, as: 'target' + end + end + + class ForwardingRuleAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::ForwardingRulesScopedList, decorator: Google::Apis::ComputeBeta::ForwardingRulesScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class ForwardingRuleList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::ForwardingRule, decorator: Google::Apis::ComputeBeta::ForwardingRule::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class ForwardingRulesScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :forwarding_rules, as: 'forwardingRules', class: Google::Apis::ComputeBeta::ForwardingRule, decorator: Google::Apis::ComputeBeta::ForwardingRule::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning, decorator: Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class HealthCheckReference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :health_check, as: 'healthCheck' + end + end + + class HealthStatus + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :health_state, as: 'healthState' + property :instance, as: 'instance' + property :ip_address, as: 'ipAddress' + property :port, as: 'port' + end + end + + class HostRule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + collection :hosts, as: 'hosts' + property :path_matcher, as: 'pathMatcher' + end + end + + class HttpHealthCheck + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :check_interval_sec, as: 'checkIntervalSec' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :healthy_threshold, as: 'healthyThreshold' + property :host, as: 'host' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :port, as: 'port' + property :request_path, as: 'requestPath' + property :self_link, as: 'selfLink' + property :timeout_sec, as: 'timeoutSec' + property :unhealthy_threshold, as: 'unhealthyThreshold' + end + end + + class HttpHealthCheckList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::HttpHealthCheck, decorator: Google::Apis::ComputeBeta::HttpHealthCheck::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class HttpsHealthCheck + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :check_interval_sec, as: 'checkIntervalSec' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :healthy_threshold, as: 'healthyThreshold' + property :host, as: 'host' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :port, as: 'port' + property :request_path, as: 'requestPath' + property :self_link, as: 'selfLink' + property :timeout_sec, as: 'timeoutSec' + property :unhealthy_threshold, as: 'unhealthyThreshold' + end + end + + class HttpsHealthCheckList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::HttpsHealthCheck, decorator: Google::Apis::ComputeBeta::HttpsHealthCheck::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class Image + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :archive_size_bytes, as: 'archiveSizeBytes' + property :creation_timestamp, as: 'creationTimestamp' + property :deprecated, as: 'deprecated', class: Google::Apis::ComputeBeta::DeprecationStatus, decorator: Google::Apis::ComputeBeta::DeprecationStatus::Representation + + property :description, as: 'description' + property :disk_size_gb, as: 'diskSizeGb' + property :id, as: 'id' + property :image_encryption_key, as: 'imageEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :kind, as: 'kind' + collection :licenses, as: 'licenses' + property :name, as: 'name' + property :raw_disk, as: 'rawDisk', class: Google::Apis::ComputeBeta::Image::RawDisk, decorator: Google::Apis::ComputeBeta::Image::RawDisk::Representation + + property :self_link, as: 'selfLink' + property :source_disk, as: 'sourceDisk' + property :source_disk_encryption_key, as: 'sourceDiskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :source_disk_id, as: 'sourceDiskId' + property :source_type, as: 'sourceType' + property :status, as: 'status' + end + + class RawDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :container_type, as: 'containerType' + property :sha1_checksum, as: 'sha1Checksum' + property :source, as: 'source' + end + end + end + + class ImageList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Image, decorator: Google::Apis::ComputeBeta::Image::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class Instance + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :can_ip_forward, as: 'canIpForward' + property :cpu_platform, as: 'cpuPlatform' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation + + property :id, as: 'id' + property :kind, as: 'kind' + property :label_fingerprint, :base64 => true, as: 'labelFingerprint' + hash :labels, as: 'labels' + property :machine_type, as: 'machineType' + property :metadata, as: 'metadata', class: Google::Apis::ComputeBeta::Metadata, decorator: Google::Apis::ComputeBeta::Metadata::Representation + + property :name, as: 'name' + collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeBeta::NetworkInterface, decorator: Google::Apis::ComputeBeta::NetworkInterface::Representation + + property :scheduling, as: 'scheduling', class: Google::Apis::ComputeBeta::Scheduling, decorator: Google::Apis::ComputeBeta::Scheduling::Representation + + property :self_link, as: 'selfLink' + collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ComputeBeta::ServiceAccount, decorator: Google::Apis::ComputeBeta::ServiceAccount::Representation + + property :status, as: 'status' + property :status_message, as: 'statusMessage' + property :tags, as: 'tags', class: Google::Apis::ComputeBeta::Tags, decorator: Google::Apis::ComputeBeta::Tags::Representation + + property :zone, as: 'zone' + end + end + + class InstanceAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::InstancesScopedList, decorator: Google::Apis::ComputeBeta::InstancesScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceGroup + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :fingerprint, :base64 => true, as: 'fingerprint' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeBeta::NamedPort, decorator: Google::Apis::ComputeBeta::NamedPort::Representation + + property :network, as: 'network' + property :self_link, as: 'selfLink' + property :size, as: 'size' + property :zone, as: 'zone' + end + end + + class InstanceGroupAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::InstanceGroupsScopedList, decorator: Google::Apis::ComputeBeta::InstanceGroupsScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceGroupList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::InstanceGroup, decorator: Google::Apis::ComputeBeta::InstanceGroup::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceGroupManager + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :auto_healing_policies, as: 'autoHealingPolicies', class: Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy, decorator: Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy::Representation + + property :base_instance_name, as: 'baseInstanceName' + property :creation_timestamp, as: 'creationTimestamp' + property :current_actions, as: 'currentActions', class: Google::Apis::ComputeBeta::InstanceGroupManagerActionsSummary, decorator: Google::Apis::ComputeBeta::InstanceGroupManagerActionsSummary::Representation + + property :description, as: 'description' + property :fingerprint, :base64 => true, as: 'fingerprint' + property :id, as: 'id' + property :instance_group, as: 'instanceGroup' + property :instance_template, as: 'instanceTemplate' + property :kind, as: 'kind' + property :name, as: 'name' + collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeBeta::NamedPort, decorator: Google::Apis::ComputeBeta::NamedPort::Representation + + property :self_link, as: 'selfLink' + collection :target_pools, as: 'targetPools' + property :target_size, as: 'targetSize' + property :zone, as: 'zone' + end + end + + class InstanceGroupManagerActionsSummary + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :abandoning, as: 'abandoning' + property :creating, as: 'creating' + property :deleting, as: 'deleting' + property :none, as: 'none' + property :recreating, as: 'recreating' + property :refreshing, as: 'refreshing' + property :restarting, as: 'restarting' + end + end + + class InstanceGroupManagerAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::InstanceGroupManagersScopedList, decorator: Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceGroupManagerAutoHealingPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :health_check, as: 'healthCheck' + property :initial_delay_sec, as: 'initialDelaySec' + end + end + + class InstanceGroupManagerList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::InstanceGroupManager, decorator: Google::Apis::ComputeBeta::InstanceGroupManager::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceGroupManagersAbandonInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances' + end + end + + class InstanceGroupManagersDeleteInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances' + end + end + + class InstanceGroupManagersListManagedInstancesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :managed_instances, as: 'managedInstances', class: Google::Apis::ComputeBeta::ManagedInstance, decorator: Google::Apis::ComputeBeta::ManagedInstance::Representation + + end + end + + class InstanceGroupManagersRecreateInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances' + end + end + + class InstanceGroupManagersScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instance_group_managers, as: 'instanceGroupManagers', class: Google::Apis::ComputeBeta::InstanceGroupManager, decorator: Google::Apis::ComputeBeta::InstanceGroupManager::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Warning, decorator: Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class InstanceGroupManagersSetAutoHealingRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :auto_healing_policies, as: 'autoHealingPolicies', class: Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy, decorator: Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy::Representation + + end + end + + class InstanceGroupManagersSetInstanceTemplateRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :instance_template, as: 'instanceTemplate' + end + end + + class InstanceGroupManagersSetTargetPoolsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :fingerprint, :base64 => true, as: 'fingerprint' + collection :target_pools, as: 'targetPools' + end + end + + class InstanceGroupsAddInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances', class: Google::Apis::ComputeBeta::InstanceReference, decorator: Google::Apis::ComputeBeta::InstanceReference::Representation + + end + end + + class InstanceGroupsListInstances + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::InstanceWithNamedPorts, decorator: Google::Apis::ComputeBeta::InstanceWithNamedPorts::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceGroupsListInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :instance_state, as: 'instanceState' + end + end + + class InstanceGroupsRemoveInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances', class: Google::Apis::ComputeBeta::InstanceReference, decorator: Google::Apis::ComputeBeta::InstanceReference::Representation + + end + end + + class InstanceGroupsScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instance_groups, as: 'instanceGroups', class: Google::Apis::ComputeBeta::InstanceGroup, decorator: Google::Apis::ComputeBeta::InstanceGroup::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::InstanceGroupsScopedList::Warning, decorator: Google::Apis::ComputeBeta::InstanceGroupsScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::InstanceGroupsScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::InstanceGroupsScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class InstanceGroupsSetNamedPortsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :fingerprint, :base64 => true, as: 'fingerprint' + collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeBeta::NamedPort, decorator: Google::Apis::ComputeBeta::NamedPort::Representation + + end + end + + class InstanceList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Instance, decorator: Google::Apis::ComputeBeta::Instance::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceProperties + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :can_ip_forward, as: 'canIpForward' + property :description, as: 'description' + collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation + + property :machine_type, as: 'machineType' + property :metadata, as: 'metadata', class: Google::Apis::ComputeBeta::Metadata, decorator: Google::Apis::ComputeBeta::Metadata::Representation + + collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeBeta::NetworkInterface, decorator: Google::Apis::ComputeBeta::NetworkInterface::Representation + + property :scheduling, as: 'scheduling', class: Google::Apis::ComputeBeta::Scheduling, decorator: Google::Apis::ComputeBeta::Scheduling::Representation + + collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ComputeBeta::ServiceAccount, decorator: Google::Apis::ComputeBeta::ServiceAccount::Representation + + property :tags, as: 'tags', class: Google::Apis::ComputeBeta::Tags, decorator: Google::Apis::ComputeBeta::Tags::Representation + + end + end + + class InstanceReference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :instance, as: 'instance' + end + end + + class InstanceTemplate + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :properties, as: 'properties', class: Google::Apis::ComputeBeta::InstanceProperties, decorator: Google::Apis::ComputeBeta::InstanceProperties::Representation + + property :self_link, as: 'selfLink' + end + end + + class InstanceTemplateList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::InstanceTemplate, decorator: Google::Apis::ComputeBeta::InstanceTemplate::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class InstanceWithNamedPorts + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :instance, as: 'instance' + collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeBeta::NamedPort, decorator: Google::Apis::ComputeBeta::NamedPort::Representation + + property :status, as: 'status' + end + end + + class InstancesScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances', class: Google::Apis::ComputeBeta::Instance, decorator: Google::Apis::ComputeBeta::Instance::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::InstancesScopedList::Warning, decorator: Google::Apis::ComputeBeta::InstancesScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::InstancesScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::InstancesScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class InstancesSetLabelsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :label_fingerprint, :base64 => true, as: 'labelFingerprint' + hash :labels, as: 'labels' + end + end + + class InstancesSetMachineTypeRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :machine_type, as: 'machineType' + end + end + + class License + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :charges_use_fee, as: 'chargesUseFee' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + end + end + + class MachineType + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :deprecated, as: 'deprecated', class: Google::Apis::ComputeBeta::DeprecationStatus, decorator: Google::Apis::ComputeBeta::DeprecationStatus::Representation + + property :description, as: 'description' + property :guest_cpus, as: 'guestCpus' + property :id, as: 'id' + property :kind, as: 'kind' + property :maximum_persistent_disks, as: 'maximumPersistentDisks' + property :maximum_persistent_disks_size_gb, as: 'maximumPersistentDisksSizeGb' + property :memory_mb, as: 'memoryMb' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :zone, as: 'zone' + end + end + + class MachineTypeAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::MachineTypesScopedList, decorator: Google::Apis::ComputeBeta::MachineTypesScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class MachineTypeList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::MachineType, decorator: Google::Apis::ComputeBeta::MachineType::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class MachineTypesScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :machine_types, as: 'machineTypes', class: Google::Apis::ComputeBeta::MachineType, decorator: Google::Apis::ComputeBeta::MachineType::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::MachineTypesScopedList::Warning, decorator: Google::Apis::ComputeBeta::MachineTypesScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::MachineTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::MachineTypesScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class ManagedInstance + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :current_action, as: 'currentAction' + property :id, as: 'id' + property :instance, as: 'instance' + property :instance_status, as: 'instanceStatus' + property :last_attempt, as: 'lastAttempt', class: Google::Apis::ComputeBeta::ManagedInstanceLastAttempt, decorator: Google::Apis::ComputeBeta::ManagedInstanceLastAttempt::Representation + + end + end + + class ManagedInstanceLastAttempt + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :errors, as: 'errors', class: Google::Apis::ComputeBeta::ManagedInstanceLastAttempt::Errors, decorator: Google::Apis::ComputeBeta::ManagedInstanceLastAttempt::Errors::Representation + + end + + class Errors + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :errors, as: 'errors', class: Google::Apis::ComputeBeta::ManagedInstanceLastAttempt::Errors::Error, decorator: Google::Apis::ComputeBeta::ManagedInstanceLastAttempt::Errors::Error::Representation + + end + + class Error + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + property :location, as: 'location' + property :message, as: 'message' + end + end + end + end + + class Metadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :fingerprint, :base64 => true, as: 'fingerprint' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Metadata::Item, decorator: Google::Apis::ComputeBeta::Metadata::Item::Representation + + property :kind, as: 'kind' + end + + class Item + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + + class NamedPort + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :name, as: 'name' + property :port, as: 'port' + end + end + + class Network + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :i_pv4_range, as: 'IPv4Range' + property :auto_create_subnetworks, as: 'autoCreateSubnetworks' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :gateway_i_pv4, as: 'gatewayIPv4' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + collection :subnetworks, as: 'subnetworks' + end + end + + class NetworkInterface + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :access_configs, as: 'accessConfigs', class: Google::Apis::ComputeBeta::AccessConfig, decorator: Google::Apis::ComputeBeta::AccessConfig::Representation + + property :name, as: 'name' + property :network, as: 'network' + property :network_ip, as: 'networkIP' + property :subnetwork, as: 'subnetwork' + end + end + + class NetworkList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Network, decorator: Google::Apis::ComputeBeta::Network::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class Operation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :client_operation_id, as: 'clientOperationId' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :end_time, as: 'endTime' + property :error, as: 'error', class: Google::Apis::ComputeBeta::Operation::Error, decorator: Google::Apis::ComputeBeta::Operation::Error::Representation + + property :http_error_message, as: 'httpErrorMessage' + property :http_error_status_code, as: 'httpErrorStatusCode' + property :id, as: 'id' + property :insert_time, as: 'insertTime' + property :kind, as: 'kind' + property :name, as: 'name' + property :operation_type, as: 'operationType' + property :progress, as: 'progress' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :start_time, as: 'startTime' + property :status, as: 'status' + property :status_message, as: 'statusMessage' + property :target_id, as: 'targetId' + property :target_link, as: 'targetLink' + property :user, as: 'user' + collection :warnings, as: 'warnings', class: Google::Apis::ComputeBeta::Operation::Warning, decorator: Google::Apis::ComputeBeta::Operation::Warning::Representation + + property :zone, as: 'zone' + end + + class Error + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :errors, as: 'errors', class: Google::Apis::ComputeBeta::Operation::Error::Error, decorator: Google::Apis::ComputeBeta::Operation::Error::Error::Representation + + end + + class Error + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + property :location, as: 'location' + property :message, as: 'message' + end + end + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::Operation::Warning::Datum, decorator: Google::Apis::ComputeBeta::Operation::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class OperationAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::OperationsScopedList, decorator: Google::Apis::ComputeBeta::OperationsScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class OperationList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Operation, decorator: Google::Apis::ComputeBeta::Operation::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class OperationsScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :operations, as: 'operations', class: Google::Apis::ComputeBeta::Operation, decorator: Google::Apis::ComputeBeta::Operation::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::OperationsScopedList::Warning, decorator: Google::Apis::ComputeBeta::OperationsScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::OperationsScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::OperationsScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class PathMatcher + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :default_service, as: 'defaultService' + property :description, as: 'description' + property :name, as: 'name' + collection :path_rules, as: 'pathRules', class: Google::Apis::ComputeBeta::PathRule, decorator: Google::Apis::ComputeBeta::PathRule::Representation + + end + end + + class PathRule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :paths, as: 'paths' + property :service, as: 'service' + end + end + + class Project + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :common_instance_metadata, as: 'commonInstanceMetadata', class: Google::Apis::ComputeBeta::Metadata, decorator: Google::Apis::ComputeBeta::Metadata::Representation + + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + collection :enabled_features, as: 'enabledFeatures' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + collection :quotas, as: 'quotas', class: Google::Apis::ComputeBeta::Quota, decorator: Google::Apis::ComputeBeta::Quota::Representation + + property :self_link, as: 'selfLink' + property :usage_export_location, as: 'usageExportLocation', class: Google::Apis::ComputeBeta::UsageExportLocation, decorator: Google::Apis::ComputeBeta::UsageExportLocation::Representation + + end + end + + class Quota + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :limit, as: 'limit' + property :metric, as: 'metric' + property :usage, as: 'usage' + end + end + + class Region + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :deprecated, as: 'deprecated', class: Google::Apis::ComputeBeta::DeprecationStatus, decorator: Google::Apis::ComputeBeta::DeprecationStatus::Representation + + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + collection :quotas, as: 'quotas', class: Google::Apis::ComputeBeta::Quota, decorator: Google::Apis::ComputeBeta::Quota::Representation + + property :self_link, as: 'selfLink' + property :status, as: 'status' + collection :zones, as: 'zones' + end + end + + class RegionList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Region, decorator: Google::Apis::ComputeBeta::Region::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class ResourceGroupReference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :group, as: 'group' + end + end + + class Route + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :dest_range, as: 'destRange' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :network, as: 'network' + property :next_hop_gateway, as: 'nextHopGateway' + property :next_hop_instance, as: 'nextHopInstance' + property :next_hop_ip, as: 'nextHopIp' + property :next_hop_network, as: 'nextHopNetwork' + property :next_hop_vpn_tunnel, as: 'nextHopVpnTunnel' + property :priority, as: 'priority' + property :self_link, as: 'selfLink' + collection :tags, as: 'tags' + collection :warnings, as: 'warnings', class: Google::Apis::ComputeBeta::Route::Warning, decorator: Google::Apis::ComputeBeta::Route::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::Route::Warning::Datum, decorator: Google::Apis::ComputeBeta::Route::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class RouteList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Route, decorator: Google::Apis::ComputeBeta::Route::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class Scheduling + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :automatic_restart, as: 'automaticRestart' + property :on_host_maintenance, as: 'onHostMaintenance' + property :preemptible, as: 'preemptible' + end + end + + class SerialPortOutput + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :contents, as: 'contents' + property :kind, as: 'kind' + property :self_link, as: 'selfLink' + end + end + + class ServiceAccount + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :email, as: 'email' + collection :scopes, as: 'scopes' + end + end + + class Snapshot + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :disk_size_gb, as: 'diskSizeGb' + property :id, as: 'id' + property :kind, as: 'kind' + collection :licenses, as: 'licenses' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :snapshot_encryption_key, as: 'snapshotEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :source_disk, as: 'sourceDisk' + property :source_disk_encryption_key, as: 'sourceDiskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :source_disk_id, as: 'sourceDiskId' + property :status, as: 'status' + property :storage_bytes, as: 'storageBytes' + property :storage_bytes_status, as: 'storageBytesStatus' + end + end + + class SnapshotList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Snapshot, decorator: Google::Apis::ComputeBeta::Snapshot::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class SslCertificate + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :certificate, as: 'certificate' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :private_key, as: 'privateKey' + property :self_link, as: 'selfLink' + end + end + + class SslCertificateList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::SslCertificate, decorator: Google::Apis::ComputeBeta::SslCertificate::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class Subnetwork + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :gateway_address, as: 'gatewayAddress' + property :id, as: 'id' + property :ip_cidr_range, as: 'ipCidrRange' + property :kind, as: 'kind' + property :name, as: 'name' + property :network, as: 'network' + property :region, as: 'region' + property :self_link, as: 'selfLink' + end + end + + class SubnetworkAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::SubnetworksScopedList, decorator: Google::Apis::ComputeBeta::SubnetworksScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class SubnetworkList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Subnetwork, decorator: Google::Apis::ComputeBeta::Subnetwork::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class SubnetworksScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :subnetworks, as: 'subnetworks', class: Google::Apis::ComputeBeta::Subnetwork, decorator: Google::Apis::ComputeBeta::Subnetwork::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::SubnetworksScopedList::Warning, decorator: Google::Apis::ComputeBeta::SubnetworksScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::SubnetworksScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::SubnetworksScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class Tags + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :fingerprint, :base64 => true, as: 'fingerprint' + collection :items, as: 'items' + end + end + + class TargetHttpProxy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :url_map, as: 'urlMap' + end + end + + class TargetHttpProxyList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::TargetHttpProxy, decorator: Google::Apis::ComputeBeta::TargetHttpProxy::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetHttpsProxiesSetSslCertificatesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :ssl_certificates, as: 'sslCertificates' + end + end + + class TargetHttpsProxy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + collection :ssl_certificates, as: 'sslCertificates' + property :url_map, as: 'urlMap' + end + end + + class TargetHttpsProxyList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::TargetHttpsProxy, decorator: Google::Apis::ComputeBeta::TargetHttpsProxy::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetInstance + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, as: 'id' + property :instance, as: 'instance' + property :kind, as: 'kind' + property :name, as: 'name' + property :nat_policy, as: 'natPolicy' + property :self_link, as: 'selfLink' + property :zone, as: 'zone' + end + end + + class TargetInstanceAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::TargetInstancesScopedList, decorator: Google::Apis::ComputeBeta::TargetInstancesScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetInstanceList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::TargetInstance, decorator: Google::Apis::ComputeBeta::TargetInstance::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetInstancesScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :target_instances, as: 'targetInstances', class: Google::Apis::ComputeBeta::TargetInstance, decorator: Google::Apis::ComputeBeta::TargetInstance::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::TargetInstancesScopedList::Warning, decorator: Google::Apis::ComputeBeta::TargetInstancesScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::TargetInstancesScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::TargetInstancesScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class TargetPool + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :backup_pool, as: 'backupPool' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :failover_ratio, as: 'failoverRatio' + collection :health_checks, as: 'healthChecks' + property :id, as: 'id' + collection :instances, as: 'instances' + property :kind, as: 'kind' + property :name, as: 'name' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :session_affinity, as: 'sessionAffinity' + end + end + + class TargetPoolAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::TargetPoolsScopedList, decorator: Google::Apis::ComputeBeta::TargetPoolsScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetPoolInstanceHealth + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :health_status, as: 'healthStatus', class: Google::Apis::ComputeBeta::HealthStatus, decorator: Google::Apis::ComputeBeta::HealthStatus::Representation + + property :kind, as: 'kind' + end + end + + class TargetPoolList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::TargetPool, decorator: Google::Apis::ComputeBeta::TargetPool::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class AddTargetPoolsHealthCheckRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :health_checks, as: 'healthChecks', class: Google::Apis::ComputeBeta::HealthCheckReference, decorator: Google::Apis::ComputeBeta::HealthCheckReference::Representation + + end + end + + class AddTargetPoolsInstanceRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances', class: Google::Apis::ComputeBeta::InstanceReference, decorator: Google::Apis::ComputeBeta::InstanceReference::Representation + + end + end + + class RemoveTargetPoolsHealthCheckRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :health_checks, as: 'healthChecks', class: Google::Apis::ComputeBeta::HealthCheckReference, decorator: Google::Apis::ComputeBeta::HealthCheckReference::Representation + + end + end + + class RemoveTargetPoolsInstanceRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances', class: Google::Apis::ComputeBeta::InstanceReference, decorator: Google::Apis::ComputeBeta::InstanceReference::Representation + + end + end + + class TargetPoolsScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :target_pools, as: 'targetPools', class: Google::Apis::ComputeBeta::TargetPool, decorator: Google::Apis::ComputeBeta::TargetPool::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::TargetPoolsScopedList::Warning, decorator: Google::Apis::ComputeBeta::TargetPoolsScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::TargetPoolsScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::TargetPoolsScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class TargetReference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :target, as: 'target' + end + end + + class TargetVpnGateway + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + collection :forwarding_rules, as: 'forwardingRules' + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :network, as: 'network' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :status, as: 'status' + collection :tunnels, as: 'tunnels' + end + end + + class TargetVpnGatewayAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList, decorator: Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetVpnGatewayList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::TargetVpnGateway, decorator: Google::Apis::ComputeBeta::TargetVpnGateway::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class TargetVpnGatewaysScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :target_vpn_gateways, as: 'targetVpnGateways', class: Google::Apis::ComputeBeta::TargetVpnGateway, decorator: Google::Apis::ComputeBeta::TargetVpnGateway::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList::Warning, decorator: Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::TargetVpnGatewaysScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class TestFailure + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :actual_service, as: 'actualService' + property :expected_service, as: 'expectedService' + property :host, as: 'host' + property :path, as: 'path' + end + end + + class UrlMap + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :default_service, as: 'defaultService' + property :description, as: 'description' + property :fingerprint, :base64 => true, as: 'fingerprint' + collection :host_rules, as: 'hostRules', class: Google::Apis::ComputeBeta::HostRule, decorator: Google::Apis::ComputeBeta::HostRule::Representation + + property :id, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + collection :path_matchers, as: 'pathMatchers', class: Google::Apis::ComputeBeta::PathMatcher, decorator: Google::Apis::ComputeBeta::PathMatcher::Representation + + property :self_link, as: 'selfLink' + collection :tests, as: 'tests', class: Google::Apis::ComputeBeta::UrlMapTest, decorator: Google::Apis::ComputeBeta::UrlMapTest::Representation + + end + end + + class UrlMapList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::UrlMap, decorator: Google::Apis::ComputeBeta::UrlMap::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class UrlMapReference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :url_map, as: 'urlMap' + end + end + + class UrlMapTest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :host, as: 'host' + property :path, as: 'path' + property :service, as: 'service' + end + end + + class UrlMapValidationResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :load_errors, as: 'loadErrors' + property :load_succeeded, as: 'loadSucceeded' + collection :test_failures, as: 'testFailures', class: Google::Apis::ComputeBeta::TestFailure, decorator: Google::Apis::ComputeBeta::TestFailure::Representation + + property :test_passed, as: 'testPassed' + end + end + + class ValidateUrlMapsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource, as: 'resource', class: Google::Apis::ComputeBeta::UrlMap, decorator: Google::Apis::ComputeBeta::UrlMap::Representation + + end + end + + class ValidateUrlMapsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :result, as: 'result', class: Google::Apis::ComputeBeta::UrlMapValidationResult, decorator: Google::Apis::ComputeBeta::UrlMapValidationResult::Representation + + end + end + + class UsageExportLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bucket_name, as: 'bucketName' + property :report_name_prefix, as: 'reportNamePrefix' + end + end + + class VpnTunnel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :detailed_status, as: 'detailedStatus' + property :id, as: 'id' + property :ike_version, as: 'ikeVersion' + property :kind, as: 'kind' + collection :local_traffic_selector, as: 'localTrafficSelector' + property :name, as: 'name' + property :peer_ip, as: 'peerIp' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :shared_secret, as: 'sharedSecret' + property :shared_secret_hash, as: 'sharedSecretHash' + property :status, as: 'status' + property :target_vpn_gateway, as: 'targetVpnGateway' + end + end + + class VpnTunnelAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::VpnTunnelsScopedList, decorator: Google::Apis::ComputeBeta::VpnTunnelsScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class VpnTunnelList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::VpnTunnel, decorator: Google::Apis::ComputeBeta::VpnTunnel::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + + class VpnTunnelsScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :vpn_tunnels, as: 'vpnTunnels', class: Google::Apis::ComputeBeta::VpnTunnel, decorator: Google::Apis::ComputeBeta::VpnTunnel::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::VpnTunnelsScopedList::Warning, decorator: Google::Apis::ComputeBeta::VpnTunnelsScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::VpnTunnelsScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::VpnTunnelsScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + + class Zone + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :deprecated, as: 'deprecated', class: Google::Apis::ComputeBeta::DeprecationStatus, decorator: Google::Apis::ComputeBeta::DeprecationStatus::Representation + + property :description, as: 'description' + property :id, as: 'id' + property :kind, as: 'kind' + collection :maintenance_windows, as: 'maintenanceWindows', class: Google::Apis::ComputeBeta::Zone::MaintenanceWindow, decorator: Google::Apis::ComputeBeta::Zone::MaintenanceWindow::Representation + + property :name, as: 'name' + property :region, as: 'region' + property :self_link, as: 'selfLink' + property :status, as: 'status' + end + + class MaintenanceWindow + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :begin_time, as: 'beginTime' + property :description, as: 'description' + property :end_time, as: 'endTime' + property :name, as: 'name' + end + end + end + + class ZoneList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Zone, decorator: Google::Apis::ComputeBeta::Zone::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + end + end + end + end +end diff --git a/generated/google/apis/compute_beta/service.rb b/generated/google/apis/compute_beta/service.rb new file mode 100644 index 000000000..7c0450691 --- /dev/null +++ b/generated/google/apis/compute_beta/service.rb @@ -0,0 +1,10154 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ComputeBeta + # Compute Engine API + # + # API for the Google Compute Engine service. + # + # @example + # require 'google/apis/compute_beta' + # + # Compute = Google::Apis::ComputeBeta # Alias the module + # service = Compute::ComputeService.new + # + # @see https://developers.google.com/compute/docs/reference/latest/ + class ComputeService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + attr_accessor :quota_user + + # @return [String] + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + attr_accessor :user_ip + + def initialize + super('https://www.googleapis.com/', 'compute/beta/projects/') + end + + # Retrieves the list of addresses grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AddressAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AddressAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_addresses(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/addresses', options) + command.response_representation = Google::Apis::ComputeBeta::AddressAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::AddressAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified address resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] address + # Name of the address resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_address(project, region, address, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/addresses/{address}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['address'] = address unless address.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified address resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] address + # Name of the address resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Address] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Address] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_address(project, region, address, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/addresses/{address}', options) + command.response_representation = Google::Apis::ComputeBeta::Address::Representation + command.response_class = Google::Apis::ComputeBeta::Address + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['address'] = address unless address.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an address resource in the specified project using the data included + # in the request. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [Google::Apis::ComputeBeta::Address] address_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_address(project, region, address_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/addresses', options) + command.request_representation = Google::Apis::ComputeBeta::Address::Representation + command.request_object = address_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of address resources contained within the specified region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AddressList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AddressList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_addresses(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/addresses', options) + command.response_representation = Google::Apis::ComputeBeta::AddressList::Representation + command.response_class = Google::Apis::ComputeBeta::AddressList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of autoscalers grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AutoscalerAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AutoscalerAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_autoscalers(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/autoscalers', options) + command.response_representation = Google::Apis::ComputeBeta::AutoscalerAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::AutoscalerAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified autoscaler resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] autoscaler + # Name of the persistent autoscaler resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_autoscaler(project, zone, autoscaler, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/autoscalers/{autoscaler}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['autoscaler'] = autoscaler unless autoscaler.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified autoscaler resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] autoscaler + # Name of the persistent autoscaler resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Autoscaler] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Autoscaler] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_autoscaler(project, zone, autoscaler, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/autoscalers/{autoscaler}', options) + command.response_representation = Google::Apis::ComputeBeta::Autoscaler::Representation + command.response_class = Google::Apis::ComputeBeta::Autoscaler + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['autoscaler'] = autoscaler unless autoscaler.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an autoscaler resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [Google::Apis::ComputeBeta::Autoscaler] autoscaler_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_autoscaler(project, zone, autoscaler_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/autoscalers', options) + command.request_representation = Google::Apis::ComputeBeta::Autoscaler::Representation + command.request_object = autoscaler_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of autoscaler resources contained within the specified zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AutoscalerList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AutoscalerList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_autoscalers(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/autoscalers', options) + command.response_representation = Google::Apis::ComputeBeta::AutoscalerList::Representation + command.response_class = Google::Apis::ComputeBeta::AutoscalerList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates an autoscaler resource in the specified project using the data + # included in the request. This method supports patch semantics. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] autoscaler + # Name of the autoscaler resource to update. + # @param [Google::Apis::ComputeBeta::Autoscaler] autoscaler_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_autoscaler(project, zone, autoscaler, autoscaler_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/zones/{zone}/autoscalers', options) + command.request_representation = Google::Apis::ComputeBeta::Autoscaler::Representation + command.request_object = autoscaler_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['autoscaler'] = autoscaler unless autoscaler.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates an autoscaler resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [Google::Apis::ComputeBeta::Autoscaler] autoscaler_object + # @param [String] autoscaler + # Name of the autoscaler resource to update. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_autoscaler(project, zone, autoscaler_object = nil, autoscaler: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:put, '{project}/zones/{zone}/autoscalers', options) + command.request_representation = Google::Apis::ComputeBeta::Autoscaler::Representation + command.request_object = autoscaler_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['autoscaler'] = autoscaler unless autoscaler.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified BackendService resource. + # @param [String] project + # Project ID for this request. + # @param [String] backend_service + # Name of the BackendService resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_backend_service(project, backend_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/backendServices/{backendService}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['backendService'] = backend_service unless backend_service.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified BackendService resource. + # @param [String] project + # Project ID for this request. + # @param [String] backend_service + # Name of the BackendService resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::BackendService] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::BackendService] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_backend_service(project, backend_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/backendServices/{backendService}', options) + command.response_representation = Google::Apis::ComputeBeta::BackendService::Representation + command.response_class = Google::Apis::ComputeBeta::BackendService + command.params['project'] = project unless project.nil? + command.params['backendService'] = backend_service unless backend_service.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Gets the most recent health check results for this BackendService. + # @param [String] project + # @param [String] backend_service + # Name of the BackendService resource to which the queried instance belongs. + # @param [Google::Apis::ComputeBeta::ResourceGroupReference] resource_group_reference_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::BackendServiceGroupHealth] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::BackendServiceGroupHealth] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_backend_service_health(project, backend_service, resource_group_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/backendServices/{backendService}/getHealth', options) + command.request_representation = Google::Apis::ComputeBeta::ResourceGroupReference::Representation + command.request_object = resource_group_reference_object + command.response_representation = Google::Apis::ComputeBeta::BackendServiceGroupHealth::Representation + command.response_class = Google::Apis::ComputeBeta::BackendServiceGroupHealth + command.params['project'] = project unless project.nil? + command.params['backendService'] = backend_service unless backend_service.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a BackendService resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::BackendService] backend_service_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_backend_service(project, backend_service_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/backendServices', options) + command.request_representation = Google::Apis::ComputeBeta::BackendService::Representation + command.request_object = backend_service_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of BackendService resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::BackendServiceList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::BackendServiceList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_backend_services(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/backendServices', options) + command.response_representation = Google::Apis::ComputeBeta::BackendServiceList::Representation + command.response_class = Google::Apis::ComputeBeta::BackendServiceList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Update the entire content of the BackendService resource. This method supports + # patch semantics. + # @param [String] project + # Project ID for this request. + # @param [String] backend_service + # Name of the BackendService resource to update. + # @param [Google::Apis::ComputeBeta::BackendService] backend_service_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_backend_service(project, backend_service, backend_service_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/backendServices/{backendService}', options) + command.request_representation = Google::Apis::ComputeBeta::BackendService::Representation + command.request_object = backend_service_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['backendService'] = backend_service unless backend_service.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Update the entire content of the BackendService resource. + # @param [String] project + # Project ID for this request. + # @param [String] backend_service + # Name of the BackendService resource to update. + # @param [Google::Apis::ComputeBeta::BackendService] backend_service_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_backend_service(project, backend_service, backend_service_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:put, '{project}/global/backendServices/{backendService}', options) + command.request_representation = Google::Apis::ComputeBeta::BackendService::Representation + command.request_object = backend_service_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['backendService'] = backend_service unless backend_service.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of disk type resources grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::DiskTypeAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::DiskTypeAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_disk_types(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/diskTypes', options) + command.response_representation = Google::Apis::ComputeBeta::DiskTypeAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::DiskTypeAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified disk type resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] disk_type + # Name of the disk type resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::DiskType] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::DiskType] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_disk_type(project, zone, disk_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/diskTypes/{diskType}', options) + command.response_representation = Google::Apis::ComputeBeta::DiskType::Representation + command.response_class = Google::Apis::ComputeBeta::DiskType + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['diskType'] = disk_type unless disk_type.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of disk type resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::DiskTypeList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::DiskTypeList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_disk_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/diskTypes', options) + command.response_representation = Google::Apis::ComputeBeta::DiskTypeList::Representation + command.response_class = Google::Apis::ComputeBeta::DiskTypeList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of persistent disks grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::DiskAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::DiskAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_disk(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/disks', options) + command.response_representation = Google::Apis::ComputeBeta::DiskAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::DiskAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a snapshot of a specified persistent disk. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] disk + # Name of the persistent disk to snapshot. + # @param [Google::Apis::ComputeBeta::Snapshot] snapshot_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_disk_snapshot(project, zone, disk, snapshot_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/disks/{disk}/createSnapshot', options) + command.request_representation = Google::Apis::ComputeBeta::Snapshot::Representation + command.request_object = snapshot_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['disk'] = disk unless disk.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified persistent disk. Deleting a disk removes its data + # permanently and is irreversible. However, deleting a disk does not delete any + # snapshots previously made from the disk. You must separately delete snapshots. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] disk + # Name of the persistent disk to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_disk(project, zone, disk, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/disks/{disk}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['disk'] = disk unless disk.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns a specified persistent disk. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] disk + # Name of the persistent disk to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Disk] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Disk] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_disk(project, zone, disk, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/disks/{disk}', options) + command.response_representation = Google::Apis::ComputeBeta::Disk::Representation + command.response_class = Google::Apis::ComputeBeta::Disk + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['disk'] = disk unless disk.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a persistent disk in the specified project using the data included in + # the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [Google::Apis::ComputeBeta::Disk] disk_object + # @param [String] source_image + # Optional. Source image to restore onto a disk. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_disk(project, zone, disk_object = nil, source_image: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/disks', options) + command.request_representation = Google::Apis::ComputeBeta::Disk::Representation + command.request_object = disk_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['sourceImage'] = source_image unless source_image.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of persistent disks contained within the specified zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::DiskList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::DiskList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_disks(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/disks', options) + command.response_representation = Google::Apis::ComputeBeta::DiskList::Representation + command.response_class = Google::Apis::ComputeBeta::DiskList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Resizes the specified persistent disk. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] disk + # The name of the persistent disk. + # @param [Google::Apis::ComputeBeta::DisksResizeRequest] disks_resize_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def resize_disk(project, zone, disk, disks_resize_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/disks/{disk}/resize', options) + command.request_representation = Google::Apis::ComputeBeta::DisksResizeRequest::Representation + command.request_object = disks_resize_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['disk'] = disk unless disk.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified firewall resource. + # @param [String] project + # Project ID for this request. + # @param [String] firewall + # Name of the firewall resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_firewall(project, firewall, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/firewalls/{firewall}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['firewall'] = firewall unless firewall.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified firewall resource. + # @param [String] project + # Project ID for this request. + # @param [String] firewall + # Name of the firewall resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Firewall] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Firewall] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_firewall(project, firewall, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/firewalls/{firewall}', options) + command.response_representation = Google::Apis::ComputeBeta::Firewall::Representation + command.response_class = Google::Apis::ComputeBeta::Firewall + command.params['project'] = project unless project.nil? + command.params['firewall'] = firewall unless firewall.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a firewall resource in the specified project using the data included + # in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::Firewall] firewall_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_firewall(project, firewall_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/firewalls', options) + command.request_representation = Google::Apis::ComputeBeta::Firewall::Representation + command.request_object = firewall_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of firewall resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::FirewallList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::FirewallList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_firewalls(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/firewalls', options) + command.response_representation = Google::Apis::ComputeBeta::FirewallList::Representation + command.response_class = Google::Apis::ComputeBeta::FirewallList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates the specified firewall resource with the data included in the request. + # This method supports patch semantics. + # @param [String] project + # Project ID for this request. + # @param [String] firewall + # Name of the firewall resource to update. + # @param [Google::Apis::ComputeBeta::Firewall] firewall_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_firewall(project, firewall, firewall_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/firewalls/{firewall}', options) + command.request_representation = Google::Apis::ComputeBeta::Firewall::Representation + command.request_object = firewall_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['firewall'] = firewall unless firewall.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates the specified firewall resource with the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] firewall + # Name of the firewall resource to update. + # @param [Google::Apis::ComputeBeta::Firewall] firewall_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_firewall(project, firewall, firewall_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:put, '{project}/global/firewalls/{firewall}', options) + command.request_representation = Google::Apis::ComputeBeta::Firewall::Representation + command.request_object = firewall_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['firewall'] = firewall unless firewall.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of forwarding rules grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ForwardingRuleAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ForwardingRuleAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_forwarding_rules(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/forwardingRules', options) + command.response_representation = Google::Apis::ComputeBeta::ForwardingRuleAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::ForwardingRuleAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified ForwardingRule resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] forwarding_rule + # Name of the ForwardingRule resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_forwarding_rule(project, region, forwarding_rule, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/forwardingRules/{forwardingRule}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified ForwardingRule resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] forwarding_rule + # Name of the ForwardingRule resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ForwardingRule] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ForwardingRule] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_forwarding_rule(project, region, forwarding_rule, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/forwardingRules/{forwardingRule}', options) + command.response_representation = Google::Apis::ComputeBeta::ForwardingRule::Representation + command.response_class = Google::Apis::ComputeBeta::ForwardingRule + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a ForwardingRule resource in the specified project and region using + # the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [Google::Apis::ComputeBeta::ForwardingRule] forwarding_rule_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_forwarding_rule(project, region, forwarding_rule_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/forwardingRules', options) + command.request_representation = Google::Apis::ComputeBeta::ForwardingRule::Representation + command.request_object = forwarding_rule_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of ForwardingRule resources available to the specified + # project and region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ForwardingRuleList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ForwardingRuleList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_forwarding_rules(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/forwardingRules', options) + command.response_representation = Google::Apis::ComputeBeta::ForwardingRuleList::Representation + command.response_class = Google::Apis::ComputeBeta::ForwardingRuleList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Changes target URL for forwarding rule. The new target should be of the same + # type as the old target. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] forwarding_rule + # Name of the ForwardingRule resource in which target is to be set. + # @param [Google::Apis::ComputeBeta::TargetReference] target_reference_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_forwarding_rule_target(project, region, forwarding_rule, target_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget', options) + command.request_representation = Google::Apis::ComputeBeta::TargetReference::Representation + command.request_object = target_reference_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified address resource. + # @param [String] project + # Project ID for this request. + # @param [String] address + # Name of the address resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_global_address(project, address, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/addresses/{address}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['address'] = address unless address.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified address resource. + # @param [String] project + # Project ID for this request. + # @param [String] address + # Name of the address resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Address] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Address] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_global_address(project, address, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/addresses/{address}', options) + command.response_representation = Google::Apis::ComputeBeta::Address::Representation + command.response_class = Google::Apis::ComputeBeta::Address + command.params['project'] = project unless project.nil? + command.params['address'] = address unless address.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an address resource in the specified project using the data included + # in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::Address] address_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_global_address(project, address_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/addresses', options) + command.request_representation = Google::Apis::ComputeBeta::Address::Representation + command.request_object = address_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of global address resources. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AddressList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AddressList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_global_addresses(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/addresses', options) + command.response_representation = Google::Apis::ComputeBeta::AddressList::Representation + command.response_class = Google::Apis::ComputeBeta::AddressList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified ForwardingRule resource. + # @param [String] project + # Project ID for this request. + # @param [String] forwarding_rule + # Name of the ForwardingRule resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_global_forwarding_rule(project, forwarding_rule, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/forwardingRules/{forwardingRule}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified ForwardingRule resource. + # @param [String] project + # Project ID for this request. + # @param [String] forwarding_rule + # Name of the ForwardingRule resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ForwardingRule] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ForwardingRule] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_global_forwarding_rule(project, forwarding_rule, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/forwardingRules/{forwardingRule}', options) + command.response_representation = Google::Apis::ComputeBeta::ForwardingRule::Representation + command.response_class = Google::Apis::ComputeBeta::ForwardingRule + command.params['project'] = project unless project.nil? + command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a ForwardingRule resource in the specified project and region using + # the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::ForwardingRule] forwarding_rule_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_global_forwarding_rule(project, forwarding_rule_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/forwardingRules', options) + command.request_representation = Google::Apis::ComputeBeta::ForwardingRule::Representation + command.request_object = forwarding_rule_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of ForwardingRule resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ForwardingRuleList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ForwardingRuleList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_global_forwarding_rules(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/forwardingRules', options) + command.response_representation = Google::Apis::ComputeBeta::ForwardingRuleList::Representation + command.response_class = Google::Apis::ComputeBeta::ForwardingRuleList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Changes target URL for forwarding rule. The new target should be of the same + # type as the old target. + # @param [String] project + # Project ID for this request. + # @param [String] forwarding_rule + # Name of the ForwardingRule resource in which target is to be set. + # @param [Google::Apis::ComputeBeta::TargetReference] target_reference_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_global_forwarding_rule_target(project, forwarding_rule, target_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/forwardingRules/{forwardingRule}/setTarget', options) + command.request_representation = Google::Apis::ComputeBeta::TargetReference::Representation + command.request_object = target_reference_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of all operations grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::OperationAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::OperationAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_global_operation(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/operations', options) + command.response_representation = Google::Apis::ComputeBeta::OperationAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::OperationAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified Operations resource. + # @param [String] project + # Project ID for this request. + # @param [String] operation + # Name of the Operations resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [NilClass] No result returned for this method + # @yieldparam err [StandardError] error object if request failed + # + # @return [void] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_global_operation(project, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/operations/{operation}', options) + command.params['project'] = project unless project.nil? + command.params['operation'] = operation unless operation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the specified Operations resource. + # @param [String] project + # Project ID for this request. + # @param [String] operation + # Name of the Operations resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_global_operation(project, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/operations/{operation}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['operation'] = operation unless operation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of Operation resources contained within the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::OperationList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::OperationList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_global_operations(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/operations', options) + command.response_representation = Google::Apis::ComputeBeta::OperationList::Representation + command.response_class = Google::Apis::ComputeBeta::OperationList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified HttpHealthCheck resource. + # @param [String] project + # Project ID for this request. + # @param [String] http_health_check + # Name of the HttpHealthCheck resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_http_health_check(project, http_health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/httpHealthChecks/{httpHealthCheck}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified HttpHealthCheck resource. + # @param [String] project + # Project ID for this request. + # @param [String] http_health_check + # Name of the HttpHealthCheck resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::HttpHealthCheck] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::HttpHealthCheck] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_http_health_check(project, http_health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/httpHealthChecks/{httpHealthCheck}', options) + command.response_representation = Google::Apis::ComputeBeta::HttpHealthCheck::Representation + command.response_class = Google::Apis::ComputeBeta::HttpHealthCheck + command.params['project'] = project unless project.nil? + command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a HttpHealthCheck resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::HttpHealthCheck] http_health_check_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_http_health_check(project, http_health_check_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/httpHealthChecks', options) + command.request_representation = Google::Apis::ComputeBeta::HttpHealthCheck::Representation + command.request_object = http_health_check_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of HttpHealthCheck resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::HttpHealthCheckList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::HttpHealthCheckList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_http_health_checks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/httpHealthChecks', options) + command.response_representation = Google::Apis::ComputeBeta::HttpHealthCheckList::Representation + command.response_class = Google::Apis::ComputeBeta::HttpHealthCheckList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates a HttpHealthCheck resource in the specified project using the data + # included in the request. This method supports patch semantics. + # @param [String] project + # Project ID for this request. + # @param [String] http_health_check + # Name of the HttpHealthCheck resource to update. + # @param [Google::Apis::ComputeBeta::HttpHealthCheck] http_health_check_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_http_health_check(project, http_health_check, http_health_check_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/httpHealthChecks/{httpHealthCheck}', options) + command.request_representation = Google::Apis::ComputeBeta::HttpHealthCheck::Representation + command.request_object = http_health_check_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates a HttpHealthCheck resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] http_health_check + # Name of the HttpHealthCheck resource to update. + # @param [Google::Apis::ComputeBeta::HttpHealthCheck] http_health_check_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_http_health_check(project, http_health_check, http_health_check_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:put, '{project}/global/httpHealthChecks/{httpHealthCheck}', options) + command.request_representation = Google::Apis::ComputeBeta::HttpHealthCheck::Representation + command.request_object = http_health_check_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified HttpsHealthCheck resource. + # @param [String] project + # Project ID for this request. + # @param [String] https_health_check + # Name of the HttpsHealthCheck resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_https_health_check(project, https_health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified HttpsHealthCheck resource. + # @param [String] project + # Project ID for this request. + # @param [String] https_health_check + # Name of the HttpsHealthCheck resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::HttpsHealthCheck] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::HttpsHealthCheck] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_https_health_check(project, https_health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) + command.response_representation = Google::Apis::ComputeBeta::HttpsHealthCheck::Representation + command.response_class = Google::Apis::ComputeBeta::HttpsHealthCheck + command.params['project'] = project unless project.nil? + command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a HttpsHealthCheck resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::HttpsHealthCheck] https_health_check_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_https_health_check(project, https_health_check_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/httpsHealthChecks', options) + command.request_representation = Google::Apis::ComputeBeta::HttpsHealthCheck::Representation + command.request_object = https_health_check_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of HttpsHealthCheck resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::HttpsHealthCheckList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::HttpsHealthCheckList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_https_health_checks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/httpsHealthChecks', options) + command.response_representation = Google::Apis::ComputeBeta::HttpsHealthCheckList::Representation + command.response_class = Google::Apis::ComputeBeta::HttpsHealthCheckList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates a HttpsHealthCheck resource in the specified project using the data + # included in the request. This method supports patch semantics. + # @param [String] project + # Project ID for this request. + # @param [String] https_health_check + # Name of the HttpsHealthCheck resource to update. + # @param [Google::Apis::ComputeBeta::HttpsHealthCheck] https_health_check_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_https_health_check(project, https_health_check, https_health_check_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) + command.request_representation = Google::Apis::ComputeBeta::HttpsHealthCheck::Representation + command.request_object = https_health_check_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates a HttpsHealthCheck resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] https_health_check + # Name of the HttpsHealthCheck resource to update. + # @param [Google::Apis::ComputeBeta::HttpsHealthCheck] https_health_check_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_https_health_check(project, https_health_check, https_health_check_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:put, '{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) + command.request_representation = Google::Apis::ComputeBeta::HttpsHealthCheck::Representation + command.request_object = https_health_check_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified image resource. + # @param [String] project + # Project ID for this request. + # @param [String] image + # Name of the image resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_image(project, image, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/images/{image}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['image'] = image unless image.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets the deprecation status of an image. + # If an empty request body is given, clears the deprecation status instead. + # @param [String] project + # Project ID for this request. + # @param [String] image + # Image name. + # @param [Google::Apis::ComputeBeta::DeprecationStatus] deprecation_status_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def deprecate_image(project, image, deprecation_status_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/images/{image}/deprecate', options) + command.request_representation = Google::Apis::ComputeBeta::DeprecationStatus::Representation + command.request_object = deprecation_status_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['image'] = image unless image.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified image resource. + # @param [String] project + # Project ID for this request. + # @param [String] image + # Name of the image resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Image] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Image] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_image(project, image, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/images/{image}', options) + command.response_representation = Google::Apis::ComputeBeta::Image::Representation + command.response_class = Google::Apis::ComputeBeta::Image + command.params['project'] = project unless project.nil? + command.params['image'] = image unless image.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an image resource in the specified project using the data included in + # the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::Image] image_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_image(project, image_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/images', options) + command.request_representation = Google::Apis::ComputeBeta::Image::Representation + command.request_object = image_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of private images available to the specified project. + # Private images are images you create that belong to your project. This method + # does not get any images that belong to other projects, including publicly- + # available images, like Debian 7. If you want to get a list of publicly- + # available images, use this method to make a request to the respective image + # project, such as debian-cloud or windows-cloud. + # See Accessing images for more information. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ImageList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ImageList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_images(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/images', options) + command.response_representation = Google::Apis::ComputeBeta::ImageList::Representation + command.response_class = Google::Apis::ComputeBeta::ImageList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Schedules a group action to remove the specified instances from the managed + # instance group. Abandoning an instance does not delete the instance, but it + # does remove the instance from any target pools that are applied by the managed + # instance group. This method reduces the targetSize of the managed instance + # group by the number of instances that you abandon. This operation is marked as + # DONE when the action is scheduled even if the instances have not yet been + # removed from the group. You must separately verify the status of the + # abandoning action with the listmanagedinstances method. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroupManagersAbandonInstancesRequest] instance_group_managers_abandon_instances_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def abandon_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_abandon_instances_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManagersAbandonInstancesRequest::Representation + command.request_object = instance_group_managers_abandon_instances_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of managed instance groups and groups them by zone. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupManagerAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupManagerAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_instance_group_managers(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/instanceGroupManagers', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupManagerAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupManagerAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified managed instance group and all of the instances in that + # group. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_instance_group_manager(project, zone, instance_group_manager, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Schedules a group action to delete the specified instances in the managed + # instance group. The instances are also removed from any target pools of which + # they were a member. This method reduces the targetSize of the managed instance + # group by the number of instances that you delete. This operation is marked as + # DONE when the action is scheduled even if the instances are still being + # deleted. You must separately verify the status of the deleting action with the + # listmanagedinstances method. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroupManagersDeleteInstancesRequest] instance_group_managers_delete_instances_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_delete_instances_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManagersDeleteInstancesRequest::Representation + command.request_object = instance_group_managers_delete_instances_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns all of the details about the specified managed instance group. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupManager] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupManager] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance_group_manager(project, zone, instance_group_manager, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupManager::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupManager + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a managed instance group using the information that you specify in the + # request. After the group is created, it schedules an action to create + # instances in the group using the specified instance template. This operation + # is marked as DONE when the group is created even if the instances in the group + # have not yet been created. You must separately verify the status of the + # individual instances with the listmanagedinstances method. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where you want to create the managed instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroupManager] instance_group_manager_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_instance_group_manager(project, zone, instance_group_manager_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManager::Representation + command.request_object = instance_group_manager_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves a list of managed instance groups that are contained within the + # specified project and zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupManagerList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupManagerList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_instance_group_managers(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instanceGroupManagers', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupManagerList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupManagerList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Lists all of the instances in the managed instance group. Each instance in the + # list has a currentAction, which indicates the action that the managed instance + # group is performing on the instance. For example, if the group is still + # creating an instance, the currentAction is CREATING. If a previous action + # failed, the list displays the errors for that failed action. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupManagersListManagedInstancesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupManagersListManagedInstancesResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_instance_group_manager_managed_instances(project, zone, instance_group_manager, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupManagersListManagedInstancesResponse::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupManagersListManagedInstancesResponse + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Schedules a group action to recreate the specified instances in the managed + # instance group. The instances are deleted and recreated using the current + # instance template for the managed instance group. This operation is marked as + # DONE when the action is scheduled even if the instances have not yet been + # recreated. You must separately verify the status of the recreating action with + # the listmanagedinstances method. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroupManagersRecreateInstancesRequest] instance_group_managers_recreate_instances_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def recreate_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_recreate_instances_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManagersRecreateInstancesRequest::Representation + command.request_object = instance_group_managers_recreate_instances_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Resizes the managed instance group. If you increase the size, the group + # creates new instances using the current instance template. If you decrease the + # size, the group deletes instances. The resize operation is marked DONE when + # the resize actions are scheduled even if the group has not yet added or + # deleted any instances. You must separately verify the status of the creating + # or deleting actions with the listmanagedinstances method. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [Fixnum] size + # The number of running instances that the managed instance group should + # maintain at any given time. The group automatically adds or removes instances + # to maintain the number of instances specified by this parameter. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def resize_instance_group_manager(project, zone, instance_group_manager, size, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['size'] = size unless size.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Modifies the autohealing policies. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The URL of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the instance group manager. + # @param [Google::Apis::ComputeBeta::InstanceGroupManagersSetAutoHealingRequest] instance_group_managers_set_auto_healing_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_group_manager_auto_healing_policies(project, zone, instance_group_manager, instance_group_managers_set_auto_healing_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManagersSetAutoHealingRequest::Representation + command.request_object = instance_group_managers_set_auto_healing_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Specifies the instance template to use when creating new instances in this + # group. The templates for existing instances in the group do not change unless + # you recreate them. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroupManagersSetInstanceTemplateRequest] instance_group_managers_set_instance_template_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_group_manager_instance_template(project, zone, instance_group_manager, instance_group_managers_set_instance_template_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManagersSetInstanceTemplateRequest::Representation + command.request_object = instance_group_managers_set_instance_template_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Modifies the target pools to which all instances in this managed instance + # group are assigned. The target pools automatically apply to all of the + # instances in the managed instance group. This operation is marked DONE when + # you make the request even if the instances have not yet been added to their + # target pools. The change might take some time to apply to all of the instances + # in the group depending on the size of the group. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. + # @param [String] instance_group_manager + # The name of the managed instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroupManagersSetTargetPoolsRequest] instance_group_managers_set_target_pools_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_group_manager_target_pools(project, zone, instance_group_manager, instance_group_managers_set_target_pools_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupManagersSetTargetPoolsRequest::Representation + command.request_object = instance_group_managers_set_target_pools_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Adds a list of instances to the specified instance group. All of the instances + # in the instance group must be in the same network/subnetwork. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] instance_group + # The name of the instance group where you are adding instances. + # @param [Google::Apis::ComputeBeta::InstanceGroupsAddInstancesRequest] instance_groups_add_instances_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def add_instance_group_instances(project, zone, instance_group, instance_groups_add_instances_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupsAddInstancesRequest::Representation + command.request_object = instance_groups_add_instances_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroup'] = instance_group unless instance_group.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of instance groups and sorts them by zone. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_instance_groups(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/instanceGroups', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified instance group. The instances in the group are not + # deleted. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] instance_group + # The name of the instance group to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_instance_group(project, zone, instance_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/instanceGroups/{instanceGroup}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroup'] = instance_group unless instance_group.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified instance group resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] instance_group + # The name of the instance group. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroup] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroup] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance_group(project, zone, instance_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instanceGroups/{instanceGroup}', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroup::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroup + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroup'] = instance_group unless instance_group.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an instance group in the specified project using the parameters that + # are included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where you want to create the instance group. + # @param [Google::Apis::ComputeBeta::InstanceGroup] instance_group_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_instance_group(project, zone, instance_group_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroups', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroup::Representation + command.request_object = instance_group_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of instance groups that are located in the specified + # project and zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_instance_groups(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instanceGroups', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Lists the instances in the specified instance group. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] instance_group + # The name of the instance group from which you want to generate a list of + # included instances. + # @param [Google::Apis::ComputeBeta::InstanceGroupsListInstancesRequest] instance_groups_list_instances_request_object + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceGroupsListInstances] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceGroupsListInstances] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_instance_group_instances(project, zone, instance_group, instance_groups_list_instances_request_object = nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupsListInstancesRequest::Representation + command.request_object = instance_groups_list_instances_request_object + command.response_representation = Google::Apis::ComputeBeta::InstanceGroupsListInstances::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceGroupsListInstances + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroup'] = instance_group unless instance_group.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Removes one or more instances from the specified instance group, but does not + # delete those instances. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] instance_group + # The name of the instance group where the specified instances will be removed. + # @param [Google::Apis::ComputeBeta::InstanceGroupsRemoveInstancesRequest] instance_groups_remove_instances_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def remove_instance_group_instances(project, zone, instance_group, instance_groups_remove_instances_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupsRemoveInstancesRequest::Representation + command.request_object = instance_groups_remove_instances_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroup'] = instance_group unless instance_group.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets the named ports for the specified instance group. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the instance group is located. + # @param [String] instance_group + # The name of the instance group where the named ports are updated. + # @param [Google::Apis::ComputeBeta::InstanceGroupsSetNamedPortsRequest] instance_groups_set_named_ports_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_group_named_ports(project, zone, instance_group, instance_groups_set_named_ports_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceGroupsSetNamedPortsRequest::Representation + command.request_object = instance_groups_set_named_ports_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instanceGroup'] = instance_group unless instance_group.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified instance template. + # @param [String] project + # Project ID for this request. + # @param [String] instance_template + # The name of the instance template to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_instance_template(project, instance_template, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/instanceTemplates/{instanceTemplate}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['instanceTemplate'] = instance_template unless instance_template.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified instance template resource. + # @param [String] project + # Project ID for this request. + # @param [String] instance_template + # The name of the instance template. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceTemplate] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceTemplate] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance_template(project, instance_template, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/instanceTemplates/{instanceTemplate}', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceTemplate::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceTemplate + command.params['project'] = project unless project.nil? + command.params['instanceTemplate'] = instance_template unless instance_template.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an instance template in the specified project using the data that is + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::InstanceTemplate] instance_template_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_instance_template(project, instance_template_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/instanceTemplates', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceTemplate::Representation + command.request_object = instance_template_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves a list of instance templates that are contained within the specified + # project and zone. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceTemplateList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceTemplateList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_instance_templates(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/instanceTemplates', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceTemplateList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceTemplateList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Adds an access config to an instance's network interface. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # The instance name for this request. + # @param [String] network_interface + # The name of the network interface to add to this instance. + # @param [Google::Apis::ComputeBeta::AccessConfig] access_config_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def add_instance_access_config(project, zone, instance, network_interface, access_config_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/addAccessConfig', options) + command.request_representation = Google::Apis::ComputeBeta::AccessConfig::Representation + command.request_object = access_config_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['networkInterface'] = network_interface unless network_interface.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves aggregated list of instance resources. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_instances(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/instances', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Attaches a Disk resource to an instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Instance name. + # @param [Google::Apis::ComputeBeta::AttachedDisk] attached_disk_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def attach_disk(project, zone, instance, attached_disk_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/attachDisk', options) + command.request_representation = Google::Apis::ComputeBeta::AttachedDisk::Representation + command.request_object = attached_disk_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified Instance resource. For more information, see Stopping or + # Deleting an Instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_instance(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/instances/{instance}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes an access config from an instance's network interface. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # The instance name for this request. + # @param [String] access_config + # The name of the access config to delete. + # @param [String] network_interface + # The name of the network interface. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_instance_access_config(project, zone, instance, access_config, network_interface, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/deleteAccessConfig', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['accessConfig'] = access_config unless access_config.nil? + command.query['networkInterface'] = network_interface unless network_interface.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Detaches a disk from an instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Instance name. + # @param [String] device_name + # Disk device name to detach. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def detach_disk(project, zone, instance, device_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/detachDisk', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['deviceName'] = device_name unless device_name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified instance resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Instance] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Instance] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instances/{instance}', options) + command.response_representation = Google::Apis::ComputeBeta::Instance::Representation + command.response_class = Google::Apis::ComputeBeta::Instance + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified instance's serial port output. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Fixnum] port + # Specifies which COM or serial port to retrieve data from. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::SerialPortOutput] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::SerialPortOutput] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance_serial_port_output(project, zone, instance, port: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instances/{instance}/serialPort', options) + command.response_representation = Google::Apis::ComputeBeta::SerialPortOutput::Representation + command.response_class = Google::Apis::ComputeBeta::SerialPortOutput + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['port'] = port unless port.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates an instance resource in the specified project using the data included + # in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [Google::Apis::ComputeBeta::Instance] instance_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_instance(project, zone, instance_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances', options) + command.request_representation = Google::Apis::ComputeBeta::Instance::Representation + command.request_object = instance_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of instance resources contained within the specified zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::InstanceList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::InstanceList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_instances(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instances', options) + command.response_representation = Google::Apis::ComputeBeta::InstanceList::Representation + command.response_class = Google::Apis::ComputeBeta::InstanceList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Performs a hard reset on the instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def reset_instance(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/reset', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets the auto-delete flag for a disk attached to an instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # The instance name. + # @param [Boolean] auto_delete + # Whether to auto-delete the disk when the instance is deleted. + # @param [String] device_name + # The device name of the disk to modify. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_disk_auto_delete(project, zone, instance, auto_delete, device_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['autoDelete'] = auto_delete unless auto_delete.nil? + command.query['deviceName'] = device_name unless device_name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets labels for the specified instance to the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Google::Apis::ComputeBeta::InstancesSetLabelsRequest] instances_set_labels_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_labels(project, zone, instance, instances_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/setLabels', options) + command.request_representation = Google::Apis::ComputeBeta::InstancesSetLabelsRequest::Representation + command.request_object = instances_set_labels_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Changes the machine type for a stopped instance to the machine type specified + # in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Google::Apis::ComputeBeta::InstancesSetMachineTypeRequest] instances_set_machine_type_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_machine_type(project, zone, instance, instances_set_machine_type_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/setMachineType', options) + command.request_representation = Google::Apis::ComputeBeta::InstancesSetMachineTypeRequest::Representation + command.request_object = instances_set_machine_type_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets metadata for the specified instance to the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Google::Apis::ComputeBeta::Metadata] metadata_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_metadata(project, zone, instance, metadata_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/setMetadata', options) + command.request_representation = Google::Apis::ComputeBeta::Metadata::Representation + command.request_object = metadata_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets an instance's scheduling options. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Instance name. + # @param [Google::Apis::ComputeBeta::Scheduling] scheduling_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_scheduling(project, zone, instance, scheduling_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/setScheduling', options) + command.request_representation = Google::Apis::ComputeBeta::Scheduling::Representation + command.request_object = scheduling_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets tags for the specified instance to the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Google::Apis::ComputeBeta::Tags] tags_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_instance_tags(project, zone, instance, tags_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/setTags', options) + command.request_representation = Google::Apis::ComputeBeta::Tags::Representation + command.request_object = tags_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # This method starts an instance that was stopped using the using the instances() + # .stop method. For more information, see Restart an instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance resource to start. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def start_instance(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/start', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # This method stops a running instance, shutting it down cleanly, and allows you + # to restart the instance at a later time. Stopped instances do not incur per- + # minute, virtual machine usage charges while they are stopped, but any + # resources that the virtual machine is using, such as persistent disks and + # static IP addresses,will continue to be charged until they are deleted. For + # more information, see Stopping an instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance resource to stop. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def stop_instance(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{instance}/stop', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified license resource. + # @param [String] project + # Project ID for this request. + # @param [String] license + # Name of the license resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::License] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::License] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_license(project, license, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/licenses/{license}', options) + command.response_representation = Google::Apis::ComputeBeta::License::Representation + command.response_class = Google::Apis::ComputeBeta::License + command.params['project'] = project unless project.nil? + command.params['license'] = license unless license.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of machine type resources grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::MachineTypeAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::MachineTypeAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_machine_types(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/machineTypes', options) + command.response_representation = Google::Apis::ComputeBeta::MachineTypeAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::MachineTypeAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified machine type resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] machine_type + # Name of the machine type resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::MachineType] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::MachineType] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_machine_type(project, zone, machine_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/machineTypes/{machineType}', options) + command.response_representation = Google::Apis::ComputeBeta::MachineType::Representation + command.response_class = Google::Apis::ComputeBeta::MachineType + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['machineType'] = machine_type unless machine_type.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of machine type resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::MachineTypeList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::MachineTypeList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_machine_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/machineTypes', options) + command.response_representation = Google::Apis::ComputeBeta::MachineTypeList::Representation + command.response_class = Google::Apis::ComputeBeta::MachineTypeList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified network resource. + # @param [String] project + # Project ID for this request. + # @param [String] network + # Name of the network resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_network(project, network, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/networks/{network}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['network'] = network unless network.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified network resource. + # @param [String] project + # Project ID for this request. + # @param [String] network + # Name of the network resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Network] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Network] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_network(project, network, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/networks/{network}', options) + command.response_representation = Google::Apis::ComputeBeta::Network::Representation + command.response_class = Google::Apis::ComputeBeta::Network + command.params['project'] = project unless project.nil? + command.params['network'] = network unless network.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a network resource in the specified project using the data included in + # the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::Network] network_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_network(project, network_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/networks', options) + command.request_representation = Google::Apis::ComputeBeta::Network::Representation + command.request_object = network_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of network resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::NetworkList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::NetworkList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_networks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/networks', options) + command.response_representation = Google::Apis::ComputeBeta::NetworkList::Representation + command.response_class = Google::Apis::ComputeBeta::NetworkList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified project resource. + # @param [String] project + # Project ID for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Project] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Project] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project(project, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}', options) + command.response_representation = Google::Apis::ComputeBeta::Project::Representation + command.response_class = Google::Apis::ComputeBeta::Project + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets metadata common to all instances within the specified project using the + # data included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::Metadata] metadata_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_common_instance_metadata(project, metadata_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/setCommonInstanceMetadata', options) + command.request_representation = Google::Apis::ComputeBeta::Metadata::Representation + command.request_object = metadata_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Enables the usage export feature and sets the usage export bucket where + # reports are stored. If you provide an empty request body using this method, + # the usage export feature will be disabled. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::UsageExportLocation] usage_export_location_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_usage_export_bucket(project, usage_export_location_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/setUsageExportBucket', options) + command.request_representation = Google::Apis::ComputeBeta::UsageExportLocation::Representation + command.request_object = usage_export_location_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # [Deprecated] Use setUsageExportBucket instead. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::UsageExportLocation] usage_export_location_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_project_usage_export_cloud_storage_bucket(project, usage_export_location_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/setUsageExportCloudStorageBucket', options) + command.request_representation = Google::Apis::ComputeBeta::UsageExportLocation::Representation + command.request_object = usage_export_location_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified region-specific Operations resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] operation + # Name of the Operations resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [NilClass] No result returned for this method + # @yieldparam err [StandardError] error object if request failed + # + # @return [void] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_region_operation(project, region, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/operations/{operation}', options) + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['operation'] = operation unless operation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the specified region-specific Operations resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the zone scoping this request. + # @param [String] operation + # Name of the Operations resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_region_operation(project, region, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/operations/{operation}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['operation'] = operation unless operation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of Operation resources contained within the specified + # region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::OperationList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::OperationList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_region_operations(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/operations', options) + command.response_representation = Google::Apis::ComputeBeta::OperationList::Representation + command.response_class = Google::Apis::ComputeBeta::OperationList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified region resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Region] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Region] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_region(project, region, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}', options) + command.response_representation = Google::Apis::ComputeBeta::Region::Representation + command.response_class = Google::Apis::ComputeBeta::Region + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of region resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::RegionList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::RegionList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_regions(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions', options) + command.response_representation = Google::Apis::ComputeBeta::RegionList::Representation + command.response_class = Google::Apis::ComputeBeta::RegionList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified route resource. + # @param [String] project + # Project ID for this request. + # @param [String] route + # Name of the route resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_route(project, route, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/routes/{route}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['route'] = route unless route.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified route resource. + # @param [String] project + # Project ID for this request. + # @param [String] route + # Name of the route resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Route] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Route] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_route(project, route, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/routes/{route}', options) + command.response_representation = Google::Apis::ComputeBeta::Route::Representation + command.response_class = Google::Apis::ComputeBeta::Route + command.params['project'] = project unless project.nil? + command.params['route'] = route unless route.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a route resource in the specified project using the data included in + # the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::Route] route_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_route(project, route_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/routes', options) + command.request_representation = Google::Apis::ComputeBeta::Route::Representation + command.request_object = route_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of route resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::RouteList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::RouteList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_routes(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/routes', options) + command.response_representation = Google::Apis::ComputeBeta::RouteList::Representation + command.response_class = Google::Apis::ComputeBeta::RouteList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified Snapshot resource. Keep in mind that deleting a single + # snapshot might not necessarily delete all the data on that snapshot. If any + # data on the snapshot that is marked for deletion is needed for subsequent + # snapshots, the data will be moved to the next corresponding snapshot. + # For more information, see Deleting snaphots. + # @param [String] project + # Project ID for this request. + # @param [String] snapshot + # Name of the Snapshot resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_snapshot(project, snapshot, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/snapshots/{snapshot}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['snapshot'] = snapshot unless snapshot.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified Snapshot resource. + # @param [String] project + # Project ID for this request. + # @param [String] snapshot + # Name of the Snapshot resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Snapshot] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Snapshot] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_snapshot(project, snapshot, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/snapshots/{snapshot}', options) + command.response_representation = Google::Apis::ComputeBeta::Snapshot::Representation + command.response_class = Google::Apis::ComputeBeta::Snapshot + command.params['project'] = project unless project.nil? + command.params['snapshot'] = snapshot unless snapshot.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of Snapshot resources contained within the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::SnapshotList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::SnapshotList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_snapshots(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/snapshots', options) + command.response_representation = Google::Apis::ComputeBeta::SnapshotList::Representation + command.response_class = Google::Apis::ComputeBeta::SnapshotList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified SslCertificate resource. + # @param [String] project + # Project ID for this request. + # @param [String] ssl_certificate + # Name of the SslCertificate resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_ssl_certificate(project, ssl_certificate, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/sslCertificates/{sslCertificate}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['sslCertificate'] = ssl_certificate unless ssl_certificate.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified SslCertificate resource. + # @param [String] project + # Project ID for this request. + # @param [String] ssl_certificate + # Name of the SslCertificate resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::SslCertificate] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::SslCertificate] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_ssl_certificate(project, ssl_certificate, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/sslCertificates/{sslCertificate}', options) + command.response_representation = Google::Apis::ComputeBeta::SslCertificate::Representation + command.response_class = Google::Apis::ComputeBeta::SslCertificate + command.params['project'] = project unless project.nil? + command.params['sslCertificate'] = ssl_certificate unless ssl_certificate.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a SslCertificate resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::SslCertificate] ssl_certificate_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_ssl_certificate(project, ssl_certificate_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/sslCertificates', options) + command.request_representation = Google::Apis::ComputeBeta::SslCertificate::Representation + command.request_object = ssl_certificate_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of SslCertificate resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::SslCertificateList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::SslCertificateList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_ssl_certificates(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/sslCertificates', options) + command.response_representation = Google::Apis::ComputeBeta::SslCertificateList::Representation + command.response_class = Google::Apis::ComputeBeta::SslCertificateList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of Subnetworks grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::SubnetworkAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::SubnetworkAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_subnetworks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/subnetworks', options) + command.response_representation = Google::Apis::ComputeBeta::SubnetworkAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::SubnetworkAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified Subnetwork resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] subnetwork + # Name of the Subnetwork resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_subnetwork(project, region, subnetwork, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/subnetworks/{subnetwork}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['subnetwork'] = subnetwork unless subnetwork.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified Subnetwork resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] subnetwork + # Name of the Subnetwork resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Subnetwork] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Subnetwork] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_subnetwork(project, region, subnetwork, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/subnetworks/{subnetwork}', options) + command.response_representation = Google::Apis::ComputeBeta::Subnetwork::Representation + command.response_class = Google::Apis::ComputeBeta::Subnetwork + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['subnetwork'] = subnetwork unless subnetwork.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a Subnetwork resource in the specified project using the data included + # in the request. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [Google::Apis::ComputeBeta::Subnetwork] subnetwork_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_subnetwork(project, region, subnetwork_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/subnetworks', options) + command.request_representation = Google::Apis::ComputeBeta::Subnetwork::Representation + command.request_object = subnetwork_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of Subnetwork resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::SubnetworkList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::SubnetworkList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_subnetworks(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/subnetworks', options) + command.response_representation = Google::Apis::ComputeBeta::SubnetworkList::Representation + command.response_class = Google::Apis::ComputeBeta::SubnetworkList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified TargetHttpProxy resource. + # @param [String] project + # Project ID for this request. + # @param [String] target_http_proxy + # Name of the TargetHttpProxy resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_target_http_proxy(project, target_http_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/targetHttpProxies/{targetHttpProxy}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified TargetHttpProxy resource. + # @param [String] project + # Project ID for this request. + # @param [String] target_http_proxy + # Name of the TargetHttpProxy resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetHttpProxy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetHttpProxy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_target_http_proxy(project, target_http_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/targetHttpProxies/{targetHttpProxy}', options) + command.response_representation = Google::Apis::ComputeBeta::TargetHttpProxy::Representation + command.response_class = Google::Apis::ComputeBeta::TargetHttpProxy + command.params['project'] = project unless project.nil? + command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a TargetHttpProxy resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::TargetHttpProxy] target_http_proxy_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_target_http_proxy(project, target_http_proxy_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/targetHttpProxies', options) + command.request_representation = Google::Apis::ComputeBeta::TargetHttpProxy::Representation + command.request_object = target_http_proxy_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of TargetHttpProxy resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetHttpProxyList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetHttpProxyList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_target_http_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/targetHttpProxies', options) + command.response_representation = Google::Apis::ComputeBeta::TargetHttpProxyList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetHttpProxyList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Changes the URL map for TargetHttpProxy. + # @param [String] project + # Project ID for this request. + # @param [String] target_http_proxy + # Name of the TargetHttpProxy resource whose URL map is to be set. + # @param [Google::Apis::ComputeBeta::UrlMapReference] url_map_reference_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_target_http_proxy_url_map(project, target_http_proxy, url_map_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap', options) + command.request_representation = Google::Apis::ComputeBeta::UrlMapReference::Representation + command.request_object = url_map_reference_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified TargetHttpsProxy resource. + # @param [String] project + # Project ID for this request. + # @param [String] target_https_proxy + # Name of the TargetHttpsProxy resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_target_https_proxy(project, target_https_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/targetHttpsProxies/{targetHttpsProxy}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified TargetHttpsProxy resource. + # @param [String] project + # Project ID for this request. + # @param [String] target_https_proxy + # Name of the TargetHttpsProxy resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetHttpsProxy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetHttpsProxy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_target_https_proxy(project, target_https_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/targetHttpsProxies/{targetHttpsProxy}', options) + command.response_representation = Google::Apis::ComputeBeta::TargetHttpsProxy::Representation + command.response_class = Google::Apis::ComputeBeta::TargetHttpsProxy + command.params['project'] = project unless project.nil? + command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a TargetHttpsProxy resource in the specified project using the data + # included in the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::TargetHttpsProxy] target_https_proxy_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_target_https_proxy(project, target_https_proxy_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/targetHttpsProxies', options) + command.request_representation = Google::Apis::ComputeBeta::TargetHttpsProxy::Representation + command.request_object = target_https_proxy_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of TargetHttpsProxy resources available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetHttpsProxyList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetHttpsProxyList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_target_https_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/targetHttpsProxies', options) + command.response_representation = Google::Apis::ComputeBeta::TargetHttpsProxyList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetHttpsProxyList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Replaces SslCertificates for TargetHttpsProxy. + # @param [String] project + # Project ID for this request. + # @param [String] target_https_proxy + # Name of the TargetHttpsProxy resource whose SSLCertificate is to be set. + # @param [Google::Apis::ComputeBeta::TargetHttpsProxiesSetSslCertificatesRequest] target_https_proxies_set_ssl_certificates_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_target_https_proxy_ssl_certificates(project, target_https_proxy, target_https_proxies_set_ssl_certificates_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates', options) + command.request_representation = Google::Apis::ComputeBeta::TargetHttpsProxiesSetSslCertificatesRequest::Representation + command.request_object = target_https_proxies_set_ssl_certificates_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Changes the URL map for TargetHttpsProxy. + # @param [String] project + # Project ID for this request. + # @param [String] target_https_proxy + # Name of the TargetHttpsProxy resource whose URL map is to be set. + # @param [Google::Apis::ComputeBeta::UrlMapReference] url_map_reference_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_target_https_proxy_url_map(project, target_https_proxy, url_map_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap', options) + command.request_representation = Google::Apis::ComputeBeta::UrlMapReference::Representation + command.request_object = url_map_reference_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of target instances grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetInstanceAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetInstanceAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_target_instance(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/targetInstances', options) + command.response_representation = Google::Apis::ComputeBeta::TargetInstanceAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetInstanceAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified TargetInstance resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] target_instance + # Name of the TargetInstance resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_target_instance(project, zone, target_instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/targetInstances/{targetInstance}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['targetInstance'] = target_instance unless target_instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified TargetInstance resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] target_instance + # Name of the TargetInstance resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetInstance] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetInstance] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_target_instance(project, zone, target_instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/targetInstances/{targetInstance}', options) + command.response_representation = Google::Apis::ComputeBeta::TargetInstance::Representation + command.response_class = Google::Apis::ComputeBeta::TargetInstance + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['targetInstance'] = target_instance unless target_instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a TargetInstance resource in the specified project and zone using the + # data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [Google::Apis::ComputeBeta::TargetInstance] target_instance_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_target_instance(project, zone, target_instance_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/targetInstances', options) + command.request_representation = Google::Apis::ComputeBeta::TargetInstance::Representation + command.request_object = target_instance_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of TargetInstance resources available to the specified + # project and zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetInstanceList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetInstanceList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_target_instances(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/targetInstances', options) + command.response_representation = Google::Apis::ComputeBeta::TargetInstanceList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetInstanceList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Adds health check URL to targetPool. + # @param [String] project + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to which health_check_url is to be added. + # @param [Google::Apis::ComputeBeta::AddTargetPoolsHealthCheckRequest] add_target_pools_health_check_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def add_target_pool_health_check(project, region, target_pool, add_target_pools_health_check_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck', options) + command.request_representation = Google::Apis::ComputeBeta::AddTargetPoolsHealthCheckRequest::Representation + command.request_object = add_target_pools_health_check_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Adds instance URL to targetPool. + # @param [String] project + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to which instance_url is to be added. + # @param [Google::Apis::ComputeBeta::AddTargetPoolsInstanceRequest] add_target_pools_instance_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def add_target_pool_instance(project, region, target_pool, add_target_pools_instance_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools/{targetPool}/addInstance', options) + command.request_representation = Google::Apis::ComputeBeta::AddTargetPoolsInstanceRequest::Representation + command.request_object = add_target_pools_instance_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of target pools grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetPoolAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetPoolAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_target_pools(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/targetPools', options) + command.response_representation = Google::Apis::ComputeBeta::TargetPoolAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetPoolAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified TargetPool resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_target_pool(project, region, target_pool, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/targetPools/{targetPool}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified TargetPool resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetPool] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetPool] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_target_pool(project, region, target_pool, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/targetPools/{targetPool}', options) + command.response_representation = Google::Apis::ComputeBeta::TargetPool::Representation + command.response_class = Google::Apis::ComputeBeta::TargetPool + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Gets the most recent health check results for each IP for the given instance + # that is referenced by given TargetPool. + # @param [String] project + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to which the queried instance belongs. + # @param [Google::Apis::ComputeBeta::InstanceReference] instance_reference_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetPoolInstanceHealth] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetPoolInstanceHealth] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_target_pool_health(project, region, target_pool, instance_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools/{targetPool}/getHealth', options) + command.request_representation = Google::Apis::ComputeBeta::InstanceReference::Representation + command.request_object = instance_reference_object + command.response_representation = Google::Apis::ComputeBeta::TargetPoolInstanceHealth::Representation + command.response_class = Google::Apis::ComputeBeta::TargetPoolInstanceHealth + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a TargetPool resource in the specified project and region using the + # data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [Google::Apis::ComputeBeta::TargetPool] target_pool_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_target_pool(project, region, target_pool_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools', options) + command.request_representation = Google::Apis::ComputeBeta::TargetPool::Representation + command.request_object = target_pool_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of TargetPool resources available to the specified project + # and region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetPoolList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetPoolList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_target_pools(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/targetPools', options) + command.response_representation = Google::Apis::ComputeBeta::TargetPoolList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetPoolList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Removes health check URL from targetPool. + # @param [String] project + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to which health_check_url is to be removed. + # @param [Google::Apis::ComputeBeta::RemoveTargetPoolsHealthCheckRequest] remove_target_pools_health_check_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def remove_target_pool_health_check(project, region, target_pool, remove_target_pools_health_check_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck', options) + command.request_representation = Google::Apis::ComputeBeta::RemoveTargetPoolsHealthCheckRequest::Representation + command.request_object = remove_target_pools_health_check_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Removes instance URL from targetPool. + # @param [String] project + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource to which instance_url is to be removed. + # @param [Google::Apis::ComputeBeta::RemoveTargetPoolsInstanceRequest] remove_target_pools_instance_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def remove_target_pool_instance(project, region, target_pool, remove_target_pools_instance_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools/{targetPool}/removeInstance', options) + command.request_representation = Google::Apis::ComputeBeta::RemoveTargetPoolsInstanceRequest::Representation + command.request_object = remove_target_pools_instance_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Changes backup pool configurations. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region scoping this request. + # @param [String] target_pool + # Name of the TargetPool resource for which the backup is to be set. + # @param [Google::Apis::ComputeBeta::TargetReference] target_reference_object + # @param [Float] failover_ratio + # New failoverRatio value for the containing target pool. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_target_pool_backup(project, region, target_pool, target_reference_object = nil, failover_ratio: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetPools/{targetPool}/setBackup', options) + command.request_representation = Google::Apis::ComputeBeta::TargetReference::Representation + command.request_object = target_reference_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetPool'] = target_pool unless target_pool.nil? + command.query['failoverRatio'] = failover_ratio unless failover_ratio.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of target VPN gateways grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetVpnGatewayAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetVpnGatewayAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_target_vpn_gateways(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/targetVpnGateways', options) + command.response_representation = Google::Apis::ComputeBeta::TargetVpnGatewayAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetVpnGatewayAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified TargetVpnGateway resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] target_vpn_gateway + # Name of the TargetVpnGateway resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_target_vpn_gateway(project, region, target_vpn_gateway, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetVpnGateway'] = target_vpn_gateway unless target_vpn_gateway.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified TargetVpnGateway resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] target_vpn_gateway + # Name of the TargetVpnGateway resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetVpnGateway] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetVpnGateway] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_target_vpn_gateway(project, region, target_vpn_gateway, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}', options) + command.response_representation = Google::Apis::ComputeBeta::TargetVpnGateway::Representation + command.response_class = Google::Apis::ComputeBeta::TargetVpnGateway + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['targetVpnGateway'] = target_vpn_gateway unless target_vpn_gateway.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a TargetVpnGateway resource in the specified project and region using + # the data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [Google::Apis::ComputeBeta::TargetVpnGateway] target_vpn_gateway_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_target_vpn_gateway(project, region, target_vpn_gateway_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/targetVpnGateways', options) + command.request_representation = Google::Apis::ComputeBeta::TargetVpnGateway::Representation + command.request_object = target_vpn_gateway_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of TargetVpnGateway resources available to the specified + # project and region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TargetVpnGatewayList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TargetVpnGatewayList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_target_vpn_gateways(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/targetVpnGateways', options) + command.response_representation = Google::Apis::ComputeBeta::TargetVpnGatewayList::Representation + command.response_class = Google::Apis::ComputeBeta::TargetVpnGatewayList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified UrlMap resource. + # @param [String] project + # Project ID for this request. + # @param [String] url_map + # Name of the UrlMap resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_url_map(project, url_map, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/urlMaps/{urlMap}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['urlMap'] = url_map unless url_map.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified UrlMap resource. + # @param [String] project + # Project ID for this request. + # @param [String] url_map + # Name of the UrlMap resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::UrlMap] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::UrlMap] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_url_map(project, url_map, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/urlMaps/{urlMap}', options) + command.response_representation = Google::Apis::ComputeBeta::UrlMap::Representation + command.response_class = Google::Apis::ComputeBeta::UrlMap + command.params['project'] = project unless project.nil? + command.params['urlMap'] = url_map unless url_map.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a UrlMap resource in the specified project using the data included in + # the request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::UrlMap] url_map_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_url_map(project, url_map_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/urlMaps', options) + command.request_representation = Google::Apis::ComputeBeta::UrlMap::Representation + command.request_object = url_map_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of UrlMap resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::UrlMapList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::UrlMapList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_url_maps(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/urlMaps', options) + command.response_representation = Google::Apis::ComputeBeta::UrlMapList::Representation + command.response_class = Google::Apis::ComputeBeta::UrlMapList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Update the entire content of the UrlMap resource. This method supports patch + # semantics. + # @param [String] project + # Project ID for this request. + # @param [String] url_map + # Name of the UrlMap resource to update. + # @param [Google::Apis::ComputeBeta::UrlMap] url_map_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_url_map(project, url_map, url_map_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/urlMaps/{urlMap}', options) + command.request_representation = Google::Apis::ComputeBeta::UrlMap::Representation + command.request_object = url_map_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['urlMap'] = url_map unless url_map.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Update the entire content of the UrlMap resource. + # @param [String] project + # Project ID for this request. + # @param [String] url_map + # Name of the UrlMap resource to update. + # @param [Google::Apis::ComputeBeta::UrlMap] url_map_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_url_map(project, url_map, url_map_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:put, '{project}/global/urlMaps/{urlMap}', options) + command.request_representation = Google::Apis::ComputeBeta::UrlMap::Representation + command.request_object = url_map_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['urlMap'] = url_map unless url_map.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Run static validation for the UrlMap. In particular, the tests of the provided + # UrlMap will be run. Calling this method does NOT create the UrlMap. + # @param [String] project + # Project ID for this request. + # @param [String] url_map + # Name of the UrlMap resource to be validated as. + # @param [Google::Apis::ComputeBeta::ValidateUrlMapsRequest] validate_url_maps_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ValidateUrlMapsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ValidateUrlMapsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def validate_url_map(project, url_map, validate_url_maps_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/urlMaps/{urlMap}/validate', options) + command.request_representation = Google::Apis::ComputeBeta::ValidateUrlMapsRequest::Representation + command.request_object = validate_url_maps_request_object + command.response_representation = Google::Apis::ComputeBeta::ValidateUrlMapsResponse::Representation + command.response_class = Google::Apis::ComputeBeta::ValidateUrlMapsResponse + command.params['project'] = project unless project.nil? + command.params['urlMap'] = url_map unless url_map.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of VPN tunnels grouped by scope. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::VpnTunnelAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::VpnTunnelAggregatedList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_aggregated_vpn_tunnel(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/aggregated/vpnTunnels', options) + command.response_representation = Google::Apis::ComputeBeta::VpnTunnelAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::VpnTunnelAggregatedList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified VpnTunnel resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] vpn_tunnel + # Name of the VpnTunnel resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_vpn_tunnel(project, region, vpn_tunnel, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/vpnTunnels/{vpnTunnel}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['vpnTunnel'] = vpn_tunnel unless vpn_tunnel.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified VpnTunnel resource. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] vpn_tunnel + # Name of the VpnTunnel resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::VpnTunnel] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::VpnTunnel] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_vpn_tunnel(project, region, vpn_tunnel, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/vpnTunnels/{vpnTunnel}', options) + command.response_representation = Google::Apis::ComputeBeta::VpnTunnel::Representation + command.response_class = Google::Apis::ComputeBeta::VpnTunnel + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['vpnTunnel'] = vpn_tunnel unless vpn_tunnel.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a VpnTunnel resource in the specified project and region using the + # data included in the request. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [Google::Apis::ComputeBeta::VpnTunnel] vpn_tunnel_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_vpn_tunnel(project, region, vpn_tunnel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/vpnTunnels', options) + command.request_representation = Google::Apis::ComputeBeta::VpnTunnel::Representation + command.request_object = vpn_tunnel_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of VpnTunnel resources contained in the specified project + # and region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::VpnTunnelList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::VpnTunnelList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_vpn_tunnels(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/vpnTunnels', options) + command.response_representation = Google::Apis::ComputeBeta::VpnTunnelList::Representation + command.response_class = Google::Apis::ComputeBeta::VpnTunnelList + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified zone-specific Operations resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] operation + # Name of the Operations resource to delete. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [NilClass] No result returned for this method + # @yieldparam err [StandardError] error object if request failed + # + # @return [void] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_zone_operation(project, zone, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/operations/{operation}', options) + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['operation'] = operation unless operation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the specified zone-specific Operations resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] operation + # Name of the Operations resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_zone_operation(project, zone, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/operations/{operation}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['operation'] = operation unless operation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of Operation resources contained within the specified zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone scoping this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::OperationList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::OperationList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_zone_operations(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/operations', options) + command.response_representation = Google::Apis::ComputeBeta::OperationList::Representation + command.response_class = Google::Apis::ComputeBeta::OperationList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified zone resource. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone resource to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Zone] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Zone] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_zone(project, zone, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}', options) + command.response_representation = Google::Apis::ComputeBeta::Zone::Representation + command.response_class = Google::Apis::ComputeBeta::Zone + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the list of zone resources available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter expression for filtering listed resources, in the form filter=` + # expression`. Your `expression` must be in the format: field_name + # comparison_string literal_string. + # The field_name is the name of the field you want to compare. Only atomic field + # types are supported (string, number, boolean). The comparison_string must be + # either eq (equals) or ne (not equals). The literal_string is the string value + # to filter to. The literal value must be valid for the type of field you are + # filtering by (string, number, boolean). For string fields, the literal value + # is interpreted as a regular expression using RE2 syntax. The literal value + # must match the entire field. + # For example, filter=name ne example-instance. + # Compute Engine Beta API Only: If you use filtering in the Beta API, you can + # also filter on nested fields. For example, you could filter on instances that + # have set the scheduling.automaticRestart field to true. In particular, use + # filtering on nested fields to take advantage of instance labels to organize + # and filter results based on label values. + # The Beta API also supports filtering on multiple expressions by providing each + # separate expression within parentheses. For example, (scheduling. + # automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are + # treated as AND expressions meaning that resources must match all expressions + # to pass the filters. + # @param [Fixnum] max_results + # The maximum number of results per page that Compute Engine should return. If + # the number of available results is larger than maxResults, Compute Engine + # returns a nextPageToken that can be used to get the next page of results in + # subsequent list requests. + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # Overrides userIp if both are provided. + # @param [String] user_ip + # IP address of the site where the request originates. Use this if you want to + # enforce per-user limits. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ZoneList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ZoneList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_zones(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones', options) + command.response_representation = Google::Apis::ComputeBeta::ZoneList::Representation + command.response_class = Google::Apis::ComputeBeta::ZoneList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + end + end + end + end +end diff --git a/generated/google/apis/compute_v1/service.rb b/generated/google/apis/compute_v1/service.rb index 7a70d5cda..589a5fb36 100644 --- a/generated/google/apis/compute_v1/service.rb +++ b/generated/google/apis/compute_v1/service.rb @@ -369,7 +369,7 @@ module Google # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required - def aggregated_autoscaler_list(project, filter: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + def list_aggregated_autoscalers(project, filter: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, '{project}/aggregated/autoscalers', options) command.response_representation = Google::Apis::ComputeV1::AutoscalerAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::AutoscalerAggregatedList diff --git a/generated/google/apis/plus_domains_v1.rb b/generated/google/apis/plus_domains_v1.rb index e32762f39..2ed5e54bd 100644 --- a/generated/google/apis/plus_domains_v1.rb +++ b/generated/google/apis/plus_domains_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/+/domains/ module PlusDomainsV1 VERSION = 'V1' - REVISION = '20151209' + REVISION = '20151213' # View your circles and the people and pages in them AUTH_PLUS_CIRCLES_READ = 'https://www.googleapis.com/auth/plus.circles.read' diff --git a/generated/google/apis/plus_v1.rb b/generated/google/apis/plus_v1.rb index 7cc4a263c..315cf8880 100644 --- a/generated/google/apis/plus_v1.rb +++ b/generated/google/apis/plus_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/+/api/ module PlusV1 VERSION = 'V1' - REVISION = '20151209' + REVISION = '20151213' # Know your basic profile info and list of people in your circles. AUTH_PLUS_LOGIN = 'https://www.googleapis.com/auth/plus.login'