From ba9e6d373a89b179beedd0354eaba00c50e3553b Mon Sep 17 00:00:00 2001 From: Google APIs Date: Fri, 20 Oct 2017 00:36:20 +0000 Subject: [PATCH] Autogenerated update (2017-10-20) Update: - compute_alpha - compute_beta - compute_v1 - sourcerepo_v1 - sqladmin_v1beta4 - youtube_partner_v1 --- api_names_out.yaml | 269 ++++ generated/google/apis/compute_alpha.rb | 2 +- .../google/apis/compute_alpha/classes.rb | 220 +-- .../apis/compute_alpha/representations.rb | 79 +- .../google/apis/compute_alpha/service.rb | 176 ++- generated/google/apis/compute_beta.rb | 2 +- generated/google/apis/compute_beta/classes.rb | 90 +- .../apis/compute_beta/representations.rb | 3 +- generated/google/apis/compute_beta/service.rb | 65 +- generated/google/apis/compute_v1.rb | 2 +- generated/google/apis/compute_v1/classes.rb | 1196 ++++++++++++++++- .../google/apis/compute_v1/representations.rb | 402 ++++++ generated/google/apis/compute_v1/service.rb | 756 ++++++++++- generated/google/apis/sourcerepo_v1.rb | 2 +- .../google/apis/sourcerepo_v1/classes.rb | 2 +- generated/google/apis/sqladmin_v1beta4.rb | 2 +- .../google/apis/sqladmin_v1beta4/classes.rb | 127 ++ .../apis/sqladmin_v1beta4/representations.rb | 63 + .../google/apis/sqladmin_v1beta4/service.rb | 42 + generated/google/apis/youtube_partner_v1.rb | 2 +- .../google/apis/youtube_partner_v1/classes.rb | 37 + .../youtube_partner_v1/representations.rb | 17 + 22 files changed, 3357 insertions(+), 199 deletions(-) diff --git a/api_names_out.yaml b/api_names_out.yaml index ba7c887c6..619921014 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -15551,6 +15551,8 @@ "/compute:alpha/Disk/creationTimestamp": creation_timestamp "/compute:alpha/Disk/description": description "/compute:alpha/Disk/diskEncryptionKey": disk_encryption_key +"/compute:alpha/Disk/guestOsFeatures": guest_os_features +"/compute:alpha/Disk/guestOsFeatures/guest_os_feature": guest_os_feature "/compute:alpha/Disk/id": id "/compute:alpha/Disk/kind": kind "/compute:alpha/Disk/labelFingerprint": label_fingerprint @@ -15705,6 +15707,7 @@ "/compute:alpha/Firewall/destinationRanges": destination_ranges "/compute:alpha/Firewall/destinationRanges/destination_range": destination_range "/compute:alpha/Firewall/direction": direction +"/compute:alpha/Firewall/disabled": disabled "/compute:alpha/Firewall/enableLogging": enable_logging "/compute:alpha/Firewall/id": id "/compute:alpha/Firewall/kind": kind @@ -17484,6 +17487,7 @@ "/compute:alpha/SecurityPolicyRule/priority": priority "/compute:alpha/SecurityPolicyRuleMatcher": security_policy_rule_matcher "/compute:alpha/SecurityPolicyRuleMatcher/config": config +"/compute:alpha/SecurityPolicyRuleMatcher/expr": expr "/compute:alpha/SecurityPolicyRuleMatcher/srcIpRanges": src_ip_ranges "/compute:alpha/SecurityPolicyRuleMatcher/srcIpRanges/src_ip_range": src_ip_range "/compute:alpha/SecurityPolicyRuleMatcher/srcRegionCodes": src_region_codes @@ -17608,6 +17612,15 @@ "/compute:alpha/SslPolicy/warnings/warning/message": message "/compute:alpha/SslPolicyReference": ssl_policy_reference "/compute:alpha/SslPolicyReference/sslPolicy": ssl_policy +"/compute:alpha/StatefulPolicy": stateful_policy +"/compute:alpha/StatefulPolicy/preservedDisks": preserved_disks +"/compute:alpha/StatefulPolicy/preservedDisks/preserved_disk": preserved_disk +"/compute:alpha/StatefulPolicy/preservedResources": preserved_resources +"/compute:alpha/StatefulPolicyPreservedDisk": stateful_policy_preserved_disk +"/compute:alpha/StatefulPolicyPreservedDisk/deviceName": device_name +"/compute:alpha/StatefulPolicyPreservedResources": stateful_policy_preserved_resources +"/compute:alpha/StatefulPolicyPreservedResources/disks": disks +"/compute:alpha/StatefulPolicyPreservedResources/disks/disk": disk "/compute:alpha/Subnetwork": subnetwork "/compute:alpha/Subnetwork/allowSubnetCidrRoutesOverlap": allow_subnet_cidr_routes_overlap "/compute:alpha/Subnetwork/creationTimestamp": creation_timestamp @@ -19734,6 +19747,9 @@ "/compute:alpha/compute.routes.testIamPermissions": test_route_iam_permissions "/compute:alpha/compute.routes.testIamPermissions/project": project "/compute:alpha/compute.routes.testIamPermissions/resource": resource +"/compute:alpha/compute.securityPolicies.addRule": add_security_policy_rule +"/compute:alpha/compute.securityPolicies.addRule/project": project +"/compute:alpha/compute.securityPolicies.addRule/securityPolicy": security_policy "/compute:alpha/compute.securityPolicies.delete": delete_security_policy "/compute:alpha/compute.securityPolicies.delete/project": project "/compute:alpha/compute.securityPolicies.delete/requestId": request_id @@ -19741,6 +19757,10 @@ "/compute:alpha/compute.securityPolicies.get": get_security_policy "/compute:alpha/compute.securityPolicies.get/project": project "/compute:alpha/compute.securityPolicies.get/securityPolicy": security_policy +"/compute:alpha/compute.securityPolicies.getRule": get_security_policy_rule +"/compute:alpha/compute.securityPolicies.getRule/priority": priority +"/compute:alpha/compute.securityPolicies.getRule/project": project +"/compute:alpha/compute.securityPolicies.getRule/securityPolicy": security_policy "/compute:alpha/compute.securityPolicies.insert": insert_security_policy "/compute:alpha/compute.securityPolicies.insert/project": project "/compute:alpha/compute.securityPolicies.insert/requestId": request_id @@ -19754,6 +19774,14 @@ "/compute:alpha/compute.securityPolicies.patch/project": project "/compute:alpha/compute.securityPolicies.patch/requestId": request_id "/compute:alpha/compute.securityPolicies.patch/securityPolicy": security_policy +"/compute:alpha/compute.securityPolicies.patchRule": patch_security_policy_rule +"/compute:alpha/compute.securityPolicies.patchRule/priority": priority +"/compute:alpha/compute.securityPolicies.patchRule/project": project +"/compute:alpha/compute.securityPolicies.patchRule/securityPolicy": security_policy +"/compute:alpha/compute.securityPolicies.removeRule": remove_security_policy_rule +"/compute:alpha/compute.securityPolicies.removeRule/priority": priority +"/compute:alpha/compute.securityPolicies.removeRule/project": project +"/compute:alpha/compute.securityPolicies.removeRule/securityPolicy": security_policy "/compute:alpha/compute.securityPolicies.testIamPermissions": test_security_policy_iam_permissions "/compute:alpha/compute.securityPolicies.testIamPermissions/project": project "/compute:alpha/compute.securityPolicies.testIamPermissions/resource": resource @@ -21064,6 +21092,7 @@ "/compute:beta/Instance/canIpForward": can_ip_forward "/compute:beta/Instance/cpuPlatform": cpu_platform "/compute:beta/Instance/creationTimestamp": creation_timestamp +"/compute:beta/Instance/deletionProtection": deletion_protection "/compute:beta/Instance/description": description "/compute:beta/Instance/disks": disks "/compute:beta/Instance/disks/disk": disk @@ -23429,6 +23458,12 @@ "/compute:beta/compute.instances.reset/project": project "/compute:beta/compute.instances.reset/requestId": request_id "/compute:beta/compute.instances.reset/zone": zone +"/compute:beta/compute.instances.setDeletionProtection": set_instance_deletion_protection +"/compute:beta/compute.instances.setDeletionProtection/deletionProtection": deletion_protection +"/compute:beta/compute.instances.setDeletionProtection/project": project +"/compute:beta/compute.instances.setDeletionProtection/requestId": request_id +"/compute:beta/compute.instances.setDeletionProtection/resource": resource +"/compute:beta/compute.instances.setDeletionProtection/zone": zone "/compute:beta/compute.instances.setDiskAutoDelete": set_disk_auto_delete "/compute:beta/compute.instances.setDiskAutoDelete/autoDelete": auto_delete "/compute:beta/compute.instances.setDiskAutoDelete/deviceName": device_name @@ -24916,8 +24951,12 @@ "/compute:v1/Firewall/selfLink": self_link "/compute:v1/Firewall/sourceRanges": source_ranges "/compute:v1/Firewall/sourceRanges/source_range": source_range +"/compute:v1/Firewall/sourceServiceAccounts": source_service_accounts +"/compute:v1/Firewall/sourceServiceAccounts/source_service_account": source_service_account "/compute:v1/Firewall/sourceTags": source_tags "/compute:v1/Firewall/sourceTags/source_tag": source_tag +"/compute:v1/Firewall/targetServiceAccounts": target_service_accounts +"/compute:v1/Firewall/targetServiceAccounts/target_service_account": target_service_account "/compute:v1/Firewall/targetTags": target_tags "/compute:v1/Firewall/targetTags/target_tag": target_tag "/compute:v1/FirewallList": firewall_list @@ -25156,6 +25195,7 @@ "/compute:v1/Instance/canIpForward": can_ip_forward "/compute:v1/Instance/cpuPlatform": cpu_platform "/compute:v1/Instance/creationTimestamp": creation_timestamp +"/compute:v1/Instance/deletionProtection": deletion_protection "/compute:v1/Instance/description": description "/compute:v1/Instance/disks": disks "/compute:v1/Instance/disks/disk": disk @@ -25450,6 +25490,148 @@ "/compute:v1/InstancesStartWithEncryptionKeyRequest": instances_start_with_encryption_key_request "/compute:v1/InstancesStartWithEncryptionKeyRequest/disks": disks "/compute:v1/InstancesStartWithEncryptionKeyRequest/disks/disk": disk +"/compute:v1/Interconnect": interconnect +"/compute:v1/Interconnect/adminEnabled": admin_enabled +"/compute:v1/Interconnect/circuitInfos": circuit_infos +"/compute:v1/Interconnect/circuitInfos/circuit_info": circuit_info +"/compute:v1/Interconnect/creationTimestamp": creation_timestamp +"/compute:v1/Interconnect/customerName": customer_name +"/compute:v1/Interconnect/description": description +"/compute:v1/Interconnect/expectedOutages": expected_outages +"/compute:v1/Interconnect/expectedOutages/expected_outage": expected_outage +"/compute:v1/Interconnect/googleIpAddress": google_ip_address +"/compute:v1/Interconnect/googleReferenceId": google_reference_id +"/compute:v1/Interconnect/id": id +"/compute:v1/Interconnect/interconnectAttachments": interconnect_attachments +"/compute:v1/Interconnect/interconnectAttachments/interconnect_attachment": interconnect_attachment +"/compute:v1/Interconnect/interconnectType": interconnect_type +"/compute:v1/Interconnect/kind": kind +"/compute:v1/Interconnect/linkType": link_type +"/compute:v1/Interconnect/location": location +"/compute:v1/Interconnect/name": name +"/compute:v1/Interconnect/nocContactEmail": noc_contact_email +"/compute:v1/Interconnect/operationalStatus": operational_status +"/compute:v1/Interconnect/peerIpAddress": peer_ip_address +"/compute:v1/Interconnect/provisionedLinkCount": provisioned_link_count +"/compute:v1/Interconnect/requestedLinkCount": requested_link_count +"/compute:v1/Interconnect/selfLink": self_link +"/compute:v1/InterconnectAttachment": interconnect_attachment +"/compute:v1/InterconnectAttachment/cloudRouterIpAddress": cloud_router_ip_address +"/compute:v1/InterconnectAttachment/creationTimestamp": creation_timestamp +"/compute:v1/InterconnectAttachment/customerRouterIpAddress": customer_router_ip_address +"/compute:v1/InterconnectAttachment/description": description +"/compute:v1/InterconnectAttachment/googleReferenceId": google_reference_id +"/compute:v1/InterconnectAttachment/id": id +"/compute:v1/InterconnectAttachment/interconnect": interconnect +"/compute:v1/InterconnectAttachment/kind": kind +"/compute:v1/InterconnectAttachment/name": name +"/compute:v1/InterconnectAttachment/operationalStatus": operational_status +"/compute:v1/InterconnectAttachment/privateInterconnectInfo": private_interconnect_info +"/compute:v1/InterconnectAttachment/region": region +"/compute:v1/InterconnectAttachment/router": router +"/compute:v1/InterconnectAttachment/selfLink": self_link +"/compute:v1/InterconnectAttachmentAggregatedList": interconnect_attachment_aggregated_list +"/compute:v1/InterconnectAttachmentAggregatedList/id": id +"/compute:v1/InterconnectAttachmentAggregatedList/items": items +"/compute:v1/InterconnectAttachmentAggregatedList/items/item": item +"/compute:v1/InterconnectAttachmentAggregatedList/kind": kind +"/compute:v1/InterconnectAttachmentAggregatedList/nextPageToken": next_page_token +"/compute:v1/InterconnectAttachmentAggregatedList/selfLink": self_link +"/compute:v1/InterconnectAttachmentAggregatedList/warning": warning +"/compute:v1/InterconnectAttachmentAggregatedList/warning/code": code +"/compute:v1/InterconnectAttachmentAggregatedList/warning/data": data +"/compute:v1/InterconnectAttachmentAggregatedList/warning/data/datum": datum +"/compute:v1/InterconnectAttachmentAggregatedList/warning/data/datum/key": key +"/compute:v1/InterconnectAttachmentAggregatedList/warning/data/datum/value": value +"/compute:v1/InterconnectAttachmentAggregatedList/warning/message": message +"/compute:v1/InterconnectAttachmentList": interconnect_attachment_list +"/compute:v1/InterconnectAttachmentList/id": id +"/compute:v1/InterconnectAttachmentList/items": items +"/compute:v1/InterconnectAttachmentList/items/item": item +"/compute:v1/InterconnectAttachmentList/kind": kind +"/compute:v1/InterconnectAttachmentList/nextPageToken": next_page_token +"/compute:v1/InterconnectAttachmentList/selfLink": self_link +"/compute:v1/InterconnectAttachmentList/warning": warning +"/compute:v1/InterconnectAttachmentList/warning/code": code +"/compute:v1/InterconnectAttachmentList/warning/data": data +"/compute:v1/InterconnectAttachmentList/warning/data/datum": datum +"/compute:v1/InterconnectAttachmentList/warning/data/datum/key": key +"/compute:v1/InterconnectAttachmentList/warning/data/datum/value": value +"/compute:v1/InterconnectAttachmentList/warning/message": message +"/compute:v1/InterconnectAttachmentPrivateInfo": interconnect_attachment_private_info +"/compute:v1/InterconnectAttachmentPrivateInfo/tag8021q": tag8021q +"/compute:v1/InterconnectAttachmentsScopedList": interconnect_attachments_scoped_list +"/compute:v1/InterconnectAttachmentsScopedList/interconnectAttachments": interconnect_attachments +"/compute:v1/InterconnectAttachmentsScopedList/interconnectAttachments/interconnect_attachment": interconnect_attachment +"/compute:v1/InterconnectAttachmentsScopedList/warning": warning +"/compute:v1/InterconnectAttachmentsScopedList/warning/code": code +"/compute:v1/InterconnectAttachmentsScopedList/warning/data": data +"/compute:v1/InterconnectAttachmentsScopedList/warning/data/datum": datum +"/compute:v1/InterconnectAttachmentsScopedList/warning/data/datum/key": key +"/compute:v1/InterconnectAttachmentsScopedList/warning/data/datum/value": value +"/compute:v1/InterconnectAttachmentsScopedList/warning/message": message +"/compute:v1/InterconnectCircuitInfo": interconnect_circuit_info +"/compute:v1/InterconnectCircuitInfo/customerDemarcId": customer_demarc_id +"/compute:v1/InterconnectCircuitInfo/googleCircuitId": google_circuit_id +"/compute:v1/InterconnectCircuitInfo/googleDemarcId": google_demarc_id +"/compute:v1/InterconnectList": interconnect_list +"/compute:v1/InterconnectList/id": id +"/compute:v1/InterconnectList/items": items +"/compute:v1/InterconnectList/items/item": item +"/compute:v1/InterconnectList/kind": kind +"/compute:v1/InterconnectList/nextPageToken": next_page_token +"/compute:v1/InterconnectList/selfLink": self_link +"/compute:v1/InterconnectList/warning": warning +"/compute:v1/InterconnectList/warning/code": code +"/compute:v1/InterconnectList/warning/data": data +"/compute:v1/InterconnectList/warning/data/datum": datum +"/compute:v1/InterconnectList/warning/data/datum/key": key +"/compute:v1/InterconnectList/warning/data/datum/value": value +"/compute:v1/InterconnectList/warning/message": message +"/compute:v1/InterconnectLocation": interconnect_location +"/compute:v1/InterconnectLocation/address": address +"/compute:v1/InterconnectLocation/availabilityZone": availability_zone +"/compute:v1/InterconnectLocation/city": city +"/compute:v1/InterconnectLocation/continent": continent +"/compute:v1/InterconnectLocation/creationTimestamp": creation_timestamp +"/compute:v1/InterconnectLocation/description": description +"/compute:v1/InterconnectLocation/facilityProvider": facility_provider +"/compute:v1/InterconnectLocation/facilityProviderFacilityId": facility_provider_facility_id +"/compute:v1/InterconnectLocation/id": id +"/compute:v1/InterconnectLocation/kind": kind +"/compute:v1/InterconnectLocation/name": name +"/compute:v1/InterconnectLocation/peeringdbFacilityId": peeringdb_facility_id +"/compute:v1/InterconnectLocation/regionInfos": region_infos +"/compute:v1/InterconnectLocation/regionInfos/region_info": region_info +"/compute:v1/InterconnectLocation/selfLink": self_link +"/compute:v1/InterconnectLocationList": interconnect_location_list +"/compute:v1/InterconnectLocationList/id": id +"/compute:v1/InterconnectLocationList/items": items +"/compute:v1/InterconnectLocationList/items/item": item +"/compute:v1/InterconnectLocationList/kind": kind +"/compute:v1/InterconnectLocationList/nextPageToken": next_page_token +"/compute:v1/InterconnectLocationList/selfLink": self_link +"/compute:v1/InterconnectLocationList/warning": warning +"/compute:v1/InterconnectLocationList/warning/code": code +"/compute:v1/InterconnectLocationList/warning/data": data +"/compute:v1/InterconnectLocationList/warning/data/datum": datum +"/compute:v1/InterconnectLocationList/warning/data/datum/key": key +"/compute:v1/InterconnectLocationList/warning/data/datum/value": value +"/compute:v1/InterconnectLocationList/warning/message": message +"/compute:v1/InterconnectLocationRegionInfo": interconnect_location_region_info +"/compute:v1/InterconnectLocationRegionInfo/expectedRttMs": expected_rtt_ms +"/compute:v1/InterconnectLocationRegionInfo/locationPresence": location_presence +"/compute:v1/InterconnectLocationRegionInfo/region": region +"/compute:v1/InterconnectOutageNotification": interconnect_outage_notification +"/compute:v1/InterconnectOutageNotification/affectedCircuits": affected_circuits +"/compute:v1/InterconnectOutageNotification/affectedCircuits/affected_circuit": affected_circuit +"/compute:v1/InterconnectOutageNotification/description": description +"/compute:v1/InterconnectOutageNotification/endTime": end_time +"/compute:v1/InterconnectOutageNotification/issueType": issue_type +"/compute:v1/InterconnectOutageNotification/name": name +"/compute:v1/InterconnectOutageNotification/source": source +"/compute:v1/InterconnectOutageNotification/startTime": start_time +"/compute:v1/InterconnectOutageNotification/state": state "/compute:v1/License": license "/compute:v1/License/chargesUseFee": charges_use_fee "/compute:v1/License/kind": kind @@ -25893,6 +26075,7 @@ "/compute:v1/RouterBgpPeer/peerIpAddress": peer_ip_address "/compute:v1/RouterInterface": router_interface "/compute:v1/RouterInterface/ipRange": ip_range +"/compute:v1/RouterInterface/linkedInterconnectAttachment": linked_interconnect_attachment "/compute:v1/RouterInterface/linkedVpnTunnel": linked_vpn_tunnel "/compute:v1/RouterInterface/name": name "/compute:v1/RouterList": router_list @@ -27124,6 +27307,12 @@ "/compute:v1/compute.instances.reset/project": project "/compute:v1/compute.instances.reset/requestId": request_id "/compute:v1/compute.instances.reset/zone": zone +"/compute:v1/compute.instances.setDeletionProtection": set_instance_deletion_protection +"/compute:v1/compute.instances.setDeletionProtection/deletionProtection": deletion_protection +"/compute:v1/compute.instances.setDeletionProtection/project": project +"/compute:v1/compute.instances.setDeletionProtection/requestId": request_id +"/compute:v1/compute.instances.setDeletionProtection/resource": resource +"/compute:v1/compute.instances.setDeletionProtection/zone": zone "/compute:v1/compute.instances.setDiskAutoDelete": set_disk_auto_delete "/compute:v1/compute.instances.setDiskAutoDelete/autoDelete": auto_delete "/compute:v1/compute.instances.setDiskAutoDelete/deviceName": device_name @@ -27186,6 +27375,61 @@ "/compute:v1/compute.instances.stop/project": project "/compute:v1/compute.instances.stop/requestId": request_id "/compute:v1/compute.instances.stop/zone": zone +"/compute:v1/compute.interconnectAttachments.aggregatedList": aggregated_interconnect_attachment_list +"/compute:v1/compute.interconnectAttachments.aggregatedList/filter": filter +"/compute:v1/compute.interconnectAttachments.aggregatedList/maxResults": max_results +"/compute:v1/compute.interconnectAttachments.aggregatedList/orderBy": order_by +"/compute:v1/compute.interconnectAttachments.aggregatedList/pageToken": page_token +"/compute:v1/compute.interconnectAttachments.aggregatedList/project": project +"/compute:v1/compute.interconnectAttachments.delete": delete_interconnect_attachment +"/compute:v1/compute.interconnectAttachments.delete/interconnectAttachment": interconnect_attachment +"/compute:v1/compute.interconnectAttachments.delete/project": project +"/compute:v1/compute.interconnectAttachments.delete/region": region +"/compute:v1/compute.interconnectAttachments.delete/requestId": request_id +"/compute:v1/compute.interconnectAttachments.get": get_interconnect_attachment +"/compute:v1/compute.interconnectAttachments.get/interconnectAttachment": interconnect_attachment +"/compute:v1/compute.interconnectAttachments.get/project": project +"/compute:v1/compute.interconnectAttachments.get/region": region +"/compute:v1/compute.interconnectAttachments.insert": insert_interconnect_attachment +"/compute:v1/compute.interconnectAttachments.insert/project": project +"/compute:v1/compute.interconnectAttachments.insert/region": region +"/compute:v1/compute.interconnectAttachments.insert/requestId": request_id +"/compute:v1/compute.interconnectAttachments.list": list_interconnect_attachments +"/compute:v1/compute.interconnectAttachments.list/filter": filter +"/compute:v1/compute.interconnectAttachments.list/maxResults": max_results +"/compute:v1/compute.interconnectAttachments.list/orderBy": order_by +"/compute:v1/compute.interconnectAttachments.list/pageToken": page_token +"/compute:v1/compute.interconnectAttachments.list/project": project +"/compute:v1/compute.interconnectAttachments.list/region": region +"/compute:v1/compute.interconnectLocations.get": get_interconnect_location +"/compute:v1/compute.interconnectLocations.get/interconnectLocation": interconnect_location +"/compute:v1/compute.interconnectLocations.get/project": project +"/compute:v1/compute.interconnectLocations.list": list_interconnect_locations +"/compute:v1/compute.interconnectLocations.list/filter": filter +"/compute:v1/compute.interconnectLocations.list/maxResults": max_results +"/compute:v1/compute.interconnectLocations.list/orderBy": order_by +"/compute:v1/compute.interconnectLocations.list/pageToken": page_token +"/compute:v1/compute.interconnectLocations.list/project": project +"/compute:v1/compute.interconnects.delete": delete_interconnect +"/compute:v1/compute.interconnects.delete/interconnect": interconnect +"/compute:v1/compute.interconnects.delete/project": project +"/compute:v1/compute.interconnects.delete/requestId": request_id +"/compute:v1/compute.interconnects.get": get_interconnect +"/compute:v1/compute.interconnects.get/interconnect": interconnect +"/compute:v1/compute.interconnects.get/project": project +"/compute:v1/compute.interconnects.insert": insert_interconnect +"/compute:v1/compute.interconnects.insert/project": project +"/compute:v1/compute.interconnects.insert/requestId": request_id +"/compute:v1/compute.interconnects.list": list_interconnects +"/compute:v1/compute.interconnects.list/filter": filter +"/compute:v1/compute.interconnects.list/maxResults": max_results +"/compute:v1/compute.interconnects.list/orderBy": order_by +"/compute:v1/compute.interconnects.list/pageToken": page_token +"/compute:v1/compute.interconnects.list/project": project +"/compute:v1/compute.interconnects.patch": patch_interconnect +"/compute:v1/compute.interconnects.patch/interconnect": interconnect +"/compute:v1/compute.interconnects.patch/project": project +"/compute:v1/compute.interconnects.patch/requestId": request_id "/compute:v1/compute.licenses.get": get_license "/compute:v1/compute.licenses.get/license": license "/compute:v1/compute.licenses.get/project": project @@ -56297,6 +56541,20 @@ "/sqladmin:v1beta4/DatabasesListResponse/items": items "/sqladmin:v1beta4/DatabasesListResponse/items/item": item "/sqladmin:v1beta4/DatabasesListResponse/kind": kind +"/sqladmin:v1beta4/DemoteMasterConfiguration": demote_master_configuration +"/sqladmin:v1beta4/DemoteMasterConfiguration/kind": kind +"/sqladmin:v1beta4/DemoteMasterConfiguration/mysqlReplicaConfiguration": mysql_replica_configuration +"/sqladmin:v1beta4/DemoteMasterContext": demote_master_context +"/sqladmin:v1beta4/DemoteMasterContext/kind": kind +"/sqladmin:v1beta4/DemoteMasterContext/masterInstanceName": master_instance_name +"/sqladmin:v1beta4/DemoteMasterContext/replicaConfiguration": replica_configuration +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration": demote_master_my_sql_replica_configuration +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration/caCertificate": ca_certificate +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration/clientCertificate": client_certificate +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration/clientKey": client_key +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration/kind": kind +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration/password": password +"/sqladmin:v1beta4/DemoteMasterMySqlReplicaConfiguration/username": username "/sqladmin:v1beta4/ExportContext": export_context "/sqladmin:v1beta4/ExportContext/csvExportOptions": csv_export_options "/sqladmin:v1beta4/ExportContext/csvExportOptions/selectQuery": select_query @@ -56339,6 +56597,8 @@ "/sqladmin:v1beta4/ImportContext/uri": uri "/sqladmin:v1beta4/InstancesCloneRequest": clone_instances_request "/sqladmin:v1beta4/InstancesCloneRequest/cloneContext": clone_context +"/sqladmin:v1beta4/InstancesDemoteMasterRequest": instances_demote_master_request +"/sqladmin:v1beta4/InstancesDemoteMasterRequest/demoteMasterContext": demote_master_context "/sqladmin:v1beta4/InstancesExportRequest": export_instances_request "/sqladmin:v1beta4/InstancesExportRequest/exportContext": export_context "/sqladmin:v1beta4/InstancesFailoverRequest": instances_failover_request @@ -56550,6 +56810,9 @@ "/sqladmin:v1beta4/sql.instances.delete": delete_instance "/sqladmin:v1beta4/sql.instances.delete/instance": instance "/sqladmin:v1beta4/sql.instances.delete/project": project +"/sqladmin:v1beta4/sql.instances.demoteMaster": demote_instance_master +"/sqladmin:v1beta4/sql.instances.demoteMaster/instance": instance +"/sqladmin:v1beta4/sql.instances.demoteMaster/project": project "/sqladmin:v1beta4/sql.instances.export": export_instance "/sqladmin:v1beta4/sql.instances.export/instance": instance "/sqladmin:v1beta4/sql.instances.export/project": project @@ -62949,6 +63212,8 @@ "/youtubePartner:v1/Package/locale": locale "/youtubePartner:v1/Package/name": name "/youtubePartner:v1/Package/status": status +"/youtubePartner:v1/Package/statusReports": status_reports +"/youtubePartner:v1/Package/statusReports/status_report": status_report "/youtubePartner:v1/Package/timeCreated": time_created "/youtubePartner:v1/Package/type": type "/youtubePartner:v1/Package/uploaderName": uploader_name @@ -63083,9 +63348,13 @@ "/youtubePartner:v1/SpreadsheetTemplateListResponse/items": items "/youtubePartner:v1/SpreadsheetTemplateListResponse/items/item": item "/youtubePartner:v1/SpreadsheetTemplateListResponse/kind": kind +"/youtubePartner:v1/SpreadsheetTemplateListResponse/status": status "/youtubePartner:v1/StateCompleted": state_completed "/youtubePartner:v1/StateCompleted/state": state "/youtubePartner:v1/StateCompleted/timeCompleted": time_completed +"/youtubePartner:v1/StatusReport": status_report +"/youtubePartner:v1/StatusReport/statusContent": status_content +"/youtubePartner:v1/StatusReport/statusFileName": status_file_name "/youtubePartner:v1/TerritoryCondition": territory_condition "/youtubePartner:v1/TerritoryCondition/territories": territories "/youtubePartner:v1/TerritoryCondition/territories/territory": territory diff --git a/generated/google/apis/compute_alpha.rb b/generated/google/apis/compute_alpha.rb index c7c9406f6..04eba6f64 100644 --- a/generated/google/apis/compute_alpha.rb +++ b/generated/google/apis/compute_alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeAlpha VERSION = 'Alpha' - REVISION = '20170919' + REVISION = '20171010' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_alpha/classes.rb b/generated/google/apis/compute_alpha/classes.rb index 40d3acb88..fc3ac8c9b 100644 --- a/generated/google/apis/compute_alpha/classes.rb +++ b/generated/google/apis/compute_alpha/classes.rb @@ -1108,7 +1108,7 @@ module Google # Specifies a valid partial or full URL to an existing Persistent Disk resource. # When creating a new instance, one of initializeParams.sourceImage or disks. - # source is required. + # source is required except for local SSD. # If desired, you can also attach existing non-root persistent disks using this # property. This field is only applicable for persistent disks. # Note that for InstanceTemplate, specify the disk name, not the URL for the @@ -1186,7 +1186,7 @@ module Google attr_accessor :disk_type # The source image to create this disk. When creating a new instance, one of - # initializeParams.sourceImage or disks.source is required. + # initializeParams.sourceImage or disks.source is required except for local SSD. # To create a disk with one of the public operating system images, specify the # image by its family name. For example, specify family/debian-8 to use the # latest Debian 8 image: @@ -1880,7 +1880,7 @@ module Google # A filter string, compatible with a Stackdriver Monitoring filter string for # TimeSeries.list API call. This filter is used to select a specific TimeSeries # for the purpose of autoscaling and to determine whether the metric is - # exporting per-instance or global data. + # exporting per-instance or per-group data. # For the filter to be valid for autoscaling purposes, the following rules apply: # # - You can only use the AND operator for joining selectors. @@ -1895,7 +1895,8 @@ module Google # If the resource type is any other value, the autoscaler expects this metric to # contain values that apply to the entire autoscaled instance group and resource # label filtering can be performed to point autoscaler at the correct TimeSeries - # to scale upon. This is / called a global metric for the purpose of autoscaling. + # to scale upon. This is called a per-group metric for the purpose of + # autoscaling. # If not specified, the type defaults to gce_instance. # You should provide a filter that is selective enough to pick just one # TimeSeries for the autoscaled group or for each of the instances (if you are @@ -1907,19 +1908,17 @@ module Google attr_accessor :filter # The identifier (type) of the Stackdriver Monitoring metric. The metric cannot - # have negative values and should be a utilization metric, which means that the - # number of virtual machines handling requests should increase or decrease - # proportionally to the metric. + # have negative values. # The metric must have a value type of INT64 or DOUBLE. # Corresponds to the JSON property `metric` # @return [String] attr_accessor :metric - # If scaling is based on a global metric value that represents the total amount - # of work to be done or resource usage, set this value to an amount assigned for - # a single instance of the scaled group. Autoscaler will keep the number of - # instances proportional to the value of this metric, the metric itself should - # not change value due to group resizing. + # If scaling is based on a per-group metric value that represents the total + # amount of work to be done or resource usage, set this value to an amount + # assigned for a single instance of the scaled group. Autoscaler will keep the + # number of instances proportional to the value of this metric, the metric + # itself should not change value due to group resizing. # A good metric to use with the target is for example pubsub.googleapis.com/ # subscription/num_undelivered_messages or a custom metric exporting the total # number of requests coming to your instances. @@ -1931,7 +1930,8 @@ module Google attr_accessor :single_instance_assignment # The target value of the metric that autoscaler should maintain. This must be a - # positive value. + # positive value. A utilization metric scales number of virtual machines + # handling requests to increase or decrease proportionally to the metric. # For example, a good metric to use as a utilization_target is compute. # googleapis.com/instance/network/received_bytes_count. The autoscaler will work # to keep this value constant for each of the instances. @@ -3949,6 +3949,18 @@ module Google # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey] attr_accessor :disk_encryption_key + # A list of features to enable on the guest OS. Applicable for bootable disks + # only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, + # which allows each virtual CPU to have its own queue. For Windows disks, you + # can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0. + # 1621 or higher. Linux disks with kernel versions 3.17 and higher will support + # VIRTIO_SCSI_MULTIQUEUE. + # For newer Windows images, the server might also populate this property with + # the value WINDOWS to indicate that this is a Windows image. + # Corresponds to the JSON property `guestOsFeatures` + # @return [Array] + attr_accessor :guest_os_features + # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` @@ -4142,6 +4154,7 @@ module Google @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) + @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @@ -5115,6 +5128,15 @@ module Google # @return [String] attr_accessor :direction + # Denotes whether the firewall rule is disabled, i.e not applied to the network + # it is associated with. When set to true, the firewall rule is not enforced and + # the network behaves as if it did not exist. If this is unspecified, the + # firewall rule will be enabled. + # Corresponds to the JSON property `disabled` + # @return [Boolean] + attr_accessor :disabled + alias_method :disabled?, :disabled + # This field denotes whether to enable logging for a particular firewall rule. # If logging is enabled, logs will be exported to the configured export # destination for all firewall logs in the network. Logs may be exported to @@ -5221,10 +5243,10 @@ module Google # @return [Array] attr_accessor :target_service_accounts - # 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. + # A list of tags that controls which instances the firewall rule applies to. If + # targetTags are specified, then the firewall rule applies only to instances in + # the VPC network that have one of those tags. 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 @@ -5241,6 +5263,7 @@ module Google @description = args[:description] if args.key?(:description) @destination_ranges = args[:destination_ranges] if args.key?(:destination_ranges) @direction = args[:direction] if args.key?(:direction) + @disabled = args[:disabled] if args.key?(:disabled) @enable_logging = args[:enable_logging] if args.key?(:enable_logging) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @@ -5482,16 +5505,28 @@ module Google include Google::Apis::Core::Hashable # The 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. By default, this field is empty and an ephemeral IPv4 address from the - # same scope (global or regional) will be assigned. A regional forwarding rule - # supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6. + # Addresses are restricted based on the forwarding rule's load balancing scheme ( + # EXTERNAL or INTERNAL) and scope (global or regional). + # When the load balancing scheme is EXTERNAL, for global forwarding rules, the + # address must be a global IP, and for regional forwarding rules, the address + # must live in the same region as the forwarding rule. If this field is empty, + # an ephemeral IPv4 address from the same scope (global or regional) will be + # assigned. A regional forwarding rule supports IPv4 only. A global forwarding + # rule supports either IPv4 or IPv6. # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP - # address belonging to the network/subnetwork configured for the forwarding rule. - # A reserved address cannot be used. If the field is empty, the IP address will - # be automatically allocated from the internal IP range of the subnetwork or - # network configured for this forwarding rule. + # address belonging to the network/subnet configured for the forwarding rule. By + # default, if this field is empty, an ephemeral internal IP address will be + # automatically allocated from the IP range of the subnet or network configured + # for this forwarding rule. + # An address can be specified either by a literal IP address or a URL reference + # to an existing Address resource. The following examples are all valid: + # - 100.1.2.3 + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/ + # addresses/address + # - projects/project/regions/region/addresses/address + # - regions/region/addresses/address + # - global/addresses/address + # - address # Corresponds to the JSON property `IPAddress` # @return [String] attr_accessor :ip_address @@ -9231,7 +9266,7 @@ module Google # Stateful configuration for this Instanced Group Manager # Corresponds to the JSON property `statefulPolicy` - # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatefulPolicy] + # @return [Google::Apis::ComputeAlpha::StatefulPolicy] attr_accessor :stateful_policy # The URLs for all TargetPool resources to which instances in the instanceGroup @@ -9761,45 +9796,6 @@ module Google end end - # - class InstanceGroupManagerStatefulPolicy - include Google::Apis::Core::Hashable - - # Disks created on the instances that will be preserved on instance delete, - # resize down, etc. - # Corresponds to the JSON property `preservedDisks` - # @return [Array] - attr_accessor :preserved_disks - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @preserved_disks = args[:preserved_disks] if args.key?(:preserved_disks) - end - end - - # - class InstanceGroupManagerStatefulPolicyDiskPolicy - include Google::Apis::Core::Hashable - - # Device name of the disk to be preserved - # Corresponds to the JSON property `deviceName` - # @return [String] - attr_accessor :device_name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @device_name = args[:device_name] if args.key?(:device_name) - end - end - # class InstanceGroupManagerUpdatePolicy include Google::Apis::Core::Hashable @@ -11512,7 +11508,7 @@ module Google end # Protocol definitions for Mixer API to support Interconnect. Next available tag: - # 23 + # 25 class Interconnect include Google::Apis::Core::Hashable @@ -11532,14 +11528,6 @@ module Google # @return [Array] attr_accessor :circuit_infos - # [Output Only] URL to retrieve the Letter Of Authority and Customer Facility - # Assignment (LOA-CFA) documentation relating to this Interconnect. This - # documentation authorizes the facility provider to connect to the specified - # crossconnect ports. - # Corresponds to the JSON property `connectionAuthorization` - # @return [String] - attr_accessor :connection_authorization - # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] @@ -11663,7 +11651,6 @@ module Google def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos) - @connection_authorization = args[:connection_authorization] if args.key?(:connection_authorization) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @customer_name = args[:customer_name] if args.key?(:customer_name) @description = args[:description] if args.key?(:description) @@ -11687,7 +11674,7 @@ module Google end # Protocol definitions for Mixer API to support InterconnectAttachment. Next - # available tag: 18 + # available tag: 23 class InterconnectAttachment include Google::Apis::Core::Hashable @@ -12552,11 +12539,6 @@ module Google # @return [String] attr_accessor :region - # Scope key for the region of this location. - # Corresponds to the JSON property `regionKey` - # @return [String] - attr_accessor :region_key - def initialize(**args) update!(**args) end @@ -12566,7 +12548,6 @@ module Google @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms) @location_presence = args[:location_presence] if args.key?(:location_presence) @region = args[:region] if args.key?(:region) - @region_key = args[:region_key] if args.key?(:region_key) end end @@ -19269,6 +19250,13 @@ module Google # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfig] attr_accessor :config + # Represents an expression text. Example: + # title: "User account presence" description: "Determines whether the request + # has a user account" expression: "size(request.user) > 0" + # Corresponds to the JSON property `expr` + # @return [Google::Apis::ComputeAlpha::Expr] + attr_accessor :expr + # CIDR IP address range. Only IPv4 is supported. # Corresponds to the JSON property `srcIpRanges` # @return [Array] @@ -19294,6 +19282,7 @@ module Google # Update properties of this object def update!(**args) @config = args[:config] if args.key?(:config) + @expr = args[:expr] if args.key?(:expr) @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges) @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes) @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr) @@ -20225,6 +20214,71 @@ module Google end end + # + class StatefulPolicy + include Google::Apis::Core::Hashable + + # Disks created on the instances that will be preserved on instance delete, + # resize down, etc. DEPRECATED in favor of preservedResources.disks field. + # Corresponds to the JSON property `preservedDisks` + # @return [Array] + attr_accessor :preserved_disks + + # Configuration of all preserved resources. + # Corresponds to the JSON property `preservedResources` + # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources] + attr_accessor :preserved_resources + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @preserved_disks = args[:preserved_disks] if args.key?(:preserved_disks) + @preserved_resources = args[:preserved_resources] if args.key?(:preserved_resources) + end + end + + # + class StatefulPolicyPreservedDisk + include Google::Apis::Core::Hashable + + # Device name of the disk to be preserved + # Corresponds to the JSON property `deviceName` + # @return [String] + attr_accessor :device_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @device_name = args[:device_name] if args.key?(:device_name) + end + end + + # Configuration of all preserved resources. + class StatefulPolicyPreservedResources + include Google::Apis::Core::Hashable + + # Disks created on the instances that will be preserved on instance delete, + # resize down, etc. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disks = args[:disks] if args.key?(:disks) + end + end + # A Subnetwork resource. class Subnetwork include Google::Apis::Core::Hashable diff --git a/generated/google/apis/compute_alpha/representations.rb b/generated/google/apis/compute_alpha/representations.rb index 610376616..c979e5b7c 100644 --- a/generated/google/apis/compute_alpha/representations.rb +++ b/generated/google/apis/compute_alpha/representations.rb @@ -1216,18 +1216,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class InstanceGroupManagerStatefulPolicy - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class InstanceGroupManagerStatefulPolicyDiskPolicy - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class InstanceGroupManagerUpdatePolicy class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2794,6 +2782,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class StatefulPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StatefulPolicyPreservedDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StatefulPolicyPreservedResources + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Subnetwork class Representation < Google::Apis::Core::JsonRepresentation; end @@ -4417,6 +4423,8 @@ module Google property :description, as: 'description' property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeAlpha::CustomerEncryptionKey, decorator: Google::Apis::ComputeAlpha::CustomerEncryptionKey::Representation + collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeAlpha::GuestOsFeature, decorator: Google::Apis::ComputeAlpha::GuestOsFeature::Representation + property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' @@ -4710,6 +4718,7 @@ module Google property :description, as: 'description' collection :destination_ranges, as: 'destinationRanges' property :direction, as: 'direction' + property :disabled, as: 'disabled' property :enable_logging, as: 'enableLogging' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' @@ -5660,7 +5669,7 @@ module Google property :region, as: 'region' property :self_link, as: 'selfLink' property :service_account, as: 'serviceAccount' - property :stateful_policy, as: 'statefulPolicy', class: Google::Apis::ComputeAlpha::InstanceGroupManagerStatefulPolicy, decorator: Google::Apis::ComputeAlpha::InstanceGroupManagerStatefulPolicy::Representation + property :stateful_policy, as: 'statefulPolicy', class: Google::Apis::ComputeAlpha::StatefulPolicy, decorator: Google::Apis::ComputeAlpha::StatefulPolicy::Representation collection :target_pools, as: 'targetPools' property :target_size, as: 'targetSize' @@ -5784,21 +5793,6 @@ module Google end end - class InstanceGroupManagerStatefulPolicy - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :preserved_disks, as: 'preservedDisks', class: Google::Apis::ComputeAlpha::InstanceGroupManagerStatefulPolicyDiskPolicy, decorator: Google::Apis::ComputeAlpha::InstanceGroupManagerStatefulPolicyDiskPolicy::Representation - - end - end - - class InstanceGroupManagerStatefulPolicyDiskPolicy - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :device_name, as: 'deviceName' - end - end - class InstanceGroupManagerUpdatePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -6302,7 +6296,6 @@ module Google property :admin_enabled, as: 'adminEnabled' collection :circuit_infos, as: 'circuitInfos', class: Google::Apis::ComputeAlpha::InterconnectCircuitInfo, decorator: Google::Apis::ComputeAlpha::InterconnectCircuitInfo::Representation - property :connection_authorization, as: 'connectionAuthorization' property :creation_timestamp, as: 'creationTimestamp' property :customer_name, as: 'customerName' property :description, as: 'description' @@ -6546,7 +6539,6 @@ module Google property :expected_rtt_ms, :numeric_string => true, as: 'expectedRttMs' property :location_presence, as: 'locationPresence' property :region, as: 'region' - property :region_key, as: 'regionKey' end end @@ -8312,6 +8304,8 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :config, as: 'config', class: Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfig, decorator: Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfig::Representation + property :expr, as: 'expr', class: Google::Apis::ComputeAlpha::Expr, decorator: Google::Apis::ComputeAlpha::Expr::Representation + collection :src_ip_ranges, as: 'srcIpRanges' collection :src_region_codes, as: 'srcRegionCodes' property :versioned_expr, as: 'versionedExpr' @@ -8547,6 +8541,31 @@ module Google end end + class StatefulPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :preserved_disks, as: 'preservedDisks', class: Google::Apis::ComputeAlpha::StatefulPolicyPreservedDisk, decorator: Google::Apis::ComputeAlpha::StatefulPolicyPreservedDisk::Representation + + property :preserved_resources, as: 'preservedResources', class: Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources, decorator: Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources::Representation + + end + end + + class StatefulPolicyPreservedDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :device_name, as: 'deviceName' + end + end + + class StatefulPolicyPreservedResources + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :disks, as: 'disks', class: Google::Apis::ComputeAlpha::StatefulPolicyPreservedDisk, decorator: Google::Apis::ComputeAlpha::StatefulPolicyPreservedDisk::Representation + + end + end + class Subnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/compute_alpha/service.rb b/generated/google/apis/compute_alpha/service.rb index 7a7c46592..04057fb80 100644 --- a/generated/google/apis/compute_alpha/service.rb +++ b/generated/google/apis/compute_alpha/service.rb @@ -10945,11 +10945,10 @@ module Google end # 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. + # the instance at a later time. Stopped instances do not incur VM usage charges + # while they are stopped. However, resources that the VM 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 @@ -18871,6 +18870,47 @@ module Google execute_or_queue_command(command, &block) end + # Inserts a rule into a security policy. + # @param [String] project + # Project ID for this request. + # @param [String] security_policy + # Name of the security policy to update. + # @param [Google::Apis::ComputeAlpha::SecurityPolicyRule] security_policy_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::ComputeAlpha::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::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_security_policy_rule(project, security_policy, security_policy_rule_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/securityPolicies/{securityPolicy}/addRule', options) + command.request_representation = Google::Apis::ComputeAlpha::SecurityPolicyRule::Representation + command.request_object = security_policy_rule_object + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['project'] = project unless project.nil? + command.params['securityPolicy'] = security_policy unless security_policy.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 policy. # @param [String] project # Project ID for this request. @@ -18959,6 +18999,47 @@ module Google execute_or_queue_command(command, &block) end + # Gets a rule at the specified priority. + # @param [String] project + # Project ID for this request. + # @param [String] security_policy + # Name of the security policy to which the queried rule belongs. + # @param [Fixnum] priority + # The priority of the rule to get from the security policy. + # @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::ComputeAlpha::SecurityPolicyRule] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::SecurityPolicyRule] + # + # @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_security_policy_rule(project, security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/securityPolicies/{securityPolicy}/getRule', options) + command.response_representation = Google::Apis::ComputeAlpha::SecurityPolicyRule::Representation + command.response_class = Google::Apis::ComputeAlpha::SecurityPolicyRule + command.params['project'] = project unless project.nil? + command.params['securityPolicy'] = security_policy unless security_policy.nil? + command.query['priority'] = priority unless priority.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 new policy in the specified project using the data included in the # request. # @param [String] project @@ -19139,6 +19220,91 @@ module Google execute_or_queue_command(command, &block) end + # Patches a rule at the specified priority. + # @param [String] project + # Project ID for this request. + # @param [String] security_policy + # Name of the security policy to update. + # @param [Google::Apis::ComputeAlpha::SecurityPolicyRule] security_policy_rule_object + # @param [Fixnum] priority + # The priority of the rule to patch. + # @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::ComputeAlpha::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::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_security_policy_rule(project, security_policy, security_policy_rule_object = nil, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/securityPolicies/{securityPolicy}/patchRule', options) + command.request_representation = Google::Apis::ComputeAlpha::SecurityPolicyRule::Representation + command.request_object = security_policy_rule_object + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['project'] = project unless project.nil? + command.params['securityPolicy'] = security_policy unless security_policy.nil? + command.query['priority'] = priority unless priority.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 a rule at the specified priority. + # @param [String] project + # Project ID for this request. + # @param [String] security_policy + # Name of the security policy to update. + # @param [Fixnum] priority + # The priority of the rule to remove from the security policy. + # @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::ComputeAlpha::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::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_security_policy_rule(project, security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/securityPolicies/{securityPolicy}/removeRule', options) + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['project'] = project unless project.nil? + command.params['securityPolicy'] = security_policy unless security_policy.nil? + command.query['priority'] = priority unless priority.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 permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. diff --git a/generated/google/apis/compute_beta.rb b/generated/google/apis/compute_beta.rb index 2d3defd76..36f62c5e7 100644 --- a/generated/google/apis/compute_beta.rb +++ b/generated/google/apis/compute_beta.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeBeta VERSION = 'Beta' - REVISION = '20170919' + REVISION = '20171010' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_beta/classes.rb b/generated/google/apis/compute_beta/classes.rb index 3f06aa3cf..a012b6ba2 100644 --- a/generated/google/apis/compute_beta/classes.rb +++ b/generated/google/apis/compute_beta/classes.rb @@ -1068,7 +1068,7 @@ module Google # Specifies a valid partial or full URL to an existing Persistent Disk resource. # When creating a new instance, one of initializeParams.sourceImage or disks. - # source is required. + # source is required except for local SSD. # If desired, you can also attach existing non-root persistent disks using this # property. This field is only applicable for persistent disks. # Note that for InstanceTemplate, specify the disk name, not the URL for the @@ -1145,7 +1145,7 @@ module Google attr_accessor :disk_type # The source image to create this disk. When creating a new instance, one of - # initializeParams.sourceImage or disks.source is required. + # initializeParams.sourceImage or disks.source is required except for local SSD. # To create a disk with one of the public operating system images, specify the # image by its family name. For example, specify family/debian-8 to use the # latest Debian 8 image: @@ -1827,7 +1827,7 @@ module Google # A filter string, compatible with a Stackdriver Monitoring filter string for # TimeSeries.list API call. This filter is used to select a specific TimeSeries # for the purpose of autoscaling and to determine whether the metric is - # exporting per-instance or global data. + # exporting per-instance or per-group data. # For the filter to be valid for autoscaling purposes, the following rules apply: # # - You can only use the AND operator for joining selectors. @@ -1842,7 +1842,8 @@ module Google # If the resource type is any other value, the autoscaler expects this metric to # contain values that apply to the entire autoscaled instance group and resource # label filtering can be performed to point autoscaler at the correct TimeSeries - # to scale upon. This is / called a global metric for the purpose of autoscaling. + # to scale upon. This is called a per-group metric for the purpose of + # autoscaling. # If not specified, the type defaults to gce_instance. # You should provide a filter that is selective enough to pick just one # TimeSeries for the autoscaled group or for each of the instances (if you are @@ -1854,19 +1855,17 @@ module Google attr_accessor :filter # The identifier (type) of the Stackdriver Monitoring metric. The metric cannot - # have negative values and should be a utilization metric, which means that the - # number of virtual machines handling requests should increase or decrease - # proportionally to the metric. + # have negative values. # The metric must have a value type of INT64 or DOUBLE. # Corresponds to the JSON property `metric` # @return [String] attr_accessor :metric - # If scaling is based on a global metric value that represents the total amount - # of work to be done or resource usage, set this value to an amount assigned for - # a single instance of the scaled group. Autoscaler will keep the number of - # instances proportional to the value of this metric, the metric itself should - # not change value due to group resizing. + # If scaling is based on a per-group metric value that represents the total + # amount of work to be done or resource usage, set this value to an amount + # assigned for a single instance of the scaled group. Autoscaler will keep the + # number of instances proportional to the value of this metric, the metric + # itself should not change value due to group resizing. # A good metric to use with the target is for example pubsub.googleapis.com/ # subscription/num_undelivered_messages or a custom metric exporting the total # number of requests coming to your instances. @@ -1878,7 +1877,8 @@ module Google attr_accessor :single_instance_assignment # The target value of the metric that autoscaler should maintain. This must be a - # positive value. + # positive value. A utilization metric scales number of virtual machines + # handling requests to increase or decrease proportionally to the metric. # For example, a good metric to use as a utilization_target is compute. # googleapis.com/instance/network/received_bytes_count. The autoscaler will work # to keep this value constant for each of the instances. @@ -4780,10 +4780,10 @@ module Google # @return [Array] attr_accessor :target_service_accounts - # 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. + # A list of tags that controls which instances the firewall rule applies to. If + # targetTags are specified, then the firewall rule applies only to instances in + # the VPC network that have one of those tags. 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 @@ -5040,16 +5040,28 @@ module Google include Google::Apis::Core::Hashable # The 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. By default, this field is empty and an ephemeral IPv4 address from the - # same scope (global or regional) will be assigned. A regional forwarding rule - # supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6. + # Addresses are restricted based on the forwarding rule's load balancing scheme ( + # EXTERNAL or INTERNAL) and scope (global or regional). + # When the load balancing scheme is EXTERNAL, for global forwarding rules, the + # address must be a global IP, and for regional forwarding rules, the address + # must live in the same region as the forwarding rule. If this field is empty, + # an ephemeral IPv4 address from the same scope (global or regional) will be + # assigned. A regional forwarding rule supports IPv4 only. A global forwarding + # rule supports either IPv4 or IPv6. # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP - # address belonging to the network/subnetwork configured for the forwarding rule. - # A reserved address cannot be used. If the field is empty, the IP address will - # be automatically allocated from the internal IP range of the subnetwork or - # network configured for this forwarding rule. + # address belonging to the network/subnet configured for the forwarding rule. By + # default, if this field is empty, an ephemeral internal IP address will be + # automatically allocated from the IP range of the subnet or network configured + # for this forwarding rule. + # An address can be specified either by a literal IP address or a URL reference + # to an existing Address resource. The following examples are all valid: + # - 100.1.2.3 + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/ + # addresses/address + # - projects/project/regions/region/addresses/address + # - regions/region/addresses/address + # - global/addresses/address + # - address # Corresponds to the JSON property `IPAddress` # @return [String] attr_accessor :ip_address @@ -6904,6 +6916,12 @@ module Google # @return [String] attr_accessor :creation_timestamp + # Whether the resource should be protected against deletion. + # Corresponds to the JSON property `deletionProtection` + # @return [Boolean] + attr_accessor :deletion_protection + alias_method :deletion_protection?, :deletion_protection + # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` @@ -7052,6 +7070,7 @@ module Google @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @@ -9622,7 +9641,7 @@ module Google end # Protocol definitions for Mixer API to support Interconnect. Next available tag: - # 23 + # 25 class Interconnect include Google::Apis::Core::Hashable @@ -9642,14 +9661,6 @@ module Google # @return [Array] attr_accessor :circuit_infos - # [Output Only] URL to retrieve the Letter Of Authority and Customer Facility - # Assignment (LOA-CFA) documentation relating to this Interconnect. This - # documentation authorizes the facility provider to connect to the specified - # crossconnect ports. - # Corresponds to the JSON property `connectionAuthorization` - # @return [String] - attr_accessor :connection_authorization - # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] @@ -9773,7 +9784,6 @@ module Google def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos) - @connection_authorization = args[:connection_authorization] if args.key?(:connection_authorization) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @customer_name = args[:customer_name] if args.key?(:customer_name) @description = args[:description] if args.key?(:description) @@ -9797,7 +9807,7 @@ module Google end # Protocol definitions for Mixer API to support InterconnectAttachment. Next - # available tag: 18 + # available tag: 23 class InterconnectAttachment include Google::Apis::Core::Hashable @@ -10662,11 +10672,6 @@ module Google # @return [String] attr_accessor :region - # Scope key for the region of this location. - # Corresponds to the JSON property `regionKey` - # @return [String] - attr_accessor :region_key - def initialize(**args) update!(**args) end @@ -10676,7 +10681,6 @@ module Google @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms) @location_presence = args[:location_presence] if args.key?(:location_presence) @region = args[:region] if args.key?(:region) - @region_key = args[:region_key] if args.key?(:region_key) end end diff --git a/generated/google/apis/compute_beta/representations.rb b/generated/google/apis/compute_beta/representations.rb index df1d8ec9c..5a2ddfac2 100644 --- a/generated/google/apis/compute_beta/representations.rb +++ b/generated/google/apis/compute_beta/representations.rb @@ -4477,6 +4477,7 @@ module Google property :can_ip_forward, as: 'canIpForward' property :cpu_platform, as: 'cpuPlatform' property :creation_timestamp, as: 'creationTimestamp' + property :deletion_protection, as: 'deletionProtection' property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation @@ -5200,7 +5201,6 @@ module Google property :admin_enabled, as: 'adminEnabled' collection :circuit_infos, as: 'circuitInfos', class: Google::Apis::ComputeBeta::InterconnectCircuitInfo, decorator: Google::Apis::ComputeBeta::InterconnectCircuitInfo::Representation - property :connection_authorization, as: 'connectionAuthorization' property :creation_timestamp, as: 'creationTimestamp' property :customer_name, as: 'customerName' property :description, as: 'description' @@ -5444,7 +5444,6 @@ module Google property :expected_rtt_ms, :numeric_string => true, as: 'expectedRttMs' property :location_presence, as: 'locationPresence' property :region, as: 'region' - property :region_key, as: 'regionKey' end end diff --git a/generated/google/apis/compute_beta/service.rb b/generated/google/apis/compute_beta/service.rb index 5b5a9ede2..5bb6a9879 100644 --- a/generated/google/apis/compute_beta/service.rb +++ b/generated/google/apis/compute_beta/service.rb @@ -8563,6 +8563,62 @@ module Google execute_or_queue_command(command, &block) end + # Sets deletion protection on the instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name of the resource for this request. + # @param [Boolean] deletion_protection + # Whether the resource should be protected against deletion. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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_deletion_protection(project, zone, resource, deletion_protection: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{resource}/setDeletionProtection', 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['resource'] = resource unless resource.nil? + command.query['deletionProtection'] = deletion_protection unless deletion_protection.nil? + command.query['requestId'] = request_id unless request_id.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. @@ -9188,11 +9244,10 @@ module Google end # 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. + # the instance at a later time. Stopped instances do not incur VM usage charges + # while they are stopped. However, resources that the VM 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 diff --git a/generated/google/apis/compute_v1.rb b/generated/google/apis/compute_v1.rb index c9808b014..87ed21747 100644 --- a/generated/google/apis/compute_v1.rb +++ b/generated/google/apis/compute_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeV1 VERSION = 'V1' - REVISION = '20170919' + REVISION = '20171010' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_v1/classes.rb b/generated/google/apis/compute_v1/classes.rb index 9960745af..73c3d1786 100644 --- a/generated/google/apis/compute_v1/classes.rb +++ b/generated/google/apis/compute_v1/classes.rb @@ -1033,7 +1033,7 @@ module Google # Specifies a valid partial or full URL to an existing Persistent Disk resource. # When creating a new instance, one of initializeParams.sourceImage or disks. - # source is required. + # source is required except for local SSD. # If desired, you can also attach existing non-root persistent disks using this # property. This field is only applicable for persistent disks. # Note that for InstanceTemplate, specify the disk name, not the URL for the @@ -1105,7 +1105,7 @@ module Google attr_accessor :disk_type # The source image to create this disk. When creating a new instance, one of - # initializeParams.sourceImage or disks.source is required. + # initializeParams.sourceImage or disks.source is required except for local SSD. # To create a disk with one of the public operating system images, specify the # image by its family name. For example, specify family/debian-8 to use the # latest Debian 8 image: @@ -1686,16 +1686,15 @@ module Google include Google::Apis::Core::Hashable # The identifier (type) of the Stackdriver Monitoring metric. The metric cannot - # have negative values and should be a utilization metric, which means that the - # number of virtual machines handling requests should increase or decrease - # proportionally to the metric. + # have negative values. # The metric must have a value type of INT64 or DOUBLE. # Corresponds to the JSON property `metric` # @return [String] attr_accessor :metric # The target value of the metric that autoscaler should maintain. This must be a - # positive value. + # positive value. A utilization metric scales number of virtual machines + # handling requests to increase or decrease proportionally to the metric. # For example, a good metric to use as a utilization_target is compute. # googleapis.com/instance/network/received_bytes_count. The autoscaler will work # to keep this value constant for each of the instances. @@ -4350,6 +4349,21 @@ module Google # @return [Array] attr_accessor :source_ranges + # If source service accounts are specified, the firewall will apply only to + # traffic originating from an instance with a service account in this list. + # Source service accounts cannot be used to control traffic to an instance's + # external IP address because service accounts are associated with an instance, + # not an IP address. sourceRanges can be set at the same time as + # sourceServiceAccounts. If both are set, the firewall will apply to traffic + # that has source IP address within sourceRanges OR the source IP belongs to an + # instance with service account listed in sourceServiceAccount. The connection + # does not need to match both properties for the firewall to apply. + # sourceServiceAccounts cannot be used at the same time as sourceTags or + # targetTags. + # Corresponds to the JSON property `sourceServiceAccounts` + # @return [Array] + attr_accessor :source_service_accounts + # If source tags are specified, the firewall rule applies only to traffic with # source IPs that match the primary network interfaces of VM instances that have # the tag and are in the same VPC network. Source tags cannot be used to control @@ -4364,10 +4378,19 @@ module Google # @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. + # A list of service accounts indicating sets of instances located in the network + # that may make network connections as specified in allowed[]. + # targetServiceAccounts cannot be used at the same time as targetTags or + # sourceTags. If neither targetServiceAccounts nor targetTags are specified, the + # firewall rule applies to all instances on the specified network. + # Corresponds to the JSON property `targetServiceAccounts` + # @return [Array] + attr_accessor :target_service_accounts + + # A list of tags that controls which instances the firewall rule applies to. If + # targetTags are specified, then the firewall rule applies only to instances in + # the VPC network that have one of those tags. 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 @@ -4391,7 +4414,9 @@ module Google @priority = args[:priority] if args.key?(:priority) @self_link = args[:self_link] if args.key?(:self_link) @source_ranges = args[:source_ranges] if args.key?(:source_ranges) + @source_service_accounts = args[:source_service_accounts] if args.key?(:source_service_accounts) @source_tags = args[:source_tags] if args.key?(:source_tags) + @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts) @target_tags = args[:target_tags] if args.key?(:target_tags) end @@ -4583,16 +4608,28 @@ module Google include Google::Apis::Core::Hashable # The 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. By default, this field is empty and an ephemeral IPv4 address from the - # same scope (global or regional) will be assigned. A regional forwarding rule - # supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6. + # Addresses are restricted based on the forwarding rule's load balancing scheme ( + # EXTERNAL or INTERNAL) and scope (global or regional). + # When the load balancing scheme is EXTERNAL, for global forwarding rules, the + # address must be a global IP, and for regional forwarding rules, the address + # must live in the same region as the forwarding rule. If this field is empty, + # an ephemeral IPv4 address from the same scope (global or regional) will be + # assigned. A regional forwarding rule supports IPv4 only. A global forwarding + # rule supports either IPv4 or IPv6. # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP - # address belonging to the network/subnetwork configured for the forwarding rule. - # A reserved address cannot be used. If the field is empty, the IP address will - # be automatically allocated from the internal IP range of the subnetwork or - # network configured for this forwarding rule. + # address belonging to the network/subnet configured for the forwarding rule. By + # default, if this field is empty, an ephemeral internal IP address will be + # automatically allocated from the IP range of the subnet or network configured + # for this forwarding rule. + # An address can be specified either by a literal IP address or a URL reference + # to an existing Address resource. The following examples are all valid: + # - 100.1.2.3 + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/ + # addresses/address + # - projects/project/regions/region/addresses/address + # - regions/region/addresses/address + # - global/addresses/address + # - address # Corresponds to the JSON property `IPAddress` # @return [String] attr_accessor :ip_address @@ -6383,6 +6420,12 @@ module Google # @return [String] attr_accessor :creation_timestamp + # Whether the resource should be protected against deletion. + # Corresponds to the JSON property `deletionProtection` + # @return [Boolean] + attr_accessor :deletion_protection + alias_method :deletion_protection?, :deletion_protection + # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` @@ -6531,6 +6574,7 @@ module Google @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @@ -8695,6 +8739,1112 @@ module Google end end + # Protocol definitions for Mixer API to support Interconnect. Next available tag: + # 25 + class Interconnect + include Google::Apis::Core::Hashable + + # Administrative status of the interconnect. When this is set to ?true?, the + # Interconnect is functional and may carry traffic (assuming there are + # functional InterconnectAttachments and other requirements are satisfied). When + # set to ?false?, no packets will be carried over this Interconnect and no BGP + # routes will be exchanged over it. By default, it is set to ?true?. + # Corresponds to the JSON property `adminEnabled` + # @return [Boolean] + attr_accessor :admin_enabled + alias_method :admin_enabled?, :admin_enabled + + # [Output Only] List of CircuitInfo objects, that describe the individual + # circuits in this LAG. + # Corresponds to the JSON property `circuitInfos` + # @return [Array] + attr_accessor :circuit_infos + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # Customer name, to put in the Letter of Authorization as the party authorized + # to request a crossconnect. + # Corresponds to the JSON property `customerName` + # @return [String] + attr_accessor :customer_name + + # 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] List of outages expected for this Interconnect. + # Corresponds to the JSON property `expectedOutages` + # @return [Array] + attr_accessor :expected_outages + + # [Output Only] IP address configured on the Google side of the Interconnect + # link. This can be used only for ping tests. + # Corresponds to the JSON property `googleIpAddress` + # @return [String] + attr_accessor :google_ip_address + + # [Output Only] Google reference ID; to be used when raising support tickets + # with Google or otherwise to debug backend connectivity issues. + # Corresponds to the JSON property `googleReferenceId` + # @return [String] + attr_accessor :google_reference_id + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [Fixnum] + attr_accessor :id + + # [Output Only] A list of the URLs of all InterconnectAttachments configured to + # use this Interconnect. + # Corresponds to the JSON property `interconnectAttachments` + # @return [Array] + attr_accessor :interconnect_attachments + + # + # Corresponds to the JSON property `interconnectType` + # @return [String] + attr_accessor :interconnect_type + + # [Output Only] Type of the resource. Always compute#interconnect for + # interconnects. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # + # Corresponds to the JSON property `linkType` + # @return [String] + attr_accessor :link_type + + # URL of the InterconnectLocation object that represents where this connection + # is to be provisioned. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # 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 + + # Email address to contact the customer NOC for operations and maintenance + # notifications regarding this Interconnect. If specified, this will be used for + # notifications in addition to all other forms described, such as Stackdriver + # logs alerting and Cloud Notifications. + # Corresponds to the JSON property `nocContactEmail` + # @return [String] + attr_accessor :noc_contact_email + + # [Output Only] The current status of whether or not this Interconnect is + # functional. + # Corresponds to the JSON property `operationalStatus` + # @return [String] + attr_accessor :operational_status + + # [Output Only] IP address configured on the customer side of the Interconnect + # link. The customer should configure this IP address during turnup when + # prompted by Google NOC. This can be used only for ping tests. + # Corresponds to the JSON property `peerIpAddress` + # @return [String] + attr_accessor :peer_ip_address + + # [Output Only] Number of links actually provisioned in this interconnect. + # Corresponds to the JSON property `provisionedLinkCount` + # @return [Fixnum] + attr_accessor :provisioned_link_count + + # Target number of physical links in the link bundle, as requested by the + # customer. + # Corresponds to the JSON property `requestedLinkCount` + # @return [Fixnum] + attr_accessor :requested_link_count + + # [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) + @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) + @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos) + @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @customer_name = args[:customer_name] if args.key?(:customer_name) + @description = args[:description] if args.key?(:description) + @expected_outages = args[:expected_outages] if args.key?(:expected_outages) + @google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address) + @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id) + @id = args[:id] if args.key?(:id) + @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments) + @interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type) + @kind = args[:kind] if args.key?(:kind) + @link_type = args[:link_type] if args.key?(:link_type) + @location = args[:location] if args.key?(:location) + @name = args[:name] if args.key?(:name) + @noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email) + @operational_status = args[:operational_status] if args.key?(:operational_status) + @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address) + @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count) + @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count) + @self_link = args[:self_link] if args.key?(:self_link) + end + end + + # Protocol definitions for Mixer API to support InterconnectAttachment. Next + # available tag: 23 + class InterconnectAttachment + include Google::Apis::Core::Hashable + + # [Output Only] IPv4 address + prefix length to be configured on Cloud Router + # Interface for this interconnect attachment. + # Corresponds to the JSON property `cloudRouterIpAddress` + # @return [String] + attr_accessor :cloud_router_ip_address + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # [Output Only] IPv4 address + prefix length to be configured on the customer + # router subinterface for this interconnect attachment. + # Corresponds to the JSON property `customerRouterIpAddress` + # @return [String] + attr_accessor :customer_router_ip_address + + # 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] Google reference ID, to be used when raising support tickets + # with Google or otherwise to debug backend connectivity issues. + # Corresponds to the JSON property `googleReferenceId` + # @return [String] + attr_accessor :google_reference_id + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [Fixnum] + attr_accessor :id + + # URL of the underlying Interconnect object that this attachment's traffic will + # traverse through. + # Corresponds to the JSON property `interconnect` + # @return [String] + attr_accessor :interconnect + + # [Output Only] Type of the resource. Always compute#interconnectAttachment for + # interconnect attachments. + # 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] The current status of whether or not this interconnect + # attachment is functional. + # Corresponds to the JSON property `operationalStatus` + # @return [String] + attr_accessor :operational_status + + # Private information for an interconnect attachment when this belongs to an + # interconnect of type IT_PRIVATE. + # Corresponds to the JSON property `privateInterconnectInfo` + # @return [Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo] + attr_accessor :private_interconnect_info + + # [Output Only] URL of the region where the regional interconnect attachment + # resides. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # URL of the cloud router to be used for dynamic routing. This router must be in + # the same region as this InterconnectAttachment. The InterconnectAttachment + # will automatically connect the Interconnect to the network & region within + # which the Cloud Router is configured. + # Corresponds to the JSON property `router` + # @return [String] + attr_accessor :router + + # [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) + @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address) + @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address) + @description = args[:description] if args.key?(:description) + @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id) + @id = args[:id] if args.key?(:id) + @interconnect = args[:interconnect] if args.key?(:interconnect) + @kind = args[:kind] if args.key?(:kind) + @name = args[:name] if args.key?(:name) + @operational_status = args[:operational_status] if args.key?(:operational_status) + @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info) + @region = args[:region] if args.key?(:region) + @router = args[:router] if args.key?(:router) + @self_link = args[:self_link] if args.key?(:self_link) + end + end + + # + class InterconnectAttachmentAggregatedList + 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 InterconnectAttachmentsScopedList resources. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # [Output Only] Type of resource. Always compute# + # interconnectAttachmentAggregatedList for aggregated lists of interconnect + # attachments. + # 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 + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @kind = args[:kind] if args.key?(:kind) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @warning = args[:warning] if args.key?(:warning) + end + + # [Output Only] Informational warning message. + 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] if args.key?(:code) + @data = args[:data] if args.key?(:data) + @message = args[:message] if args.key?(:message) + 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] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + end + end + + # Response to the list request, and contains a list of interconnect attachments. + class InterconnectAttachmentList + 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 InterconnectAttachment resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#interconnectAttachmentList for + # lists of interconnect attachments. + # 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 + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeV1::InterconnectAttachmentList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @kind = args[:kind] if args.key?(:kind) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @warning = args[:warning] if args.key?(:warning) + end + + # [Output Only] Informational warning message. + 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] if args.key?(:code) + @data = args[:data] if args.key?(:data) + @message = args[:message] if args.key?(:message) + 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] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + end + end + + # Private information for an interconnect attachment when this belongs to an + # interconnect of type IT_PRIVATE. + class InterconnectAttachmentPrivateInfo + include Google::Apis::Core::Hashable + + # [Output Only] 802.1q encapsulation tag to be used for traffic between Google + # and the customer, going to and from this network and region. + # Corresponds to the JSON property `tag8021q` + # @return [Fixnum] + attr_accessor :tag8021q + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @tag8021q = args[:tag8021q] if args.key?(:tag8021q) + end + end + + # + class InterconnectAttachmentsScopedList + include Google::Apis::Core::Hashable + + # List of interconnect attachments contained in this scope. + # Corresponds to the JSON property `interconnectAttachments` + # @return [Array] + attr_accessor :interconnect_attachments + + # Informational warning which replaces the list of addresses when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments) + @warning = args[:warning] if args.key?(:warning) + 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] if args.key?(:code) + @data = args[:data] if args.key?(:data) + @message = args[:message] if args.key?(:message) + 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] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + end + end + + # Describes a single physical circuit between the Customer and Google. + # CircuitInfo objects are created by Google, so all fields are output only. Next + # id: 4 + class InterconnectCircuitInfo + include Google::Apis::Core::Hashable + + # Customer-side demarc ID for this circuit. This will only be set if it was + # provided by the Customer to Google during circuit turn-up. + # Corresponds to the JSON property `customerDemarcId` + # @return [String] + attr_accessor :customer_demarc_id + + # Google-assigned unique ID for this circuit. Assigned at circuit turn-up. + # Corresponds to the JSON property `googleCircuitId` + # @return [String] + attr_accessor :google_circuit_id + + # Google-side demarc ID for this circuit. Assigned at circuit turn-up and + # provided by Google to the customer in the LOA. + # Corresponds to the JSON property `googleDemarcId` + # @return [String] + attr_accessor :google_demarc_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @customer_demarc_id = args[:customer_demarc_id] if args.key?(:customer_demarc_id) + @google_circuit_id = args[:google_circuit_id] if args.key?(:google_circuit_id) + @google_demarc_id = args[:google_demarc_id] if args.key?(:google_demarc_id) + end + end + + # Response to the list request, and contains a list of interconnects. + class InterconnectList + 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 Interconnect resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#interconnectList for lists of + # interconnects. + # 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 + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeV1::InterconnectList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @kind = args[:kind] if args.key?(:kind) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @warning = args[:warning] if args.key?(:warning) + end + + # [Output Only] Informational warning message. + 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] if args.key?(:code) + @data = args[:data] if args.key?(:data) + @message = args[:message] if args.key?(:message) + 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] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + end + end + + # Protocol definitions for Mixer API to support InterconnectLocation. + class InterconnectLocation + include Google::Apis::Core::Hashable + + # [Output Only] The postal address of the Point of Presence, each line in the + # address is separated by a newline character. + # Corresponds to the JSON property `address` + # @return [String] + attr_accessor :address + + # Availability zone for this location. Within a city, maintenance will not be + # simultaneously scheduled in more than one availability zone. Example: "zone1" + # or "zone2". + # Corresponds to the JSON property `availabilityZone` + # @return [String] + attr_accessor :availability_zone + + # City designator used by the Interconnect UI to locate this + # InterconnectLocation within the Continent. For example: "Chicago, IL", " + # Amsterdam, Netherlands". + # Corresponds to the JSON property `city` + # @return [String] + attr_accessor :city + + # Continent for this location. Used by the location picker in the Interconnect + # UI. + # Corresponds to the JSON property `continent` + # @return [String] + attr_accessor :continent + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # [Output Only] An optional description of the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The name of the provider for this facility (e.g., EQUINIX). + # Corresponds to the JSON property `facilityProvider` + # @return [String] + attr_accessor :facility_provider + + # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn- + # DC1). + # Corresponds to the JSON property `facilityProviderFacilityId` + # @return [String] + attr_accessor :facility_provider_facility_id + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [Fixnum] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#interconnectLocation for + # interconnect locations. + # 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 peeringdb identifier for this facility (corresponding with a + # netfac type in peeringdb). + # Corresponds to the JSON property `peeringdbFacilityId` + # @return [String] + attr_accessor :peeringdb_facility_id + + # [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe + # parameters pertaining to the relation between this InterconnectLocation and + # various Google Cloud regions. + # Corresponds to the JSON property `regionInfos` + # @return [Array] + attr_accessor :region_infos + + # [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) + @address = args[:address] if args.key?(:address) + @availability_zone = args[:availability_zone] if args.key?(:availability_zone) + @city = args[:city] if args.key?(:city) + @continent = args[:continent] if args.key?(:continent) + @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @description = args[:description] if args.key?(:description) + @facility_provider = args[:facility_provider] if args.key?(:facility_provider) + @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id) + @id = args[:id] if args.key?(:id) + @kind = args[:kind] if args.key?(:kind) + @name = args[:name] if args.key?(:name) + @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id) + @region_infos = args[:region_infos] if args.key?(:region_infos) + @self_link = args[:self_link] if args.key?(:self_link) + end + end + + # Response to the list request, and contains a list of interconnect locations. + class InterconnectLocationList + 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 InterconnectLocation resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#interconnectLocationList for + # lists of interconnect locations. + # 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 + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeV1::InterconnectLocationList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @kind = args[:kind] if args.key?(:kind) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @warning = args[:warning] if args.key?(:warning) + end + + # [Output Only] Informational warning message. + 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] if args.key?(:code) + @data = args[:data] if args.key?(:data) + @message = args[:message] if args.key?(:message) + 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] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + end + end + + # Information about any potential InterconnectAttachments between an + # Interconnect at a specific InterconnectLocation, and a specific Cloud Region. + class InterconnectLocationRegionInfo + include Google::Apis::Core::Hashable + + # Expected round-trip time in milliseconds, from this InterconnectLocation to a + # VM in this region. + # Corresponds to the JSON property `expectedRttMs` + # @return [Fixnum] + attr_accessor :expected_rtt_ms + + # Identifies the network presence of this location. + # Corresponds to the JSON property `locationPresence` + # @return [String] + attr_accessor :location_presence + + # URL for the region of this location. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms) + @location_presence = args[:location_presence] if args.key?(:location_presence) + @region = args[:region] if args.key?(:region) + end + end + + # Description of a planned outage on this Interconnect. Next id: 9 + class InterconnectOutageNotification + include Google::Apis::Core::Hashable + + # Iff issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs + # that will be affected. + # Corresponds to the JSON property `affectedCircuits` + # @return [Array] + attr_accessor :affected_circuits + + # Short user-visible description of the purpose of the outage. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # + # Corresponds to the JSON property `endTime` + # @return [Fixnum] + attr_accessor :end_time + + # + # Corresponds to the JSON property `issueType` + # @return [String] + attr_accessor :issue_type + + # Unique identifier for this outage notification. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + # Scheduled start and end times for the outage (milliseconds since Unix epoch). + # Corresponds to the JSON property `startTime` + # @return [Fixnum] + attr_accessor :start_time + + # + # 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) + @affected_circuits = args[:affected_circuits] if args.key?(:affected_circuits) + @description = args[:description] if args.key?(:description) + @end_time = args[:end_time] if args.key?(:end_time) + @issue_type = args[:issue_type] if args.key?(:issue_type) + @name = args[:name] if args.key?(:name) + @source = args[:source] if args.key?(:source) + @start_time = args[:start_time] if args.key?(:start_time) + @state = args[:state] if args.key?(:state) + end + end + # A license resource. class License include Google::Apis::Core::Hashable @@ -12290,6 +13440,13 @@ module Google # @return [String] attr_accessor :ip_range + # URI of the linked interconnect attachment. It must be in the same region as + # the router. Each interface can have at most one linked resource and it could + # either be a VPN Tunnel or an interconnect attachment. + # Corresponds to the JSON property `linkedInterconnectAttachment` + # @return [String] + attr_accessor :linked_interconnect_attachment + # URI of the linked VPN tunnel. It must be in the same region as the router. # Each interface can have at most one linked resource and it could either be a # VPN Tunnel or an interconnect attachment. @@ -12310,6 +13467,7 @@ module Google # Update properties of this object def update!(**args) @ip_range = args[:ip_range] if args.key?(:ip_range) + @linked_interconnect_attachment = args[:linked_interconnect_attachment] if args.key?(:linked_interconnect_attachment) @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel) @name = args[:name] if args.key?(:name) end diff --git a/generated/google/apis/compute_v1/representations.rb b/generated/google/apis/compute_v1/representations.rb index d908438db..9c7713c86 100644 --- a/generated/google/apis/compute_v1/representations.rb +++ b/generated/google/apis/compute_v1/representations.rb @@ -1186,6 +1186,138 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Interconnect + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectAttachment + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectAttachmentAggregatedList + 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 + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectAttachmentList + 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 + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectAttachmentPrivateInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectAttachmentsScopedList + 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 + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectCircuitInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectList + 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 + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectLocationList + 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 + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectLocationRegionInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InterconnectOutageNotification + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class License class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3549,7 +3681,9 @@ module Google property :priority, as: 'priority' property :self_link, as: 'selfLink' collection :source_ranges, as: 'sourceRanges' + collection :source_service_accounts, as: 'sourceServiceAccounts' collection :source_tags, as: 'sourceTags' + collection :target_service_accounts, as: 'targetServiceAccounts' collection :target_tags, as: 'targetTags' end @@ -4022,6 +4156,7 @@ module Google property :can_ip_forward, as: 'canIpForward' property :cpu_platform, as: 'cpuPlatform' property :creation_timestamp, as: 'creationTimestamp' + property :deletion_protection, as: 'deletionProtection' property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeV1::AttachedDisk, decorator: Google::Apis::ComputeV1::AttachedDisk::Representation @@ -4636,6 +4771,272 @@ module Google end end + class Interconnect + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :admin_enabled, as: 'adminEnabled' + collection :circuit_infos, as: 'circuitInfos', class: Google::Apis::ComputeV1::InterconnectCircuitInfo, decorator: Google::Apis::ComputeV1::InterconnectCircuitInfo::Representation + + property :creation_timestamp, as: 'creationTimestamp' + property :customer_name, as: 'customerName' + property :description, as: 'description' + collection :expected_outages, as: 'expectedOutages', class: Google::Apis::ComputeV1::InterconnectOutageNotification, decorator: Google::Apis::ComputeV1::InterconnectOutageNotification::Representation + + property :google_ip_address, as: 'googleIpAddress' + property :google_reference_id, as: 'googleReferenceId' + property :id, :numeric_string => true, as: 'id' + collection :interconnect_attachments, as: 'interconnectAttachments' + property :interconnect_type, as: 'interconnectType' + property :kind, as: 'kind' + property :link_type, as: 'linkType' + property :location, as: 'location' + property :name, as: 'name' + property :noc_contact_email, as: 'nocContactEmail' + property :operational_status, as: 'operationalStatus' + property :peer_ip_address, as: 'peerIpAddress' + property :provisioned_link_count, as: 'provisionedLinkCount' + property :requested_link_count, as: 'requestedLinkCount' + property :self_link, as: 'selfLink' + end + end + + class InterconnectAttachment + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cloud_router_ip_address, as: 'cloudRouterIpAddress' + property :creation_timestamp, as: 'creationTimestamp' + property :customer_router_ip_address, as: 'customerRouterIpAddress' + property :description, as: 'description' + property :google_reference_id, as: 'googleReferenceId' + property :id, :numeric_string => true, as: 'id' + property :interconnect, as: 'interconnect' + property :kind, as: 'kind' + property :name, as: 'name' + property :operational_status, as: 'operationalStatus' + property :private_interconnect_info, as: 'privateInterconnectInfo', class: Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo, decorator: Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo::Representation + + property :region, as: 'region' + property :router, as: 'router' + property :self_link, as: 'selfLink' + end + end + + class InterconnectAttachmentAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList, decorator: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::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 InterconnectAttachmentList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectAttachment, decorator: Google::Apis::ComputeV1::InterconnectAttachment::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentList::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 InterconnectAttachmentPrivateInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :tag8021q, as: 'tag8021q' + end + end + + class InterconnectAttachmentsScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :interconnect_attachments, as: 'interconnectAttachments', class: Google::Apis::ComputeV1::InterconnectAttachment, decorator: Google::Apis::ComputeV1::InterconnectAttachment::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::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 InterconnectCircuitInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :customer_demarc_id, as: 'customerDemarcId' + property :google_circuit_id, as: 'googleCircuitId' + property :google_demarc_id, as: 'googleDemarcId' + end + end + + class InterconnectList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeV1::Interconnect, decorator: Google::Apis::ComputeV1::Interconnect::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectList::Warning, decorator: Google::Apis::ComputeV1::InterconnectList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectList::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 InterconnectLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :address, as: 'address' + property :availability_zone, as: 'availabilityZone' + property :city, as: 'city' + property :continent, as: 'continent' + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :facility_provider, as: 'facilityProvider' + property :facility_provider_facility_id, as: 'facilityProviderFacilityId' + property :id, :numeric_string => true, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :peeringdb_facility_id, as: 'peeringdbFacilityId' + collection :region_infos, as: 'regionInfos', class: Google::Apis::ComputeV1::InterconnectLocationRegionInfo, decorator: Google::Apis::ComputeV1::InterconnectLocationRegionInfo::Representation + + property :self_link, as: 'selfLink' + end + end + + class InterconnectLocationList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectLocation, decorator: Google::Apis::ComputeV1::InterconnectLocation::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectLocationList::Warning, decorator: Google::Apis::ComputeV1::InterconnectLocationList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectLocationList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectLocationList::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 InterconnectLocationRegionInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :expected_rtt_ms, :numeric_string => true, as: 'expectedRttMs' + property :location_presence, as: 'locationPresence' + property :region, as: 'region' + end + end + + class InterconnectOutageNotification + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :affected_circuits, as: 'affectedCircuits' + property :description, as: 'description' + property :end_time, :numeric_string => true, as: 'endTime' + property :issue_type, as: 'issueType' + property :name, as: 'name' + property :source, as: 'source' + property :start_time, :numeric_string => true, as: 'startTime' + property :state, as: 'state' + end + end + class License # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5575,6 +5976,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_range, as: 'ipRange' + property :linked_interconnect_attachment, as: 'linkedInterconnectAttachment' property :linked_vpn_tunnel, as: 'linkedVpnTunnel' property :name, as: 'name' end diff --git a/generated/google/apis/compute_v1/service.rb b/generated/google/apis/compute_v1/service.rb index 060b9cbed..2dc0add6c 100644 --- a/generated/google/apis/compute_v1/service.rb +++ b/generated/google/apis/compute_v1/service.rb @@ -7341,6 +7341,62 @@ module Google execute_or_queue_command(command, &block) end + # Sets deletion protection on the instance. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name of the resource for this request. + # @param [Boolean] deletion_protection + # Whether the resource should be protected against deletion. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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::ComputeV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::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_deletion_protection(project, zone, resource, deletion_protection: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{resource}/setDeletionProtection', options) + command.response_representation = Google::Apis::ComputeV1::Operation::Representation + command.response_class = Google::Apis::ComputeV1::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.nil? + command.query['deletionProtection'] = deletion_protection unless deletion_protection.nil? + command.query['requestId'] = request_id unless request_id.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. @@ -7966,11 +8022,10 @@ module Google end # 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. + # the instance at a later time. Stopped instances do not incur VM usage charges + # while they are stopped. However, resources that the VM 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 @@ -8023,6 +8078,697 @@ module Google execute_or_queue_command(command, &block) end + # Retrieves an aggregated list of interconnect attachments. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter `expression` for filtering listed resources. 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, to filter for instances that do not have a name of example- + # instance, you would use name ne example-instance. + # You can filter on nested fields. For example, you could filter on instances + # that have set the scheduling.automaticRestart field to true. Use filtering on + # nested fields to take advantage of labels to organize and search for results + # based on label values. + # To filter on multiple expressions, provide 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 should be returned. 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. Acceptable values are 0 to 500, inclusive. (Default: 500) + # @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::ComputeV1::InterconnectAttachmentAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList] + # + # @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_interconnect_attachment_list(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/interconnectAttachments', options) + command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Representation + command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList + 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 interconnect attachment. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region for this request. + # @param [String] interconnect_attachment + # Name of the interconnect attachment to delete. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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::ComputeV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::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_interconnect_attachment(project, region, interconnect_attachment, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}', options) + command.response_representation = Google::Apis::ComputeV1::Operation::Representation + command.response_class = Google::Apis::ComputeV1::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['interconnectAttachment'] = interconnect_attachment unless interconnect_attachment.nil? + command.query['requestId'] = request_id unless request_id.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 interconnect attachment. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region for this request. + # @param [String] interconnect_attachment + # Name of the interconnect attachment 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::ComputeV1::InterconnectAttachment] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::InterconnectAttachment] + # + # @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_interconnect_attachment(project, region, interconnect_attachment, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}', options) + command.response_representation = Google::Apis::ComputeV1::InterconnectAttachment::Representation + command.response_class = Google::Apis::ComputeV1::InterconnectAttachment + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['interconnectAttachment'] = interconnect_attachment unless interconnect_attachment.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 InterconnectAttachment 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 for this request. + # @param [Google::Apis::ComputeV1::InterconnectAttachment] interconnect_attachment_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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::ComputeV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::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_interconnect_attachment(project, region, interconnect_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/interconnectAttachments', options) + command.request_representation = Google::Apis::ComputeV1::InterconnectAttachment::Representation + command.request_object = interconnect_attachment_object + command.response_representation = Google::Apis::ComputeV1::Operation::Representation + command.response_class = Google::Apis::ComputeV1::Operation + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.query['requestId'] = request_id unless request_id.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 interconnect attachments contained within the specified + # region. + # @param [String] project + # Project ID for this request. + # @param [String] region + # Name of the region for this request. + # @param [String] filter + # Sets a filter `expression` for filtering listed resources. 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, to filter for instances that do not have a name of example- + # instance, you would use name ne example-instance. + # You can filter on nested fields. For example, you could filter on instances + # that have set the scheduling.automaticRestart field to true. Use filtering on + # nested fields to take advantage of labels to organize and search for results + # based on label values. + # To filter on multiple expressions, provide 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 should be returned. 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. Acceptable values are 0 to 500, inclusive. (Default: 500) + # @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::ComputeV1::InterconnectAttachmentList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::InterconnectAttachmentList] + # + # @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_interconnect_attachments(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}/interconnectAttachments', options) + command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentList::Representation + command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentList + 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 details for the specified interconnect location. Get a list of + # available interconnect locations by making a list() request. + # @param [String] project + # Project ID for this request. + # @param [String] interconnect_location + # Name of the interconnect location 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::ComputeV1::InterconnectLocation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::InterconnectLocation] + # + # @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_interconnect_location(project, interconnect_location, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/interconnectLocations/{interconnectLocation}', options) + command.response_representation = Google::Apis::ComputeV1::InterconnectLocation::Representation + command.response_class = Google::Apis::ComputeV1::InterconnectLocation + command.params['project'] = project unless project.nil? + command.params['interconnectLocation'] = interconnect_location unless interconnect_location.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 interconnect locations available to the specified + # project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter `expression` for filtering listed resources. 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, to filter for instances that do not have a name of example- + # instance, you would use name ne example-instance. + # You can filter on nested fields. For example, you could filter on instances + # that have set the scheduling.automaticRestart field to true. Use filtering on + # nested fields to take advantage of labels to organize and search for results + # based on label values. + # To filter on multiple expressions, provide 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 should be returned. 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. Acceptable values are 0 to 500, inclusive. (Default: 500) + # @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::ComputeV1::InterconnectLocationList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::InterconnectLocationList] + # + # @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_interconnect_locations(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/interconnectLocations', options) + command.response_representation = Google::Apis::ComputeV1::InterconnectLocationList::Representation + command.response_class = Google::Apis::ComputeV1::InterconnectLocationList + 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 interconnect. + # @param [String] project + # Project ID for this request. + # @param [String] interconnect + # Name of the interconnect to delete. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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::ComputeV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::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_interconnect(project, interconnect, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/interconnects/{interconnect}', options) + command.response_representation = Google::Apis::ComputeV1::Operation::Representation + command.response_class = Google::Apis::ComputeV1::Operation + command.params['project'] = project unless project.nil? + command.params['interconnect'] = interconnect unless interconnect.nil? + command.query['requestId'] = request_id unless request_id.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 interconnect. Get a list of available interconnects by + # making a list() request. + # @param [String] project + # Project ID for this request. + # @param [String] interconnect + # Name of the interconnect 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::ComputeV1::Interconnect] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Interconnect] + # + # @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_interconnect(project, interconnect, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/interconnects/{interconnect}', options) + command.response_representation = Google::Apis::ComputeV1::Interconnect::Representation + command.response_class = Google::Apis::ComputeV1::Interconnect + command.params['project'] = project unless project.nil? + command.params['interconnect'] = interconnect unless interconnect.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 Interconnect in the specified project using the data included in the + # request. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeV1::Interconnect] interconnect_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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::ComputeV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::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_interconnect(project, interconnect_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/interconnects', options) + command.request_representation = Google::Apis::ComputeV1::Interconnect::Representation + command.request_object = interconnect_object + command.response_representation = Google::Apis::ComputeV1::Operation::Representation + command.response_class = Google::Apis::ComputeV1::Operation + command.params['project'] = project unless project.nil? + command.query['requestId'] = request_id unless request_id.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 interconnect available to the specified project. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # Sets a filter `expression` for filtering listed resources. 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, to filter for instances that do not have a name of example- + # instance, you would use name ne example-instance. + # You can filter on nested fields. For example, you could filter on instances + # that have set the scheduling.automaticRestart field to true. Use filtering on + # nested fields to take advantage of labels to organize and search for results + # based on label values. + # To filter on multiple expressions, provide 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 should be returned. 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. Acceptable values are 0 to 500, inclusive. (Default: 500) + # @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::ComputeV1::InterconnectList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::InterconnectList] + # + # @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_interconnects(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/interconnects', options) + command.response_representation = Google::Apis::ComputeV1::InterconnectList::Representation + command.response_class = Google::Apis::ComputeV1::InterconnectList + 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 interconnect with the data included in the request. This + # method supports PATCH semantics and uses the JSON merge patch format and + # processing rules. + # @param [String] project + # Project ID for this request. + # @param [String] interconnect + # Name of the interconnect to update. + # @param [Google::Apis::ComputeV1::Interconnect] interconnect_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @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::ComputeV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::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_interconnect(project, interconnect, interconnect_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/interconnects/{interconnect}', options) + command.request_representation = Google::Apis::ComputeV1::Interconnect::Representation + command.request_object = interconnect_object + command.response_representation = Google::Apis::ComputeV1::Operation::Representation + command.response_class = Google::Apis::ComputeV1::Operation + command.params['project'] = project unless project.nil? + command.params['interconnect'] = interconnect unless interconnect.nil? + command.query['requestId'] = request_id unless request_id.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. diff --git a/generated/google/apis/sourcerepo_v1.rb b/generated/google/apis/sourcerepo_v1.rb index 0730c4e7f..16c379dd7 100644 --- a/generated/google/apis/sourcerepo_v1.rb +++ b/generated/google/apis/sourcerepo_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/source-repositories/docs/apis module SourcerepoV1 VERSION = 'V1' - REVISION = '20170908' + REVISION = '20171011' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/sourcerepo_v1/classes.rb b/generated/google/apis/sourcerepo_v1/classes.rb index e50ab92bb..bb988d498 100644 --- a/generated/google/apis/sourcerepo_v1/classes.rb +++ b/generated/google/apis/sourcerepo_v1/classes.rb @@ -305,7 +305,7 @@ module Google attr_accessor :url # ID of the webhook listening to updates to trigger mirroring. - # Removing this webook from the other hosting service will stop + # Removing this webhook from the other hosting service will stop # Google Cloud Source Repositories from receiving notifications, # and thereby disabling mirroring. # Corresponds to the JSON property `webhookId` diff --git a/generated/google/apis/sqladmin_v1beta4.rb b/generated/google/apis/sqladmin_v1beta4.rb index d55266598..fb1967ba4 100644 --- a/generated/google/apis/sqladmin_v1beta4.rb +++ b/generated/google/apis/sqladmin_v1beta4.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/sql/docs/reference/latest module SqladminV1beta4 VERSION = 'V1beta4' - REVISION = '20170807' + REVISION = '20171011' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/sqladmin_v1beta4/classes.rb b/generated/google/apis/sqladmin_v1beta4/classes.rb index 4cc92b96c..bef382c98 100644 --- a/generated/google/apis/sqladmin_v1beta4/classes.rb +++ b/generated/google/apis/sqladmin_v1beta4/classes.rb @@ -626,6 +626,114 @@ module Google end end + # Read-replica configuration for connecting to the on-premises master. + class DemoteMasterConfiguration + include Google::Apis::Core::Hashable + + # This is always sql#demoteMasterConfiguration. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Read-replica configuration specific to MySQL databases. + # Corresponds to the JSON property `mysqlReplicaConfiguration` + # @return [Google::Apis::SqladminV1beta4::DemoteMasterMySqlReplicaConfiguration] + attr_accessor :mysql_replica_configuration + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @kind = args[:kind] if args.key?(:kind) + @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration) + end + end + + # Database instance demote master context. + class DemoteMasterContext + include Google::Apis::Core::Hashable + + # This is always sql#demoteMasterContext. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The name of the instance which will act as on-premises master in the + # replication setup. + # Corresponds to the JSON property `masterInstanceName` + # @return [String] + attr_accessor :master_instance_name + + # Read-replica configuration for connecting to the on-premises master. + # Corresponds to the JSON property `replicaConfiguration` + # @return [Google::Apis::SqladminV1beta4::DemoteMasterConfiguration] + attr_accessor :replica_configuration + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @kind = args[:kind] if args.key?(:kind) + @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name) + @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration) + end + end + + # Read-replica configuration specific to MySQL databases. + class DemoteMasterMySqlReplicaConfiguration + include Google::Apis::Core::Hashable + + # PEM representation of the trusted CA's x509 certificate. + # Corresponds to the JSON property `caCertificate` + # @return [String] + attr_accessor :ca_certificate + + # PEM representation of the slave's x509 certificate. + # Corresponds to the JSON property `clientCertificate` + # @return [String] + attr_accessor :client_certificate + + # PEM representation of the slave's private key. The corresponsing public key is + # encoded in the client's certificate. The format of the slave's private key can + # be either PKCS #1 or PKCS #8. + # Corresponds to the JSON property `clientKey` + # @return [String] + attr_accessor :client_key + + # This is always sql#demoteMasterMysqlReplicaConfiguration. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The password for the replication connection. + # Corresponds to the JSON property `password` + # @return [String] + attr_accessor :password + + # The username for the replication connection. + # Corresponds to the JSON property `username` + # @return [String] + attr_accessor :username + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate) + @client_certificate = args[:client_certificate] if args.key?(:client_certificate) + @client_key = args[:client_key] if args.key?(:client_key) + @kind = args[:kind] if args.key?(:kind) + @password = args[:password] if args.key?(:password) + @username = args[:username] if args.key?(:username) + end + end + # Database instance export context. class ExportContext include Google::Apis::Core::Hashable @@ -949,6 +1057,25 @@ module Google end end + # Database demote master request. + class InstancesDemoteMasterRequest + include Google::Apis::Core::Hashable + + # Database instance demote master context. + # Corresponds to the JSON property `demoteMasterContext` + # @return [Google::Apis::SqladminV1beta4::DemoteMasterContext] + attr_accessor :demote_master_context + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @demote_master_context = args[:demote_master_context] if args.key?(:demote_master_context) + end + end + # Database instance export request. class ExportInstancesRequest include Google::Apis::Core::Hashable diff --git a/generated/google/apis/sqladmin_v1beta4/representations.rb b/generated/google/apis/sqladmin_v1beta4/representations.rb index c6a7e4f6d..69112c2dc 100644 --- a/generated/google/apis/sqladmin_v1beta4/representations.rb +++ b/generated/google/apis/sqladmin_v1beta4/representations.rb @@ -88,6 +88,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class DemoteMasterConfiguration + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DemoteMasterContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DemoteMasterMySqlReplicaConfiguration + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ExportContext class Representation < Google::Apis::Core::JsonRepresentation; end @@ -142,6 +160,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class InstancesDemoteMasterRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ExportInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -471,6 +495,37 @@ module Google end end + class DemoteMasterConfiguration + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :kind, as: 'kind' + property :mysql_replica_configuration, as: 'mysqlReplicaConfiguration', class: Google::Apis::SqladminV1beta4::DemoteMasterMySqlReplicaConfiguration, decorator: Google::Apis::SqladminV1beta4::DemoteMasterMySqlReplicaConfiguration::Representation + + end + end + + class DemoteMasterContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :kind, as: 'kind' + property :master_instance_name, as: 'masterInstanceName' + property :replica_configuration, as: 'replicaConfiguration', class: Google::Apis::SqladminV1beta4::DemoteMasterConfiguration, decorator: Google::Apis::SqladminV1beta4::DemoteMasterConfiguration::Representation + + end + end + + class DemoteMasterMySqlReplicaConfiguration + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :ca_certificate, as: 'caCertificate' + property :client_certificate, as: 'clientCertificate' + property :client_key, as: 'clientKey' + property :kind, as: 'kind' + property :password, as: 'password' + property :username, as: 'username' + end + end + class ExportContext # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -560,6 +615,14 @@ module Google end end + class InstancesDemoteMasterRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :demote_master_context, as: 'demoteMasterContext', class: Google::Apis::SqladminV1beta4::DemoteMasterContext, decorator: Google::Apis::SqladminV1beta4::DemoteMasterContext::Representation + + end + end + class ExportInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/sqladmin_v1beta4/service.rb b/generated/google/apis/sqladmin_v1beta4/service.rb index e46fbeb37..352c3177f 100644 --- a/generated/google/apis/sqladmin_v1beta4/service.rb +++ b/generated/google/apis/sqladmin_v1beta4/service.rb @@ -595,6 +595,48 @@ module Google execute_or_queue_command(command, &block) end + # Demotes the standalone instance to be a read replica Cloud SQL instance of an + # on-premises master. + # @param [String] project + # ID of the project that contains the instance. + # @param [String] instance + # Cloud SQL instance name. + # @param [Google::Apis::SqladminV1beta4::InstancesDemoteMasterRequest] instances_demote_master_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::SqladminV1beta4::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::SqladminV1beta4::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 demote_instance_master(project, instance, instances_demote_master_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'projects/{project}/instances/{instance}/demoteMaster', options) + command.request_representation = Google::Apis::SqladminV1beta4::InstancesDemoteMasterRequest::Representation + command.request_object = instances_demote_master_request_object + command.response_representation = Google::Apis::SqladminV1beta4::Operation::Representation + command.response_class = Google::Apis::SqladminV1beta4::Operation + command.params['project'] = project unless project.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 + # Exports data from a Cloud SQL instance to a Google Cloud Storage bucket as a # MySQL dump file. # @param [String] project diff --git a/generated/google/apis/youtube_partner_v1.rb b/generated/google/apis/youtube_partner_v1.rb index c30f6900e..32cb90e99 100644 --- a/generated/google/apis/youtube_partner_v1.rb +++ b/generated/google/apis/youtube_partner_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/youtube/partner/ module YoutubePartnerV1 VERSION = 'V1' - REVISION = '20171009' + REVISION = '20171016' # View and manage your assets and associated content on YouTube AUTH_YOUTUBEPARTNER = 'https://www.googleapis.com/auth/youtubepartner' diff --git a/generated/google/apis/youtube_partner_v1/classes.rb b/generated/google/apis/youtube_partner_v1/classes.rb index 8ab0720c9..25257d3d6 100644 --- a/generated/google/apis/youtube_partner_v1/classes.rb +++ b/generated/google/apis/youtube_partner_v1/classes.rb @@ -2651,6 +2651,11 @@ module Google # @return [String] attr_accessor :status + # The package status reports. + # Corresponds to the JSON property `statusReports` + # @return [Array] + attr_accessor :status_reports + # The package creation time. The value is specified in RFC 3339 (YYYY-MM-DDThh: # mm:ss.000Z) format. # Corresponds to the JSON property `timeCreated` @@ -2680,6 +2685,7 @@ module Google @locale = args[:locale] if args.key?(:locale) @name = args[:name] if args.key?(:name) @status = args[:status] if args.key?(:status) + @status_reports = args[:status_reports] if args.key?(:status_reports) @time_created = args[:time_created] if args.key?(:time_created) @type = args[:type] if args.key?(:type) @uploader_name = args[:uploader_name] if args.key?(:uploader_name) @@ -3589,6 +3595,11 @@ module Google # @return [String] attr_accessor :kind + # The status of the API response. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + def initialize(**args) update!(**args) end @@ -3597,6 +3608,7 @@ module Google def update!(**args) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) + @status = args[:status] if args.key?(:status) end end @@ -3625,6 +3637,31 @@ module Google end end + # + class StatusReport + include Google::Apis::Core::Hashable + + # The content of the report message. Used only in Hybrid. + # Corresponds to the JSON property `statusContent` + # @return [String] + attr_accessor :status_content + + # Status file name. Used only in Hybrid. + # Corresponds to the JSON property `statusFileName` + # @return [String] + attr_accessor :status_file_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @status_content = args[:status_content] if args.key?(:status_content) + @status_file_name = args[:status_file_name] if args.key?(:status_file_name) + end + end + # class TerritoryCondition include Google::Apis::Core::Hashable diff --git a/generated/google/apis/youtube_partner_v1/representations.rb b/generated/google/apis/youtube_partner_v1/representations.rb index d41dc8df2..7973faadc 100644 --- a/generated/google/apis/youtube_partner_v1/representations.rb +++ b/generated/google/apis/youtube_partner_v1/representations.rb @@ -484,6 +484,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class StatusReport + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class TerritoryCondition class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1271,6 +1277,8 @@ module Google property :locale, as: 'locale' property :name, as: 'name' property :status, as: 'status' + collection :status_reports, as: 'statusReports', class: Google::Apis::YoutubePartnerV1::StatusReport, decorator: Google::Apis::YoutubePartnerV1::StatusReport::Representation + property :time_created, as: 'timeCreated', type: DateTime property :type, as: 'type' @@ -1521,6 +1529,7 @@ module Google collection :items, as: 'items', class: Google::Apis::YoutubePartnerV1::SpreadsheetTemplate, decorator: Google::Apis::YoutubePartnerV1::SpreadsheetTemplate::Representation property :kind, as: 'kind' + property :status, as: 'status' end end @@ -1532,6 +1541,14 @@ module Google end end + class StatusReport + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :status_content, as: 'statusContent' + property :status_file_name, as: 'statusFileName' + end + end + class TerritoryCondition # @private class Representation < Google::Apis::Core::JsonRepresentation