diff --git a/api_names_out.yaml b/api_names_out.yaml index ed7294e76..cde27f46e 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -4474,6 +4474,8 @@ "/alertcenter:v1beta1/SuspiciousActivitySecurityDetail/oldValue": old_value "/alertcenter:v1beta1/SuspiciousActivitySecurityDetail/resourceId": resource_id "/alertcenter:v1beta1/SuspiciousActivitySecurityDetail/serialNumber": serial_number +"/alertcenter:v1beta1/UndeleteAlertRequest": undelete_alert_request +"/alertcenter:v1beta1/UndeleteAlertRequest/customerId": customer_id "/alertcenter:v1beta1/alertcenter.alerts.delete": delete_alert "/alertcenter:v1beta1/alertcenter.alerts.delete/alertId": alert_id "/alertcenter:v1beta1/alertcenter.alerts.delete/customerId": customer_id @@ -4493,6 +4495,8 @@ "/alertcenter:v1beta1/alertcenter.alerts.list/orderBy": order_by "/alertcenter:v1beta1/alertcenter.alerts.list/pageSize": page_size "/alertcenter:v1beta1/alertcenter.alerts.list/pageToken": page_token +"/alertcenter:v1beta1/alertcenter.alerts.undelete": undelete_alert +"/alertcenter:v1beta1/alertcenter.alerts.undelete/alertId": alert_id "/alertcenter:v1beta1/fields": fields "/alertcenter:v1beta1/key": key "/alertcenter:v1beta1/quotaUser": quota_user @@ -10909,6 +10913,7 @@ "/bigquery:v2/JobStatistics2/timeline/timeline": timeline "/bigquery:v2/JobStatistics2/totalBytesBilled": total_bytes_billed "/bigquery:v2/JobStatistics2/totalBytesProcessed": total_bytes_processed +"/bigquery:v2/JobStatistics2/totalBytesProcessedAccuracy": total_bytes_processed_accuracy "/bigquery:v2/JobStatistics2/totalPartitionsProcessed": total_partitions_processed "/bigquery:v2/JobStatistics2/totalSlotMs": total_slot_ms "/bigquery:v2/JobStatistics2/undeclaredQueryParameters": undeclared_query_parameters @@ -10931,6 +10936,9 @@ "/bigquery:v2/JsonObject/json_object": json_object "/bigquery:v2/JsonValue": json_value "/bigquery:v2/Location": location +"/bigquery:v2/MaterializedViewDefinition": materialized_view_definition +"/bigquery:v2/MaterializedViewDefinition/lastRefreshTime": last_refresh_time +"/bigquery:v2/MaterializedViewDefinition/query": query "/bigquery:v2/ModelDefinition": model_definition "/bigquery:v2/ModelDefinition/modelOptions": model_options "/bigquery:v2/ModelDefinition/modelOptions/labels": labels @@ -11034,6 +11042,7 @@ "/bigquery:v2/Table/labels/label": label "/bigquery:v2/Table/lastModifiedTime": last_modified_time "/bigquery:v2/Table/location": location +"/bigquery:v2/Table/materializedView": materialized_view "/bigquery:v2/Table/model": model "/bigquery:v2/Table/numBytes": num_bytes "/bigquery:v2/Table/numLongTermBytes": num_long_term_bytes @@ -19667,6 +19676,7 @@ "/compute:alpha/BackendService/id": id "/compute:alpha/BackendService/kind": kind "/compute:alpha/BackendService/loadBalancingScheme": load_balancing_scheme +"/compute:alpha/BackendService/logConfig": log_config "/compute:alpha/BackendService/name": name "/compute:alpha/BackendService/port": port "/compute:alpha/BackendService/portName": port_name @@ -19736,6 +19746,9 @@ "/compute:alpha/BackendServiceList/warning/data/datum/key": key "/compute:alpha/BackendServiceList/warning/data/datum/value": value "/compute:alpha/BackendServiceList/warning/message": message +"/compute:alpha/BackendServiceLogConfig": backend_service_log_config +"/compute:alpha/BackendServiceLogConfig/enable": enable +"/compute:alpha/BackendServiceLogConfig/sampleRate": sample_rate "/compute:alpha/BackendServiceReference": backend_service_reference "/compute:alpha/BackendServiceReference/backendService": backend_service "/compute:alpha/BackendServicesScopedList": backend_services_scoped_list @@ -19992,6 +20005,8 @@ "/compute:alpha/DisksScopedList/warning/data/datum/key": key "/compute:alpha/DisksScopedList/warning/data/datum/value": value "/compute:alpha/DisksScopedList/warning/message": message +"/compute:alpha/DisplayDevice": display_device +"/compute:alpha/DisplayDevice/enableDisplay": enable_display "/compute:alpha/DistributionPolicy": distribution_policy "/compute:alpha/DistributionPolicy/zones": zones "/compute:alpha/DistributionPolicy/zones/zone": zone @@ -20042,6 +20057,7 @@ "/compute:alpha/Firewall/enableLogging": enable_logging "/compute:alpha/Firewall/id": id "/compute:alpha/Firewall/kind": kind +"/compute:alpha/Firewall/logConfig": log_config "/compute:alpha/Firewall/name": name "/compute:alpha/Firewall/network": network "/compute:alpha/Firewall/priority": priority @@ -20070,6 +20086,8 @@ "/compute:alpha/FirewallList/warning/data/datum/key": key "/compute:alpha/FirewallList/warning/data/datum/value": value "/compute:alpha/FirewallList/warning/message": message +"/compute:alpha/FirewallLogConfig": firewall_log_config +"/compute:alpha/FirewallLogConfig/enable": enable "/compute:alpha/FixedOrPercent": fixed_or_percent "/compute:alpha/FixedOrPercent/calculated": calculated "/compute:alpha/FixedOrPercent/fixed": fixed @@ -20491,6 +20509,7 @@ "/compute:alpha/Instance/description": description "/compute:alpha/Instance/disks": disks "/compute:alpha/Instance/disks/disk": disk +"/compute:alpha/Instance/displayDevice": display_device "/compute:alpha/Instance/guestAccelerators": guest_accelerators "/compute:alpha/Instance/guestAccelerators/guest_accelerator": guest_accelerator "/compute:alpha/Instance/host": host @@ -20704,12 +20723,17 @@ "/compute:alpha/InstanceGroupManagersApplyUpdatesRequest/instances/instance": instance "/compute:alpha/InstanceGroupManagersApplyUpdatesRequest/maximalAction": maximal_action "/compute:alpha/InstanceGroupManagersApplyUpdatesRequest/minimalAction": minimal_action +"/compute:alpha/InstanceGroupManagersCreateInstancesRequest": instance_group_managers_create_instances_request +"/compute:alpha/InstanceGroupManagersCreateInstancesRequest/instances": instances +"/compute:alpha/InstanceGroupManagersCreateInstancesRequest/instances/instance": instance "/compute:alpha/InstanceGroupManagersDeleteInstancesRequest": instance_group_managers_delete_instances_request "/compute:alpha/InstanceGroupManagersDeleteInstancesRequest/instances": instances "/compute:alpha/InstanceGroupManagersDeleteInstancesRequest/instances/instance": instance "/compute:alpha/InstanceGroupManagersDeletePerInstanceConfigsReq": instance_group_managers_delete_per_instance_configs_req "/compute:alpha/InstanceGroupManagersDeletePerInstanceConfigsReq/instances": instances "/compute:alpha/InstanceGroupManagersDeletePerInstanceConfigsReq/instances/instance": instance +"/compute:alpha/InstanceGroupManagersDeletePerInstanceConfigsReq/names": names +"/compute:alpha/InstanceGroupManagersDeletePerInstanceConfigsReq/names/name": name "/compute:alpha/InstanceGroupManagersListManagedInstancesResponse": instance_group_managers_list_managed_instances_response "/compute:alpha/InstanceGroupManagersListManagedInstancesResponse/managedInstances": managed_instances "/compute:alpha/InstanceGroupManagersListManagedInstancesResponse/managedInstances/managed_instance": managed_instance @@ -21341,6 +21365,8 @@ "/compute:alpha/ManagedInstance/instanceTemplate": instance_template "/compute:alpha/ManagedInstance/lastAttempt": last_attempt "/compute:alpha/ManagedInstance/override": override +"/compute:alpha/ManagedInstance/preservedStateFromConfig": preserved_state_from_config +"/compute:alpha/ManagedInstance/preservedStateFromPolicy": preserved_state_from_policy "/compute:alpha/ManagedInstance/standbyMode": standby_mode "/compute:alpha/ManagedInstance/tag": tag "/compute:alpha/ManagedInstance/version": version @@ -21513,6 +21539,7 @@ "/compute:alpha/NetworkList/warning/data/datum/value": value "/compute:alpha/NetworkList/warning/message": message "/compute:alpha/NetworkPeering": network_peering +"/compute:alpha/NetworkPeering/advertisePeerSubnetsViaRouters": advertise_peer_subnets_via_routers "/compute:alpha/NetworkPeering/autoCreateRoutes": auto_create_routes "/compute:alpha/NetworkPeering/exchangeSubnetRoutes": exchange_subnet_routes "/compute:alpha/NetworkPeering/exportCustomRoutes": export_custom_routes @@ -21535,6 +21562,7 @@ "/compute:alpha/NetworksUpdatePeeringRequest": networks_update_peering_request "/compute:alpha/NetworksUpdatePeeringRequest/networkPeering": network_peering "/compute:alpha/NodeGroup": node_group +"/compute:alpha/NodeGroup/autoscalingPolicy": autoscaling_policy "/compute:alpha/NodeGroup/creationTimestamp": creation_timestamp "/compute:alpha/NodeGroup/description": description "/compute:alpha/NodeGroup/id": id @@ -21561,6 +21589,9 @@ "/compute:alpha/NodeGroupAggregatedList/warning/data/datum/key": key "/compute:alpha/NodeGroupAggregatedList/warning/data/datum/value": value "/compute:alpha/NodeGroupAggregatedList/warning/message": message +"/compute:alpha/NodeGroupAutoscalingPolicy": node_group_autoscaling_policy +"/compute:alpha/NodeGroupAutoscalingPolicy/maxSize": max_size +"/compute:alpha/NodeGroupAutoscalingPolicy/minSize": min_size "/compute:alpha/NodeGroupList": node_group_list "/compute:alpha/NodeGroupList/id": id "/compute:alpha/NodeGroupList/items": items @@ -21811,7 +21842,9 @@ "/compute:alpha/PerInstanceConfig": per_instance_config "/compute:alpha/PerInstanceConfig/fingerprint": fingerprint "/compute:alpha/PerInstanceConfig/instance": instance +"/compute:alpha/PerInstanceConfig/name": name "/compute:alpha/PerInstanceConfig/override": override +"/compute:alpha/PerInstanceConfig/preservedState": preserved_state "/compute:alpha/Policy": policy "/compute:alpha/Policy/auditConfigs": audit_configs "/compute:alpha/Policy/auditConfigs/audit_config": audit_config @@ -21825,6 +21858,15 @@ "/compute:alpha/PreconfiguredWafSet": preconfigured_waf_set "/compute:alpha/PreconfiguredWafSet/expressionSets": expression_sets "/compute:alpha/PreconfiguredWafSet/expressionSets/expression_set": expression_set +"/compute:alpha/PreservedState": preserved_state +"/compute:alpha/PreservedState/disks": disks +"/compute:alpha/PreservedState/disks/disk": disk +"/compute:alpha/PreservedState/metadata": metadata +"/compute:alpha/PreservedState/metadata/metadatum": metadatum +"/compute:alpha/PreservedStatePreservedDisk": preserved_state_preserved_disk +"/compute:alpha/PreservedStatePreservedDisk/autoDelete": auto_delete +"/compute:alpha/PreservedStatePreservedDisk/mode": mode +"/compute:alpha/PreservedStatePreservedDisk/source": source "/compute:alpha/Project": project "/compute:alpha/Project/commonInstanceMetadata": common_instance_metadata "/compute:alpha/Project/creationTimestamp": creation_timestamp @@ -21931,6 +21973,8 @@ "/compute:alpha/RegionInstanceGroupManagerDeleteInstanceConfigReq": region_instance_group_manager_delete_instance_config_req "/compute:alpha/RegionInstanceGroupManagerDeleteInstanceConfigReq/instances": instances "/compute:alpha/RegionInstanceGroupManagerDeleteInstanceConfigReq/instances/instance": instance +"/compute:alpha/RegionInstanceGroupManagerDeleteInstanceConfigReq/names": names +"/compute:alpha/RegionInstanceGroupManagerDeleteInstanceConfigReq/names/name": name "/compute:alpha/RegionInstanceGroupManagerList": region_instance_group_manager_list "/compute:alpha/RegionInstanceGroupManagerList/id": id "/compute:alpha/RegionInstanceGroupManagerList/items": items @@ -22673,11 +22717,17 @@ "/compute:alpha/StatefulPolicy/preservedDisks": preserved_disks "/compute:alpha/StatefulPolicy/preservedDisks/preserved_disk": preserved_disk "/compute:alpha/StatefulPolicy/preservedResources": preserved_resources +"/compute:alpha/StatefulPolicy/preservedState": preserved_state "/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/StatefulPolicyPreservedState": stateful_policy_preserved_state +"/compute:alpha/StatefulPolicyPreservedState/disks": disks +"/compute:alpha/StatefulPolicyPreservedState/disks/disk": disk +"/compute:alpha/StatefulPolicyPreservedStateDiskDevice": stateful_policy_preserved_state_disk_device +"/compute:alpha/StatefulPolicyPreservedStateDiskDevice/autoDelete": auto_delete "/compute:alpha/Subnetwork": subnetwork "/compute:alpha/Subnetwork/aggregationInterval": aggregation_interval "/compute:alpha/Subnetwork/allowSubnetCidrRoutesOverlap": allow_subnet_cidr_routes_overlap @@ -22692,6 +22742,7 @@ "/compute:alpha/Subnetwork/ipCidrRange": ip_cidr_range "/compute:alpha/Subnetwork/ipv6CidrRange": ipv6_cidr_range "/compute:alpha/Subnetwork/kind": kind +"/compute:alpha/Subnetwork/logConfig": log_config "/compute:alpha/Subnetwork/metadata": metadata "/compute:alpha/Subnetwork/name": name "/compute:alpha/Subnetwork/network": network @@ -22731,6 +22782,11 @@ "/compute:alpha/SubnetworkList/warning/data/datum/key": key "/compute:alpha/SubnetworkList/warning/data/datum/value": value "/compute:alpha/SubnetworkList/warning/message": message +"/compute:alpha/SubnetworkLogConfig": subnetwork_log_config +"/compute:alpha/SubnetworkLogConfig/aggregationInterval": aggregation_interval +"/compute:alpha/SubnetworkLogConfig/enable": enable +"/compute:alpha/SubnetworkLogConfig/flowSampling": flow_sampling +"/compute:alpha/SubnetworkLogConfig/metadata": metadata "/compute:alpha/SubnetworkSecondaryRange": subnetwork_secondary_range "/compute:alpha/SubnetworkSecondaryRange/ipCidrRange": ip_cidr_range "/compute:alpha/SubnetworkSecondaryRange/rangeName": range_name @@ -24083,6 +24139,11 @@ "/compute:alpha/compute.instanceGroupManagers.applyUpdatesToInstances/instanceGroupManager": instance_group_manager "/compute:alpha/compute.instanceGroupManagers.applyUpdatesToInstances/project": project "/compute:alpha/compute.instanceGroupManagers.applyUpdatesToInstances/zone": zone +"/compute:alpha/compute.instanceGroupManagers.createInstances": create_instance_group_manager_instances +"/compute:alpha/compute.instanceGroupManagers.createInstances/instanceGroupManager": instance_group_manager +"/compute:alpha/compute.instanceGroupManagers.createInstances/project": project +"/compute:alpha/compute.instanceGroupManagers.createInstances/requestId": request_id +"/compute:alpha/compute.instanceGroupManagers.createInstances/zone": zone "/compute:alpha/compute.instanceGroupManagers.delete": delete_instance_group_manager "/compute:alpha/compute.instanceGroupManagers.delete/instanceGroupManager": instance_group_manager "/compute:alpha/compute.instanceGroupManagers.delete/project": project @@ -24465,6 +24526,11 @@ "/compute:alpha/compute.instances.updateAccessConfig/project": project "/compute:alpha/compute.instances.updateAccessConfig/requestId": request_id "/compute:alpha/compute.instances.updateAccessConfig/zone": zone +"/compute:alpha/compute.instances.updateDisplayDevice": update_instance_display_device +"/compute:alpha/compute.instances.updateDisplayDevice/instance": instance +"/compute:alpha/compute.instances.updateDisplayDevice/project": project +"/compute:alpha/compute.instances.updateDisplayDevice/requestId": request_id +"/compute:alpha/compute.instances.updateDisplayDevice/zone": zone "/compute:alpha/compute.instances.updateNetworkInterface": update_instance_network_interface "/compute:alpha/compute.instances.updateNetworkInterface/instance": instance "/compute:alpha/compute.instances.updateNetworkInterface/networkInterface": network_interface @@ -24923,6 +24989,44 @@ "/compute:alpha/compute.nodeTypes.list/pageToken": page_token "/compute:alpha/compute.nodeTypes.list/project": project "/compute:alpha/compute.nodeTypes.list/zone": zone +"/compute:alpha/compute.organizationSecurityPolicies.addAssociation": add_organization_security_policy_association +"/compute:alpha/compute.organizationSecurityPolicies.addAssociation/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.addAssociation/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.addRule": add_organization_security_policy_rule +"/compute:alpha/compute.organizationSecurityPolicies.addRule/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.addRule/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.delete": delete_organization_security_policy +"/compute:alpha/compute.organizationSecurityPolicies.delete/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.delete/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.get": get_organization_security_policy +"/compute:alpha/compute.organizationSecurityPolicies.get/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.getAssociation": get_organization_security_policy_association +"/compute:alpha/compute.organizationSecurityPolicies.getAssociation/name": name +"/compute:alpha/compute.organizationSecurityPolicies.getAssociation/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.getRule": get_organization_security_policy_rule +"/compute:alpha/compute.organizationSecurityPolicies.getRule/priority": priority +"/compute:alpha/compute.organizationSecurityPolicies.getRule/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.insert": insert_organization_security_policy +"/compute:alpha/compute.organizationSecurityPolicies.insert/parentId": parent_id +"/compute:alpha/compute.organizationSecurityPolicies.insert/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.list": list_organization_security_policies +"/compute:alpha/compute.organizationSecurityPolicies.list/filter": filter +"/compute:alpha/compute.organizationSecurityPolicies.list/maxResults": max_results +"/compute:alpha/compute.organizationSecurityPolicies.list/orderBy": order_by +"/compute:alpha/compute.organizationSecurityPolicies.list/pageToken": page_token +"/compute:alpha/compute.organizationSecurityPolicies.list/parentId": parent_id +"/compute:alpha/compute.organizationSecurityPolicies.patchRule": patch_organization_security_policy_rule +"/compute:alpha/compute.organizationSecurityPolicies.patchRule/priority": priority +"/compute:alpha/compute.organizationSecurityPolicies.patchRule/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.patchRule/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.removeAssociation": remove_organization_security_policy_association +"/compute:alpha/compute.organizationSecurityPolicies.removeAssociation/name": name +"/compute:alpha/compute.organizationSecurityPolicies.removeAssociation/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.removeAssociation/securityPolicy": security_policy +"/compute:alpha/compute.organizationSecurityPolicies.removeRule": remove_organization_security_policy_rule +"/compute:alpha/compute.organizationSecurityPolicies.removeRule/priority": priority +"/compute:alpha/compute.organizationSecurityPolicies.removeRule/requestId": request_id +"/compute:alpha/compute.organizationSecurityPolicies.removeRule/securityPolicy": security_policy "/compute:alpha/compute.projects.disableXpnHost": disable_project_xpn_host "/compute:alpha/compute.projects.disableXpnHost/project": project "/compute:alpha/compute.projects.disableXpnHost/requestId": request_id @@ -26270,6 +26374,73 @@ "/compute:beta/AliasIpRange": alias_ip_range "/compute:beta/AliasIpRange/ipCidrRange": ip_cidr_range "/compute:beta/AliasIpRange/subnetworkRangeName": subnetwork_range_name +"/compute:beta/Allocation": allocation +"/compute:beta/Allocation/creationTimestamp": creation_timestamp +"/compute:beta/Allocation/description": description +"/compute:beta/Allocation/id": id +"/compute:beta/Allocation/kind": kind +"/compute:beta/Allocation/name": name +"/compute:beta/Allocation/selfLink": self_link +"/compute:beta/Allocation/specificAllocation": specific_allocation +"/compute:beta/Allocation/specificAllocationRequired": specific_allocation_required +"/compute:beta/Allocation/zone": zone +"/compute:beta/AllocationAffinity": allocation_affinity +"/compute:beta/AllocationAffinity/consumeAllocationType": consume_allocation_type +"/compute:beta/AllocationAffinity/key": key +"/compute:beta/AllocationAffinity/values": values +"/compute:beta/AllocationAffinity/values/value": value +"/compute:beta/AllocationAggregatedList": allocation_aggregated_list +"/compute:beta/AllocationAggregatedList/id": id +"/compute:beta/AllocationAggregatedList/items": items +"/compute:beta/AllocationAggregatedList/items/item": item +"/compute:beta/AllocationAggregatedList/kind": kind +"/compute:beta/AllocationAggregatedList/nextPageToken": next_page_token +"/compute:beta/AllocationAggregatedList/selfLink": self_link +"/compute:beta/AllocationAggregatedList/warning": warning +"/compute:beta/AllocationAggregatedList/warning/code": code +"/compute:beta/AllocationAggregatedList/warning/data": data +"/compute:beta/AllocationAggregatedList/warning/data/datum": datum +"/compute:beta/AllocationAggregatedList/warning/data/datum/key": key +"/compute:beta/AllocationAggregatedList/warning/data/datum/value": value +"/compute:beta/AllocationAggregatedList/warning/message": message +"/compute:beta/AllocationList": allocation_list +"/compute:beta/AllocationList/id": id +"/compute:beta/AllocationList/items": items +"/compute:beta/AllocationList/items/item": item +"/compute:beta/AllocationList/kind": kind +"/compute:beta/AllocationList/nextPageToken": next_page_token +"/compute:beta/AllocationList/selfLink": self_link +"/compute:beta/AllocationList/warning": warning +"/compute:beta/AllocationList/warning/code": code +"/compute:beta/AllocationList/warning/data": data +"/compute:beta/AllocationList/warning/data/datum": datum +"/compute:beta/AllocationList/warning/data/datum/key": key +"/compute:beta/AllocationList/warning/data/datum/value": value +"/compute:beta/AllocationList/warning/message": message +"/compute:beta/AllocationSpecificSKUAllocation": allocation_specific_sku_allocation +"/compute:beta/AllocationSpecificSKUAllocation/count": count +"/compute:beta/AllocationSpecificSKUAllocation/inUseCount": in_use_count +"/compute:beta/AllocationSpecificSKUAllocation/instanceProperties": instance_properties +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties": allocation_specific_sku_allocation_allocated_instance_properties +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties/guestAccelerators": guest_accelerators +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties/guestAccelerators/guest_accelerator": guest_accelerator +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties/localSsds": local_ssds +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties/localSsds/local_ssd": local_ssd +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties/machineType": machine_type +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstanceProperties/minCpuPlatform": min_cpu_platform +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstancePropertiesAllocatedDisk": allocation_specific_sku_allocation_allocated_instance_properties_allocated_disk +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstancePropertiesAllocatedDisk/diskSizeGb": disk_size_gb +"/compute:beta/AllocationSpecificSKUAllocationAllocatedInstancePropertiesAllocatedDisk/interface": interface +"/compute:beta/AllocationsScopedList": allocations_scoped_list +"/compute:beta/AllocationsScopedList/allocations": allocations +"/compute:beta/AllocationsScopedList/allocations/allocation": allocation +"/compute:beta/AllocationsScopedList/warning": warning +"/compute:beta/AllocationsScopedList/warning/code": code +"/compute:beta/AllocationsScopedList/warning/data": data +"/compute:beta/AllocationsScopedList/warning/data/datum": datum +"/compute:beta/AllocationsScopedList/warning/data/datum/key": key +"/compute:beta/AllocationsScopedList/warning/data/datum/value": value +"/compute:beta/AllocationsScopedList/warning/message": message "/compute:beta/AttachedDisk": attached_disk "/compute:beta/AttachedDisk/autoDelete": auto_delete "/compute:beta/AttachedDisk/boot": boot @@ -26519,6 +26690,8 @@ "/compute:beta/CacheKeyPolicy/queryStringWhitelist": query_string_whitelist "/compute:beta/CacheKeyPolicy/queryStringWhitelist/query_string_whitelist": query_string_whitelist "/compute:beta/Commitment": commitment +"/compute:beta/Commitment/allocations": allocations +"/compute:beta/Commitment/allocations/allocation": allocation "/compute:beta/Commitment/creationTimestamp": creation_timestamp "/compute:beta/Commitment/description": description "/compute:beta/Commitment/endTimestamp": end_timestamp @@ -26614,6 +26787,7 @@ "/compute:beta/Disk/licenses/license": license "/compute:beta/Disk/name": name "/compute:beta/Disk/options": options +"/compute:beta/Disk/physicalBlockSizeBytes": physical_block_size_bytes "/compute:beta/Disk/region": region "/compute:beta/Disk/replicaZones": replica_zones "/compute:beta/Disk/replicaZones/replica_zone": replica_zone @@ -26738,11 +26912,33 @@ "/compute:beta/DisksScopedList/warning/data/datum/key": key "/compute:beta/DisksScopedList/warning/data/datum/value": value "/compute:beta/DisksScopedList/warning/message": message +"/compute:beta/DisplayDevice": display_device +"/compute:beta/DisplayDevice/enableDisplay": enable_display "/compute:beta/DistributionPolicy": distribution_policy "/compute:beta/DistributionPolicy/zones": zones "/compute:beta/DistributionPolicy/zones/zone": zone "/compute:beta/DistributionPolicyZoneConfiguration": distribution_policy_zone_configuration "/compute:beta/DistributionPolicyZoneConfiguration/zone": zone +"/compute:beta/ExchangedPeeringRoute": exchanged_peering_route +"/compute:beta/ExchangedPeeringRoute/destRange": dest_range +"/compute:beta/ExchangedPeeringRoute/imported": imported +"/compute:beta/ExchangedPeeringRoute/nextHopRegion": next_hop_region +"/compute:beta/ExchangedPeeringRoute/priority": priority +"/compute:beta/ExchangedPeeringRoute/type": type +"/compute:beta/ExchangedPeeringRoutesList": exchanged_peering_routes_list +"/compute:beta/ExchangedPeeringRoutesList/id": id +"/compute:beta/ExchangedPeeringRoutesList/items": items +"/compute:beta/ExchangedPeeringRoutesList/items/item": item +"/compute:beta/ExchangedPeeringRoutesList/kind": kind +"/compute:beta/ExchangedPeeringRoutesList/nextPageToken": next_page_token +"/compute:beta/ExchangedPeeringRoutesList/selfLink": self_link +"/compute:beta/ExchangedPeeringRoutesList/warning": warning +"/compute:beta/ExchangedPeeringRoutesList/warning/code": code +"/compute:beta/ExchangedPeeringRoutesList/warning/data": data +"/compute:beta/ExchangedPeeringRoutesList/warning/data/datum": datum +"/compute:beta/ExchangedPeeringRoutesList/warning/data/datum/key": key +"/compute:beta/ExchangedPeeringRoutesList/warning/data/datum/value": value +"/compute:beta/ExchangedPeeringRoutesList/warning/message": message "/compute:beta/Expr": expr "/compute:beta/Expr/description": description "/compute:beta/Expr/expression": expression @@ -26768,6 +26964,7 @@ "/compute:beta/Firewall/enableLogging": enable_logging "/compute:beta/Firewall/id": id "/compute:beta/Firewall/kind": kind +"/compute:beta/Firewall/logConfig": log_config "/compute:beta/Firewall/name": name "/compute:beta/Firewall/network": network "/compute:beta/Firewall/priority": priority @@ -26796,6 +26993,8 @@ "/compute:beta/FirewallList/warning/data/datum/key": key "/compute:beta/FirewallList/warning/data/datum/value": value "/compute:beta/FirewallList/warning/message": message +"/compute:beta/FirewallLogConfig": firewall_log_config +"/compute:beta/FirewallLogConfig/enable": enable "/compute:beta/FixedOrPercent": fixed_or_percent "/compute:beta/FixedOrPercent/calculated": calculated "/compute:beta/FixedOrPercent/fixed": fixed @@ -27071,6 +27270,7 @@ "/compute:beta/ImageList/warning/data/datum/value": value "/compute:beta/ImageList/warning/message": message "/compute:beta/Instance": instance +"/compute:beta/Instance/allocationAffinity": allocation_affinity "/compute:beta/Instance/canIpForward": can_ip_forward "/compute:beta/Instance/cpuPlatform": cpu_platform "/compute:beta/Instance/creationTimestamp": creation_timestamp @@ -27078,6 +27278,7 @@ "/compute:beta/Instance/description": description "/compute:beta/Instance/disks": disks "/compute:beta/Instance/disks/disk": disk +"/compute:beta/Instance/displayDevice": display_device "/compute:beta/Instance/guestAccelerators": guest_accelerators "/compute:beta/Instance/guestAccelerators/guest_accelerator": guest_accelerator "/compute:beta/Instance/hostname": hostname @@ -27350,6 +27551,7 @@ "/compute:beta/InstanceMoveRequest/destinationZone": destination_zone "/compute:beta/InstanceMoveRequest/targetInstance": target_instance "/compute:beta/InstanceProperties": instance_properties +"/compute:beta/InstanceProperties/allocationAffinity": allocation_affinity "/compute:beta/InstanceProperties/canIpForward": can_ip_forward "/compute:beta/InstanceProperties/description": description "/compute:beta/InstanceProperties/disks": disks @@ -27592,6 +27794,7 @@ "/compute:beta/InterconnectLocation/regionInfos": region_infos "/compute:beta/InterconnectLocation/regionInfos/region_info": region_info "/compute:beta/InterconnectLocation/selfLink": self_link +"/compute:beta/InterconnectLocation/status": status "/compute:beta/InterconnectLocationList": interconnect_location_list "/compute:beta/InterconnectLocationList/id": id "/compute:beta/InterconnectLocationList/items": items @@ -27884,6 +28087,9 @@ "/compute:beta/NetworkList/warning/message": message "/compute:beta/NetworkPeering": network_peering "/compute:beta/NetworkPeering/autoCreateRoutes": auto_create_routes +"/compute:beta/NetworkPeering/exchangeSubnetRoutes": exchange_subnet_routes +"/compute:beta/NetworkPeering/exportCustomRoutes": export_custom_routes +"/compute:beta/NetworkPeering/importCustomRoutes": import_custom_routes "/compute:beta/NetworkPeering/name": name "/compute:beta/NetworkPeering/network": network "/compute:beta/NetworkPeering/state": state @@ -27893,9 +28099,12 @@ "/compute:beta/NetworksAddPeeringRequest": networks_add_peering_request "/compute:beta/NetworksAddPeeringRequest/autoCreateRoutes": auto_create_routes "/compute:beta/NetworksAddPeeringRequest/name": name +"/compute:beta/NetworksAddPeeringRequest/networkPeering": network_peering "/compute:beta/NetworksAddPeeringRequest/peerNetwork": peer_network "/compute:beta/NetworksRemovePeeringRequest": networks_remove_peering_request "/compute:beta/NetworksRemovePeeringRequest/name": name +"/compute:beta/NetworksUpdatePeeringRequest": networks_update_peering_request +"/compute:beta/NetworksUpdatePeeringRequest/networkPeering": network_peering "/compute:beta/NodeGroup": node_group "/compute:beta/NodeGroup/creationTimestamp": creation_timestamp "/compute:beta/NodeGroup/description": description @@ -29518,6 +29727,44 @@ "/compute:beta/compute.addresses.testIamPermissions/project": project "/compute:beta/compute.addresses.testIamPermissions/region": region "/compute:beta/compute.addresses.testIamPermissions/resource": resource +"/compute:beta/compute.allocations.aggregatedList": aggregated_allocation_list +"/compute:beta/compute.allocations.aggregatedList/filter": filter +"/compute:beta/compute.allocations.aggregatedList/maxResults": max_results +"/compute:beta/compute.allocations.aggregatedList/orderBy": order_by +"/compute:beta/compute.allocations.aggregatedList/pageToken": page_token +"/compute:beta/compute.allocations.aggregatedList/project": project +"/compute:beta/compute.allocations.delete": delete_allocation +"/compute:beta/compute.allocations.delete/allocation": allocation +"/compute:beta/compute.allocations.delete/project": project +"/compute:beta/compute.allocations.delete/requestId": request_id +"/compute:beta/compute.allocations.delete/zone": zone +"/compute:beta/compute.allocations.get": get_allocation +"/compute:beta/compute.allocations.get/allocation": allocation +"/compute:beta/compute.allocations.get/project": project +"/compute:beta/compute.allocations.get/zone": zone +"/compute:beta/compute.allocations.getIamPolicy": get_allocation_iam_policy +"/compute:beta/compute.allocations.getIamPolicy/project": project +"/compute:beta/compute.allocations.getIamPolicy/resource": resource +"/compute:beta/compute.allocations.getIamPolicy/zone": zone +"/compute:beta/compute.allocations.insert": insert_allocation +"/compute:beta/compute.allocations.insert/project": project +"/compute:beta/compute.allocations.insert/requestId": request_id +"/compute:beta/compute.allocations.insert/zone": zone +"/compute:beta/compute.allocations.list": list_allocations +"/compute:beta/compute.allocations.list/filter": filter +"/compute:beta/compute.allocations.list/maxResults": max_results +"/compute:beta/compute.allocations.list/orderBy": order_by +"/compute:beta/compute.allocations.list/pageToken": page_token +"/compute:beta/compute.allocations.list/project": project +"/compute:beta/compute.allocations.list/zone": zone +"/compute:beta/compute.allocations.setIamPolicy": set_allocation_iam_policy +"/compute:beta/compute.allocations.setIamPolicy/project": project +"/compute:beta/compute.allocations.setIamPolicy/resource": resource +"/compute:beta/compute.allocations.setIamPolicy/zone": zone +"/compute:beta/compute.allocations.testIamPermissions": test_allocation_iam_permissions +"/compute:beta/compute.allocations.testIamPermissions/project": project +"/compute:beta/compute.allocations.testIamPermissions/resource": resource +"/compute:beta/compute.allocations.testIamPermissions/zone": zone "/compute:beta/compute.autoscalers.aggregatedList": list_aggregated_autoscalers "/compute:beta/compute.autoscalers.aggregatedList/filter": filter "/compute:beta/compute.autoscalers.aggregatedList/maxResults": max_results @@ -30326,6 +30573,11 @@ "/compute:beta/compute.instances.updateAccessConfig/project": project "/compute:beta/compute.instances.updateAccessConfig/requestId": request_id "/compute:beta/compute.instances.updateAccessConfig/zone": zone +"/compute:beta/compute.instances.updateDisplayDevice": update_instance_display_device +"/compute:beta/compute.instances.updateDisplayDevice/instance": instance +"/compute:beta/compute.instances.updateDisplayDevice/project": project +"/compute:beta/compute.instances.updateDisplayDevice/requestId": request_id +"/compute:beta/compute.instances.updateDisplayDevice/zone": zone "/compute:beta/compute.instances.updateNetworkInterface": update_instance_network_interface "/compute:beta/compute.instances.updateNetworkInterface/instance": instance "/compute:beta/compute.instances.updateNetworkInterface/networkInterface": network_interface @@ -30434,6 +30686,9 @@ "/compute:beta/compute.licenses.list/orderBy": order_by "/compute:beta/compute.licenses.list/pageToken": page_token "/compute:beta/compute.licenses.list/project": project +"/compute:beta/compute.licenses.setIamPolicy": set_license_iam_policy +"/compute:beta/compute.licenses.setIamPolicy/project": project +"/compute:beta/compute.licenses.setIamPolicy/resource": resource "/compute:beta/compute.machineTypes.aggregatedList": list_aggregated_machine_types "/compute:beta/compute.machineTypes.aggregatedList/filter": filter "/compute:beta/compute.machineTypes.aggregatedList/maxResults": max_results @@ -30519,6 +30774,16 @@ "/compute:beta/compute.networks.list/orderBy": order_by "/compute:beta/compute.networks.list/pageToken": page_token "/compute:beta/compute.networks.list/project": project +"/compute:beta/compute.networks.listPeeringRoutes": list_network_peering_routes +"/compute:beta/compute.networks.listPeeringRoutes/direction": direction +"/compute:beta/compute.networks.listPeeringRoutes/filter": filter +"/compute:beta/compute.networks.listPeeringRoutes/maxResults": max_results +"/compute:beta/compute.networks.listPeeringRoutes/network": network +"/compute:beta/compute.networks.listPeeringRoutes/orderBy": order_by +"/compute:beta/compute.networks.listPeeringRoutes/pageToken": page_token +"/compute:beta/compute.networks.listPeeringRoutes/peeringName": peering_name +"/compute:beta/compute.networks.listPeeringRoutes/project": project +"/compute:beta/compute.networks.listPeeringRoutes/region": region "/compute:beta/compute.networks.patch": patch_network "/compute:beta/compute.networks.patch/network": network "/compute:beta/compute.networks.patch/project": project @@ -30534,6 +30799,10 @@ "/compute:beta/compute.networks.testIamPermissions": test_network_iam_permissions "/compute:beta/compute.networks.testIamPermissions/project": project "/compute:beta/compute.networks.testIamPermissions/resource": resource +"/compute:beta/compute.networks.updatePeering": update_network_peering +"/compute:beta/compute.networks.updatePeering/network": network +"/compute:beta/compute.networks.updatePeering/project": project +"/compute:beta/compute.networks.updatePeering/requestId": request_id "/compute:beta/compute.nodeGroups.addNodes": add_node_group_nodes "/compute:beta/compute.nodeGroups.addNodes/nodeGroup": node_group "/compute:beta/compute.nodeGroups.addNodes/project": project @@ -31672,7 +31941,10 @@ "/compute:v1/Address/ipVersion": ip_version "/compute:v1/Address/kind": kind "/compute:v1/Address/name": name +"/compute:v1/Address/network": network "/compute:v1/Address/networkTier": network_tier +"/compute:v1/Address/prefixLength": prefix_length +"/compute:v1/Address/purpose": purpose "/compute:v1/Address/region": region "/compute:v1/Address/selfLink": self_link "/compute:v1/Address/status": status @@ -31745,6 +32017,18 @@ "/compute:v1/AttachedDiskInitializeParams/labels/label": label "/compute:v1/AttachedDiskInitializeParams/sourceImage": source_image "/compute:v1/AttachedDiskInitializeParams/sourceImageEncryptionKey": source_image_encryption_key +"/compute:v1/AuditConfig": audit_config +"/compute:v1/AuditConfig/auditLogConfigs": audit_log_configs +"/compute:v1/AuditConfig/auditLogConfigs/audit_log_config": audit_log_config +"/compute:v1/AuditConfig/exemptedMembers": exempted_members +"/compute:v1/AuditConfig/exemptedMembers/exempted_member": exempted_member +"/compute:v1/AuditConfig/service": service +"/compute:v1/AuditLogConfig": audit_log_config +"/compute:v1/AuditLogConfig/exemptedMembers": exempted_members +"/compute:v1/AuditLogConfig/exemptedMembers/exempted_member": exempted_member +"/compute:v1/AuditLogConfig/logType": log_type +"/compute:v1/AuthorizationLoggingOptions": authorization_logging_options +"/compute:v1/AuthorizationLoggingOptions/permissionType": permission_type "/compute:v1/Autoscaler": autoscaler "/compute:v1/Autoscaler/autoscalingPolicy": autoscaling_policy "/compute:v1/Autoscaler/creationTimestamp": creation_timestamp @@ -31931,6 +32215,11 @@ "/compute:v1/BackendServicesScopedList/warning/data/datum/key": key "/compute:v1/BackendServicesScopedList/warning/data/datum/value": value "/compute:v1/BackendServicesScopedList/warning/message": message +"/compute:v1/Binding": binding +"/compute:v1/Binding/condition": condition +"/compute:v1/Binding/members": members +"/compute:v1/Binding/members/member": member +"/compute:v1/Binding/role": role "/compute:v1/CacheInvalidationRule": cache_invalidation_rule "/compute:v1/CacheInvalidationRule/host": host "/compute:v1/CacheInvalidationRule/path": path @@ -31995,6 +32284,14 @@ "/compute:v1/CommitmentsScopedList/warning/data/datum/key": key "/compute:v1/CommitmentsScopedList/warning/data/datum/value": value "/compute:v1/CommitmentsScopedList/warning/message": message +"/compute:v1/Condition": condition +"/compute:v1/Condition/iam": iam +"/compute:v1/Condition/op": op +"/compute:v1/Condition/svc": svc +"/compute:v1/Condition/sys": sys +"/compute:v1/Condition/value": value +"/compute:v1/Condition/values": values +"/compute:v1/Condition/values/value": value "/compute:v1/ConnectionDraining": connection_draining "/compute:v1/ConnectionDraining/drainingTimeoutSec": draining_timeout_sec "/compute:v1/CustomerEncryptionKey": customer_encryption_key @@ -32029,6 +32326,7 @@ "/compute:v1/Disk/licenses/license": license "/compute:v1/Disk/name": name "/compute:v1/Disk/options": options +"/compute:v1/Disk/physicalBlockSizeBytes": physical_block_size_bytes "/compute:v1/Disk/region": region "/compute:v1/Disk/replicaZones": replica_zones "/compute:v1/Disk/replicaZones/replica_zone": replica_zone @@ -32148,6 +32446,11 @@ "/compute:v1/DistributionPolicy/zones/zone": zone "/compute:v1/DistributionPolicyZoneConfiguration": distribution_policy_zone_configuration "/compute:v1/DistributionPolicyZoneConfiguration/zone": zone +"/compute:v1/Expr": expr +"/compute:v1/Expr/description": description +"/compute:v1/Expr/expression": expression +"/compute:v1/Expr/location": location +"/compute:v1/Expr/title": title "/compute:v1/Firewall": firewall "/compute:v1/Firewall/allowed": allowed "/compute:v1/Firewall/allowed/allowed": allowed @@ -32167,6 +32470,7 @@ "/compute:v1/Firewall/disabled": disabled "/compute:v1/Firewall/id": id "/compute:v1/Firewall/kind": kind +"/compute:v1/Firewall/logConfig": log_config "/compute:v1/Firewall/name": name "/compute:v1/Firewall/network": network "/compute:v1/Firewall/priority": priority @@ -32195,6 +32499,8 @@ "/compute:v1/FirewallList/warning/data/datum/key": key "/compute:v1/FirewallList/warning/data/datum/value": value "/compute:v1/FirewallList/warning/message": message +"/compute:v1/FirewallLogConfig": firewall_log_config +"/compute:v1/FirewallLogConfig/enable": enable "/compute:v1/ForwardingRule": forwarding_rule "/compute:v1/ForwardingRule/IPAddress": ip_address "/compute:v1/ForwardingRule/IPProtocol": ip_protocol @@ -32257,6 +32563,11 @@ "/compute:v1/GlobalSetLabelsRequest/labelFingerprint": label_fingerprint "/compute:v1/GlobalSetLabelsRequest/labels": labels "/compute:v1/GlobalSetLabelsRequest/labels/label": label +"/compute:v1/GlobalSetPolicyRequest": global_set_policy_request +"/compute:v1/GlobalSetPolicyRequest/bindings": bindings +"/compute:v1/GlobalSetPolicyRequest/bindings/binding": binding +"/compute:v1/GlobalSetPolicyRequest/etag": etag +"/compute:v1/GlobalSetPolicyRequest/policy": policy "/compute:v1/GuestOsFeature": guest_os_feature "/compute:v1/GuestOsFeature/type": type "/compute:v1/HTTPHealthCheck": http_health_check @@ -32963,6 +33274,18 @@ "/compute:v1/LicensesListResponse/warning/data/datum/key": key "/compute:v1/LicensesListResponse/warning/data/datum/value": value "/compute:v1/LicensesListResponse/warning/message": message +"/compute:v1/LogConfig": log_config +"/compute:v1/LogConfig/cloudAudit": cloud_audit +"/compute:v1/LogConfig/counter": counter +"/compute:v1/LogConfig/dataAccess": data_access +"/compute:v1/LogConfigCloudAuditOptions": log_config_cloud_audit_options +"/compute:v1/LogConfigCloudAuditOptions/authorizationLoggingOptions": authorization_logging_options +"/compute:v1/LogConfigCloudAuditOptions/logName": log_name +"/compute:v1/LogConfigCounterOptions": log_config_counter_options +"/compute:v1/LogConfigCounterOptions/field": field +"/compute:v1/LogConfigCounterOptions/metric": metric +"/compute:v1/LogConfigDataAccessOptions": log_config_data_access_options +"/compute:v1/LogConfigDataAccessOptions/logMode": log_mode "/compute:v1/MachineType": machine_type "/compute:v1/MachineType/creationTimestamp": creation_timestamp "/compute:v1/MachineType/deprecated": deprecated @@ -33363,6 +33686,16 @@ "/compute:v1/PathRule/paths": paths "/compute:v1/PathRule/paths/path": path "/compute:v1/PathRule/service": service +"/compute:v1/Policy": policy +"/compute:v1/Policy/auditConfigs": audit_configs +"/compute:v1/Policy/auditConfigs/audit_config": audit_config +"/compute:v1/Policy/bindings": bindings +"/compute:v1/Policy/bindings/binding": binding +"/compute:v1/Policy/etag": etag +"/compute:v1/Policy/iamOwned": iam_owned +"/compute:v1/Policy/rules": rules +"/compute:v1/Policy/rules/rule": rule +"/compute:v1/Policy/version": version "/compute:v1/Project": project "/compute:v1/Project/commonInstanceMetadata": common_instance_metadata "/compute:v1/Project/creationTimestamp": creation_timestamp @@ -33529,6 +33862,11 @@ "/compute:v1/RegionSetLabelsRequest/labelFingerprint": label_fingerprint "/compute:v1/RegionSetLabelsRequest/labels": labels "/compute:v1/RegionSetLabelsRequest/labels/label": label +"/compute:v1/RegionSetPolicyRequest": region_set_policy_request +"/compute:v1/RegionSetPolicyRequest/bindings": bindings +"/compute:v1/RegionSetPolicyRequest/bindings/binding": binding +"/compute:v1/RegionSetPolicyRequest/etag": etag +"/compute:v1/RegionSetPolicyRequest/policy": policy "/compute:v1/ResourceCommitment": resource_commitment "/compute:v1/ResourceCommitment/amount": amount "/compute:v1/ResourceCommitment/type": type @@ -33713,6 +34051,19 @@ "/compute:v1/RoutersScopedList/warning/data/datum/key": key "/compute:v1/RoutersScopedList/warning/data/datum/value": value "/compute:v1/RoutersScopedList/warning/message": message +"/compute:v1/Rule": rule +"/compute:v1/Rule/action": action +"/compute:v1/Rule/conditions": conditions +"/compute:v1/Rule/conditions/condition": condition +"/compute:v1/Rule/description": description +"/compute:v1/Rule/ins": ins +"/compute:v1/Rule/ins/in": in +"/compute:v1/Rule/logConfigs": log_configs +"/compute:v1/Rule/logConfigs/log_config": log_config +"/compute:v1/Rule/notIns": not_ins +"/compute:v1/Rule/notIns/not_in": not_in +"/compute:v1/Rule/permissions": permissions +"/compute:v1/Rule/permissions/permission": permission "/compute:v1/SSLHealthCheck": ssl_health_check "/compute:v1/SSLHealthCheck/port": port "/compute:v1/SSLHealthCheck/portName": port_name @@ -34452,6 +34803,11 @@ "/compute:v1/ZoneSetLabelsRequest/labelFingerprint": label_fingerprint "/compute:v1/ZoneSetLabelsRequest/labels": labels "/compute:v1/ZoneSetLabelsRequest/labels/label": label +"/compute:v1/ZoneSetPolicyRequest": zone_set_policy_request +"/compute:v1/ZoneSetPolicyRequest/bindings": bindings +"/compute:v1/ZoneSetPolicyRequest/bindings/binding": binding +"/compute:v1/ZoneSetPolicyRequest/etag": etag +"/compute:v1/ZoneSetPolicyRequest/policy": policy "/compute:v1/compute.acceleratorTypes.aggregatedList": aggregated_accelerator_type_list "/compute:v1/compute.acceleratorTypes.aggregatedList/filter": filter "/compute:v1/compute.acceleratorTypes.aggregatedList/maxResults": max_results @@ -34648,6 +35004,10 @@ "/compute:v1/compute.disks.get/disk": disk "/compute:v1/compute.disks.get/project": project "/compute:v1/compute.disks.get/zone": zone +"/compute:v1/compute.disks.getIamPolicy": get_disk_iam_policy +"/compute:v1/compute.disks.getIamPolicy/project": project +"/compute:v1/compute.disks.getIamPolicy/resource": resource +"/compute:v1/compute.disks.getIamPolicy/zone": zone "/compute:v1/compute.disks.insert": insert_disk "/compute:v1/compute.disks.insert/project": project "/compute:v1/compute.disks.insert/requestId": request_id @@ -34665,11 +35025,19 @@ "/compute:v1/compute.disks.resize/project": project "/compute:v1/compute.disks.resize/requestId": request_id "/compute:v1/compute.disks.resize/zone": zone +"/compute:v1/compute.disks.setIamPolicy": set_disk_iam_policy +"/compute:v1/compute.disks.setIamPolicy/project": project +"/compute:v1/compute.disks.setIamPolicy/resource": resource +"/compute:v1/compute.disks.setIamPolicy/zone": zone "/compute:v1/compute.disks.setLabels": set_disk_labels "/compute:v1/compute.disks.setLabels/project": project "/compute:v1/compute.disks.setLabels/requestId": request_id "/compute:v1/compute.disks.setLabels/resource": resource "/compute:v1/compute.disks.setLabels/zone": zone +"/compute:v1/compute.disks.testIamPermissions": test_disk_iam_permissions +"/compute:v1/compute.disks.testIamPermissions/project": project +"/compute:v1/compute.disks.testIamPermissions/resource": resource +"/compute:v1/compute.disks.testIamPermissions/zone": zone "/compute:v1/compute.firewalls.delete": delete_firewall "/compute:v1/compute.firewalls.delete/firewall": firewall "/compute:v1/compute.firewalls.delete/project": project @@ -34865,6 +35233,9 @@ "/compute:v1/compute.images.getFromFamily": get_image_from_family "/compute:v1/compute.images.getFromFamily/family": family "/compute:v1/compute.images.getFromFamily/project": project +"/compute:v1/compute.images.getIamPolicy": get_image_iam_policy +"/compute:v1/compute.images.getIamPolicy/project": project +"/compute:v1/compute.images.getIamPolicy/resource": resource "/compute:v1/compute.images.insert": insert_image "/compute:v1/compute.images.insert/forceCreate": force_create "/compute:v1/compute.images.insert/project": project @@ -34875,9 +35246,15 @@ "/compute:v1/compute.images.list/orderBy": order_by "/compute:v1/compute.images.list/pageToken": page_token "/compute:v1/compute.images.list/project": project +"/compute:v1/compute.images.setIamPolicy": set_image_iam_policy +"/compute:v1/compute.images.setIamPolicy/project": project +"/compute:v1/compute.images.setIamPolicy/resource": resource "/compute:v1/compute.images.setLabels": set_image_labels "/compute:v1/compute.images.setLabels/project": project "/compute:v1/compute.images.setLabels/resource": resource +"/compute:v1/compute.images.testIamPermissions": test_image_iam_permissions +"/compute:v1/compute.images.testIamPermissions/project": project +"/compute:v1/compute.images.testIamPermissions/resource": resource "/compute:v1/compute.instanceGroupManagers.abandonInstances": abandon_instance_group_manager_instances "/compute:v1/compute.instanceGroupManagers.abandonInstances/instanceGroupManager": instance_group_manager "/compute:v1/compute.instanceGroupManagers.abandonInstances/project": project @@ -34922,6 +35299,11 @@ "/compute:v1/compute.instanceGroupManagers.listManagedInstances/pageToken": page_token "/compute:v1/compute.instanceGroupManagers.listManagedInstances/project": project "/compute:v1/compute.instanceGroupManagers.listManagedInstances/zone": zone +"/compute:v1/compute.instanceGroupManagers.patch": patch_instance_group_manager +"/compute:v1/compute.instanceGroupManagers.patch/instanceGroupManager": instance_group_manager +"/compute:v1/compute.instanceGroupManagers.patch/project": project +"/compute:v1/compute.instanceGroupManagers.patch/requestId": request_id +"/compute:v1/compute.instanceGroupManagers.patch/zone": zone "/compute:v1/compute.instanceGroupManagers.recreateInstances": recreate_instance_group_manager_instances "/compute:v1/compute.instanceGroupManagers.recreateInstances/instanceGroupManager": instance_group_manager "/compute:v1/compute.instanceGroupManagers.recreateInstances/project": project @@ -34999,6 +35381,9 @@ "/compute:v1/compute.instanceTemplates.get": get_instance_template "/compute:v1/compute.instanceTemplates.get/instanceTemplate": instance_template "/compute:v1/compute.instanceTemplates.get/project": project +"/compute:v1/compute.instanceTemplates.getIamPolicy": get_instance_template_iam_policy +"/compute:v1/compute.instanceTemplates.getIamPolicy/project": project +"/compute:v1/compute.instanceTemplates.getIamPolicy/resource": resource "/compute:v1/compute.instanceTemplates.insert": insert_instance_template "/compute:v1/compute.instanceTemplates.insert/project": project "/compute:v1/compute.instanceTemplates.insert/requestId": request_id @@ -35008,6 +35393,12 @@ "/compute:v1/compute.instanceTemplates.list/orderBy": order_by "/compute:v1/compute.instanceTemplates.list/pageToken": page_token "/compute:v1/compute.instanceTemplates.list/project": project +"/compute:v1/compute.instanceTemplates.setIamPolicy": set_instance_template_iam_policy +"/compute:v1/compute.instanceTemplates.setIamPolicy/project": project +"/compute:v1/compute.instanceTemplates.setIamPolicy/resource": resource +"/compute:v1/compute.instanceTemplates.testIamPermissions": test_instance_template_iam_permissions +"/compute:v1/compute.instanceTemplates.testIamPermissions/project": project +"/compute:v1/compute.instanceTemplates.testIamPermissions/resource": resource "/compute:v1/compute.instances.addAccessConfig": add_instance_access_config "/compute:v1/compute.instances.addAccessConfig/instance": instance "/compute:v1/compute.instances.addAccessConfig/networkInterface": network_interface @@ -35048,6 +35439,10 @@ "/compute:v1/compute.instances.get/instance": instance "/compute:v1/compute.instances.get/project": project "/compute:v1/compute.instances.get/zone": zone +"/compute:v1/compute.instances.getIamPolicy": get_instance_iam_policy +"/compute:v1/compute.instances.getIamPolicy/project": project +"/compute:v1/compute.instances.getIamPolicy/resource": resource +"/compute:v1/compute.instances.getIamPolicy/zone": zone "/compute:v1/compute.instances.getSerialPortOutput": get_instance_serial_port_output "/compute:v1/compute.instances.getSerialPortOutput/instance": instance "/compute:v1/compute.instances.getSerialPortOutput/port": port @@ -35092,6 +35487,10 @@ "/compute:v1/compute.instances.setDiskAutoDelete/project": project "/compute:v1/compute.instances.setDiskAutoDelete/requestId": request_id "/compute:v1/compute.instances.setDiskAutoDelete/zone": zone +"/compute:v1/compute.instances.setIamPolicy": set_instance_iam_policy +"/compute:v1/compute.instances.setIamPolicy/project": project +"/compute:v1/compute.instances.setIamPolicy/resource": resource +"/compute:v1/compute.instances.setIamPolicy/zone": zone "/compute:v1/compute.instances.setLabels": set_instance_labels "/compute:v1/compute.instances.setLabels/instance": instance "/compute:v1/compute.instances.setLabels/project": project @@ -35151,6 +35550,10 @@ "/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.instances.testIamPermissions": test_instance_iam_permissions +"/compute:v1/compute.instances.testIamPermissions/project": project +"/compute:v1/compute.instances.testIamPermissions/resource": resource +"/compute:v1/compute.instances.testIamPermissions/zone": zone "/compute:v1/compute.instances.updateAccessConfig": update_instance_access_config "/compute:v1/compute.instances.updateAccessConfig/instance": instance "/compute:v1/compute.instances.updateAccessConfig/networkInterface": network_interface @@ -35239,6 +35642,9 @@ "/compute:v1/compute.licenses.get": get_license "/compute:v1/compute.licenses.get/license": license "/compute:v1/compute.licenses.get/project": project +"/compute:v1/compute.licenses.getIamPolicy": get_license_iam_policy +"/compute:v1/compute.licenses.getIamPolicy/project": project +"/compute:v1/compute.licenses.getIamPolicy/resource": resource "/compute:v1/compute.licenses.insert": insert_license "/compute:v1/compute.licenses.insert/project": project "/compute:v1/compute.licenses.insert/requestId": request_id @@ -35248,6 +35654,9 @@ "/compute:v1/compute.licenses.list/orderBy": order_by "/compute:v1/compute.licenses.list/pageToken": page_token "/compute:v1/compute.licenses.list/project": project +"/compute:v1/compute.licenses.setIamPolicy": set_license_iam_policy +"/compute:v1/compute.licenses.setIamPolicy/project": project +"/compute:v1/compute.licenses.setIamPolicy/resource": resource "/compute:v1/compute.licenses.testIamPermissions": test_license_iam_permissions "/compute:v1/compute.licenses.testIamPermissions/project": project "/compute:v1/compute.licenses.testIamPermissions/resource": resource @@ -35325,6 +35734,10 @@ "/compute:v1/compute.nodeGroups.get/nodeGroup": node_group "/compute:v1/compute.nodeGroups.get/project": project "/compute:v1/compute.nodeGroups.get/zone": zone +"/compute:v1/compute.nodeGroups.getIamPolicy": get_node_group_iam_policy +"/compute:v1/compute.nodeGroups.getIamPolicy/project": project +"/compute:v1/compute.nodeGroups.getIamPolicy/resource": resource +"/compute:v1/compute.nodeGroups.getIamPolicy/zone": zone "/compute:v1/compute.nodeGroups.insert": insert_node_group "/compute:v1/compute.nodeGroups.insert/initialNodeCount": initial_node_count "/compute:v1/compute.nodeGroups.insert/project": project @@ -35345,11 +35758,19 @@ "/compute:v1/compute.nodeGroups.listNodes/pageToken": page_token "/compute:v1/compute.nodeGroups.listNodes/project": project "/compute:v1/compute.nodeGroups.listNodes/zone": zone +"/compute:v1/compute.nodeGroups.setIamPolicy": set_node_group_iam_policy +"/compute:v1/compute.nodeGroups.setIamPolicy/project": project +"/compute:v1/compute.nodeGroups.setIamPolicy/resource": resource +"/compute:v1/compute.nodeGroups.setIamPolicy/zone": zone "/compute:v1/compute.nodeGroups.setNodeTemplate": set_node_group_node_template "/compute:v1/compute.nodeGroups.setNodeTemplate/nodeGroup": node_group "/compute:v1/compute.nodeGroups.setNodeTemplate/project": project "/compute:v1/compute.nodeGroups.setNodeTemplate/requestId": request_id "/compute:v1/compute.nodeGroups.setNodeTemplate/zone": zone +"/compute:v1/compute.nodeGroups.testIamPermissions": test_node_group_iam_permissions +"/compute:v1/compute.nodeGroups.testIamPermissions/project": project +"/compute:v1/compute.nodeGroups.testIamPermissions/resource": resource +"/compute:v1/compute.nodeGroups.testIamPermissions/zone": zone "/compute:v1/compute.nodeTemplates.aggregatedList": aggregated_node_template_list "/compute:v1/compute.nodeTemplates.aggregatedList/filter": filter "/compute:v1/compute.nodeTemplates.aggregatedList/maxResults": max_results @@ -35365,6 +35786,10 @@ "/compute:v1/compute.nodeTemplates.get/nodeTemplate": node_template "/compute:v1/compute.nodeTemplates.get/project": project "/compute:v1/compute.nodeTemplates.get/region": region +"/compute:v1/compute.nodeTemplates.getIamPolicy": get_node_template_iam_policy +"/compute:v1/compute.nodeTemplates.getIamPolicy/project": project +"/compute:v1/compute.nodeTemplates.getIamPolicy/region": region +"/compute:v1/compute.nodeTemplates.getIamPolicy/resource": resource "/compute:v1/compute.nodeTemplates.insert": insert_node_template "/compute:v1/compute.nodeTemplates.insert/project": project "/compute:v1/compute.nodeTemplates.insert/region": region @@ -35376,6 +35801,14 @@ "/compute:v1/compute.nodeTemplates.list/pageToken": page_token "/compute:v1/compute.nodeTemplates.list/project": project "/compute:v1/compute.nodeTemplates.list/region": region +"/compute:v1/compute.nodeTemplates.setIamPolicy": set_node_template_iam_policy +"/compute:v1/compute.nodeTemplates.setIamPolicy/project": project +"/compute:v1/compute.nodeTemplates.setIamPolicy/region": region +"/compute:v1/compute.nodeTemplates.setIamPolicy/resource": resource +"/compute:v1/compute.nodeTemplates.testIamPermissions": test_node_template_iam_permissions +"/compute:v1/compute.nodeTemplates.testIamPermissions/project": project +"/compute:v1/compute.nodeTemplates.testIamPermissions/region": region +"/compute:v1/compute.nodeTemplates.testIamPermissions/resource": resource "/compute:v1/compute.nodeTypes.aggregatedList": aggregated_node_type_list "/compute:v1/compute.nodeTypes.aggregatedList/filter": filter "/compute:v1/compute.nodeTypes.aggregatedList/maxResults": max_results @@ -35610,6 +36043,11 @@ "/compute:v1/compute.regionInstanceGroupManagers.listManagedInstances/pageToken": page_token "/compute:v1/compute.regionInstanceGroupManagers.listManagedInstances/project": project "/compute:v1/compute.regionInstanceGroupManagers.listManagedInstances/region": region +"/compute:v1/compute.regionInstanceGroupManagers.patch": patch_region_instance_group_manager +"/compute:v1/compute.regionInstanceGroupManagers.patch/instanceGroupManager": instance_group_manager +"/compute:v1/compute.regionInstanceGroupManagers.patch/project": project +"/compute:v1/compute.regionInstanceGroupManagers.patch/region": region +"/compute:v1/compute.regionInstanceGroupManagers.patch/requestId": request_id "/compute:v1/compute.regionInstanceGroupManagers.recreateInstances": recreate_region_instance_group_manager_instances "/compute:v1/compute.regionInstanceGroupManagers.recreateInstances/instanceGroupManager": instance_group_manager "/compute:v1/compute.regionInstanceGroupManagers.recreateInstances/project": project @@ -35789,15 +36227,24 @@ "/compute:v1/compute.snapshots.get": get_snapshot "/compute:v1/compute.snapshots.get/project": project "/compute:v1/compute.snapshots.get/snapshot": snapshot +"/compute:v1/compute.snapshots.getIamPolicy": get_snapshot_iam_policy +"/compute:v1/compute.snapshots.getIamPolicy/project": project +"/compute:v1/compute.snapshots.getIamPolicy/resource": resource "/compute:v1/compute.snapshots.list": list_snapshots "/compute:v1/compute.snapshots.list/filter": filter "/compute:v1/compute.snapshots.list/maxResults": max_results "/compute:v1/compute.snapshots.list/orderBy": order_by "/compute:v1/compute.snapshots.list/pageToken": page_token "/compute:v1/compute.snapshots.list/project": project +"/compute:v1/compute.snapshots.setIamPolicy": set_snapshot_iam_policy +"/compute:v1/compute.snapshots.setIamPolicy/project": project +"/compute:v1/compute.snapshots.setIamPolicy/resource": resource "/compute:v1/compute.snapshots.setLabels": set_snapshot_labels "/compute:v1/compute.snapshots.setLabels/project": project "/compute:v1/compute.snapshots.setLabels/resource": resource +"/compute:v1/compute.snapshots.testIamPermissions": test_snapshot_iam_permissions +"/compute:v1/compute.snapshots.testIamPermissions/project": project +"/compute:v1/compute.snapshots.testIamPermissions/resource": resource "/compute:v1/compute.sslCertificates.delete": delete_ssl_certificate "/compute:v1/compute.sslCertificates.delete/project": project "/compute:v1/compute.sslCertificates.delete/requestId": request_id @@ -35860,6 +36307,10 @@ "/compute:v1/compute.subnetworks.get/project": project "/compute:v1/compute.subnetworks.get/region": region "/compute:v1/compute.subnetworks.get/subnetwork": subnetwork +"/compute:v1/compute.subnetworks.getIamPolicy": get_subnetwork_iam_policy +"/compute:v1/compute.subnetworks.getIamPolicy/project": project +"/compute:v1/compute.subnetworks.getIamPolicy/region": region +"/compute:v1/compute.subnetworks.getIamPolicy/resource": resource "/compute:v1/compute.subnetworks.insert": insert_subnetwork "/compute:v1/compute.subnetworks.insert/project": project "/compute:v1/compute.subnetworks.insert/region": region @@ -35882,11 +36333,19 @@ "/compute:v1/compute.subnetworks.patch/region": region "/compute:v1/compute.subnetworks.patch/requestId": request_id "/compute:v1/compute.subnetworks.patch/subnetwork": subnetwork +"/compute:v1/compute.subnetworks.setIamPolicy": set_subnetwork_iam_policy +"/compute:v1/compute.subnetworks.setIamPolicy/project": project +"/compute:v1/compute.subnetworks.setIamPolicy/region": region +"/compute:v1/compute.subnetworks.setIamPolicy/resource": resource "/compute:v1/compute.subnetworks.setPrivateIpGoogleAccess": set_subnetwork_private_ip_google_access "/compute:v1/compute.subnetworks.setPrivateIpGoogleAccess/project": project "/compute:v1/compute.subnetworks.setPrivateIpGoogleAccess/region": region "/compute:v1/compute.subnetworks.setPrivateIpGoogleAccess/requestId": request_id "/compute:v1/compute.subnetworks.setPrivateIpGoogleAccess/subnetwork": subnetwork +"/compute:v1/compute.subnetworks.testIamPermissions": test_subnetwork_iam_permissions +"/compute:v1/compute.subnetworks.testIamPermissions/project": project +"/compute:v1/compute.subnetworks.testIamPermissions/region": region +"/compute:v1/compute.subnetworks.testIamPermissions/resource": resource "/compute:v1/compute.targetHttpProxies.delete": delete_target_http_proxy "/compute:v1/compute.targetHttpProxies.delete/project": project "/compute:v1/compute.targetHttpProxies.delete/requestId": request_id @@ -36897,13 +37356,17 @@ "/container:v1beta1/AcceleratorConfig/acceleratorCount": accelerator_count "/container:v1beta1/AcceleratorConfig/acceleratorType": accelerator_type "/container:v1beta1/AddonsConfig": addons_config +"/container:v1beta1/AddonsConfig/cloudRunConfig": cloud_run_config "/container:v1beta1/AddonsConfig/horizontalPodAutoscaling": horizontal_pod_autoscaling "/container:v1beta1/AddonsConfig/httpLoadBalancing": http_load_balancing +"/container:v1beta1/AddonsConfig/istioConfig": istio_config "/container:v1beta1/AddonsConfig/kubernetesDashboard": kubernetes_dashboard "/container:v1beta1/AddonsConfig/networkPolicyConfig": network_policy_config "/container:v1beta1/AutoUpgradeOptions": auto_upgrade_options "/container:v1beta1/AutoUpgradeOptions/autoUpgradeStartTime": auto_upgrade_start_time "/container:v1beta1/AutoUpgradeOptions/description": description +"/container:v1beta1/BigQueryDestination": big_query_destination +"/container:v1beta1/BigQueryDestination/datasetId": dataset_id "/container:v1beta1/BinaryAuthorization": binary_authorization "/container:v1beta1/BinaryAuthorization/enabled": enabled "/container:v1beta1/CancelOperationRequest": cancel_operation_request @@ -36916,6 +37379,8 @@ "/container:v1beta1/CidrBlock/displayName": display_name "/container:v1beta1/ClientCertificateConfig": client_certificate_config "/container:v1beta1/ClientCertificateConfig/issueClientCertificate": issue_client_certificate +"/container:v1beta1/CloudRunConfig": cloud_run_config +"/container:v1beta1/CloudRunConfig/disabled": disabled "/container:v1beta1/Cluster": cluster "/container:v1beta1/Cluster/addonsConfig": addons_config "/container:v1beta1/Cluster/autoscaling": autoscaling @@ -36962,6 +37427,7 @@ "/container:v1beta1/Cluster/privateClusterConfig": private_cluster_config "/container:v1beta1/Cluster/resourceLabels": resource_labels "/container:v1beta1/Cluster/resourceLabels/resource_label": resource_label +"/container:v1beta1/Cluster/resourceUsageExportConfig": resource_usage_export_config "/container:v1beta1/Cluster/selfLink": self_link "/container:v1beta1/Cluster/servicesIpv4Cidr": services_ipv4_cidr "/container:v1beta1/Cluster/status": status @@ -36989,6 +37455,7 @@ "/container:v1beta1/ClusterUpdate/desiredNodePoolId": desired_node_pool_id "/container:v1beta1/ClusterUpdate/desiredNodeVersion": desired_node_version "/container:v1beta1/ClusterUpdate/desiredPodSecurityPolicyConfig": desired_pod_security_policy_config +"/container:v1beta1/ClusterUpdate/desiredResourceUsageExportConfig": desired_resource_usage_export_config "/container:v1beta1/ClusterUpdate/desiredVerticalPodAutoscaling": desired_vertical_pod_autoscaling "/container:v1beta1/CompleteIPRotationRequest": complete_ip_rotation_request "/container:v1beta1/CompleteIPRotationRequest/clusterId": cluster_id @@ -37046,6 +37513,9 @@ "/container:v1beta1/IPAllocationPolicy/subnetworkName": subnetwork_name "/container:v1beta1/IPAllocationPolicy/tpuIpv4CidrBlock": tpu_ipv4_cidr_block "/container:v1beta1/IPAllocationPolicy/useIpAliases": use_ip_aliases +"/container:v1beta1/IstioConfig": istio_config +"/container:v1beta1/IstioConfig/auth": auth +"/container:v1beta1/IstioConfig/disabled": disabled "/container:v1beta1/KubernetesDashboard": kubernetes_dashboard "/container:v1beta1/KubernetesDashboard/disabled": disabled "/container:v1beta1/LegacyAbac": legacy_abac @@ -37191,6 +37661,9 @@ "/container:v1beta1/ResourceLimit/maximum": maximum "/container:v1beta1/ResourceLimit/minimum": minimum "/container:v1beta1/ResourceLimit/resourceType": resource_type +"/container:v1beta1/ResourceUsageExportConfig": resource_usage_export_config +"/container:v1beta1/ResourceUsageExportConfig/bigqueryDestination": bigquery_destination +"/container:v1beta1/ResourceUsageExportConfig/enableNetworkEgressMetering": enable_network_egress_metering "/container:v1beta1/RollbackNodePoolUpgradeRequest": rollback_node_pool_upgrade_request "/container:v1beta1/RollbackNodePoolUpgradeRequest/clusterId": cluster_id "/container:v1beta1/RollbackNodePoolUpgradeRequest/name": name @@ -66669,7 +67142,95 @@ "/firebaserules:v1/firebaserules.projects.test/name": name "/firebaserules:v1/key": key "/firebaserules:v1/quotaUser": quota_user +"/firestore:v1/ArrayValue": array_value +"/firestore:v1/ArrayValue/values": values +"/firestore:v1/ArrayValue/values/value": value +"/firestore:v1/BatchGetDocumentsRequest": batch_get_documents_request +"/firestore:v1/BatchGetDocumentsRequest/documents": documents +"/firestore:v1/BatchGetDocumentsRequest/documents/document": document +"/firestore:v1/BatchGetDocumentsRequest/mask": mask +"/firestore:v1/BatchGetDocumentsRequest/newTransaction": new_transaction +"/firestore:v1/BatchGetDocumentsRequest/readTime": read_time +"/firestore:v1/BatchGetDocumentsRequest/transaction": transaction +"/firestore:v1/BatchGetDocumentsResponse": batch_get_documents_response +"/firestore:v1/BatchGetDocumentsResponse/found": found +"/firestore:v1/BatchGetDocumentsResponse/missing": missing +"/firestore:v1/BatchGetDocumentsResponse/readTime": read_time +"/firestore:v1/BatchGetDocumentsResponse/transaction": transaction +"/firestore:v1/BeginTransactionRequest": begin_transaction_request +"/firestore:v1/BeginTransactionRequest/options": options +"/firestore:v1/BeginTransactionResponse": begin_transaction_response +"/firestore:v1/BeginTransactionResponse/transaction": transaction +"/firestore:v1/CollectionSelector": collection_selector +"/firestore:v1/CollectionSelector/allDescendants": all_descendants +"/firestore:v1/CollectionSelector/collectionId": collection_id +"/firestore:v1/CommitRequest": commit_request +"/firestore:v1/CommitRequest/transaction": transaction +"/firestore:v1/CommitRequest/writes": writes +"/firestore:v1/CommitRequest/writes/write": write +"/firestore:v1/CommitResponse": commit_response +"/firestore:v1/CommitResponse/commitTime": commit_time +"/firestore:v1/CommitResponse/writeResults": write_results +"/firestore:v1/CommitResponse/writeResults/write_result": write_result +"/firestore:v1/CompositeFilter": composite_filter +"/firestore:v1/CompositeFilter/filters": filters +"/firestore:v1/CompositeFilter/filters/filter": filter +"/firestore:v1/CompositeFilter/op": op +"/firestore:v1/Cursor": cursor +"/firestore:v1/Cursor/before": before +"/firestore:v1/Cursor/values": values +"/firestore:v1/Cursor/values/value": value +"/firestore:v1/Document": document +"/firestore:v1/Document/createTime": create_time +"/firestore:v1/Document/fields": fields +"/firestore:v1/Document/fields/field": field +"/firestore:v1/Document/name": name +"/firestore:v1/Document/updateTime": update_time +"/firestore:v1/DocumentChange": document_change +"/firestore:v1/DocumentChange/document": document +"/firestore:v1/DocumentChange/removedTargetIds": removed_target_ids +"/firestore:v1/DocumentChange/removedTargetIds/removed_target_id": removed_target_id +"/firestore:v1/DocumentChange/targetIds": target_ids +"/firestore:v1/DocumentChange/targetIds/target_id": target_id +"/firestore:v1/DocumentDelete": document_delete +"/firestore:v1/DocumentDelete/document": document +"/firestore:v1/DocumentDelete/readTime": read_time +"/firestore:v1/DocumentDelete/removedTargetIds": removed_target_ids +"/firestore:v1/DocumentDelete/removedTargetIds/removed_target_id": removed_target_id +"/firestore:v1/DocumentMask": document_mask +"/firestore:v1/DocumentMask/fieldPaths": field_paths +"/firestore:v1/DocumentMask/fieldPaths/field_path": field_path +"/firestore:v1/DocumentRemove": document_remove +"/firestore:v1/DocumentRemove/document": document +"/firestore:v1/DocumentRemove/readTime": read_time +"/firestore:v1/DocumentRemove/removedTargetIds": removed_target_ids +"/firestore:v1/DocumentRemove/removedTargetIds/removed_target_id": removed_target_id +"/firestore:v1/DocumentTransform": document_transform +"/firestore:v1/DocumentTransform/document": document +"/firestore:v1/DocumentTransform/fieldTransforms": field_transforms +"/firestore:v1/DocumentTransform/fieldTransforms/field_transform": field_transform +"/firestore:v1/DocumentsTarget": documents_target +"/firestore:v1/DocumentsTarget/documents": documents +"/firestore:v1/DocumentsTarget/documents/document": document "/firestore:v1/Empty": empty +"/firestore:v1/ExistenceFilter": existence_filter +"/firestore:v1/ExistenceFilter/count": count +"/firestore:v1/ExistenceFilter/targetId": target_id +"/firestore:v1/FieldFilter": field_filter +"/firestore:v1/FieldFilter/field": field +"/firestore:v1/FieldFilter/op": op +"/firestore:v1/FieldFilter/value": value +"/firestore:v1/FieldReference": field_reference +"/firestore:v1/FieldReference/fieldPath": field_path +"/firestore:v1/FieldTransform": field_transform +"/firestore:v1/FieldTransform/appendMissingElements": append_missing_elements +"/firestore:v1/FieldTransform/fieldPath": field_path +"/firestore:v1/FieldTransform/removeAllFromArray": remove_all_from_array +"/firestore:v1/FieldTransform/setToServerValue": set_to_server_value +"/firestore:v1/Filter": filter +"/firestore:v1/Filter/compositeFilter": composite_filter +"/firestore:v1/Filter/fieldFilter": field_filter +"/firestore:v1/Filter/unaryFilter": unary_filter "/firestore:v1/GoogleFirestoreAdminV1ExportDocumentsMetadata": google_firestore_admin_v1_export_documents_metadata "/firestore:v1/GoogleFirestoreAdminV1ExportDocumentsMetadata/collectionIds": collection_ids "/firestore:v1/GoogleFirestoreAdminV1ExportDocumentsMetadata/collectionIds/collection_id": collection_id @@ -66761,10 +67322,35 @@ "/firestore:v1/GoogleLongrunningOperation/name": name "/firestore:v1/GoogleLongrunningOperation/response": response "/firestore:v1/GoogleLongrunningOperation/response/response": response +"/firestore:v1/LatLng": lat_lng +"/firestore:v1/LatLng/latitude": latitude +"/firestore:v1/LatLng/longitude": longitude +"/firestore:v1/ListCollectionIdsRequest": list_collection_ids_request +"/firestore:v1/ListCollectionIdsRequest/pageSize": page_size +"/firestore:v1/ListCollectionIdsRequest/pageToken": page_token +"/firestore:v1/ListCollectionIdsResponse": list_collection_ids_response +"/firestore:v1/ListCollectionIdsResponse/collectionIds": collection_ids +"/firestore:v1/ListCollectionIdsResponse/collectionIds/collection_id": collection_id +"/firestore:v1/ListCollectionIdsResponse/nextPageToken": next_page_token +"/firestore:v1/ListDocumentsResponse": list_documents_response +"/firestore:v1/ListDocumentsResponse/documents": documents +"/firestore:v1/ListDocumentsResponse/documents/document": document +"/firestore:v1/ListDocumentsResponse/nextPageToken": next_page_token "/firestore:v1/ListLocationsResponse": list_locations_response "/firestore:v1/ListLocationsResponse/locations": locations "/firestore:v1/ListLocationsResponse/locations/location": location "/firestore:v1/ListLocationsResponse/nextPageToken": next_page_token +"/firestore:v1/ListenRequest": listen_request +"/firestore:v1/ListenRequest/addTarget": add_target +"/firestore:v1/ListenRequest/labels": labels +"/firestore:v1/ListenRequest/labels/label": label +"/firestore:v1/ListenRequest/removeTarget": remove_target +"/firestore:v1/ListenResponse": listen_response +"/firestore:v1/ListenResponse/documentChange": document_change +"/firestore:v1/ListenResponse/documentDelete": document_delete +"/firestore:v1/ListenResponse/documentRemove": document_remove +"/firestore:v1/ListenResponse/filter": filter +"/firestore:v1/ListenResponse/targetChange": target_change "/firestore:v1/Location": location "/firestore:v1/Location/displayName": display_name "/firestore:v1/Location/labels": labels @@ -66773,12 +67359,109 @@ "/firestore:v1/Location/metadata": metadata "/firestore:v1/Location/metadata/metadatum": metadatum "/firestore:v1/Location/name": name +"/firestore:v1/MapValue": map_value +"/firestore:v1/MapValue/fields": fields +"/firestore:v1/MapValue/fields/field": field +"/firestore:v1/Order": order +"/firestore:v1/Order/direction": direction +"/firestore:v1/Order/field": field +"/firestore:v1/Precondition": precondition +"/firestore:v1/Precondition/exists": exists +"/firestore:v1/Precondition/updateTime": update_time +"/firestore:v1/Projection": projection +"/firestore:v1/Projection/fields": fields +"/firestore:v1/Projection/fields/field": field +"/firestore:v1/QueryTarget": query_target +"/firestore:v1/QueryTarget/parent": parent +"/firestore:v1/QueryTarget/structuredQuery": structured_query +"/firestore:v1/ReadOnly": read_only +"/firestore:v1/ReadOnly/readTime": read_time +"/firestore:v1/ReadWrite": read_write +"/firestore:v1/ReadWrite/retryTransaction": retry_transaction +"/firestore:v1/RollbackRequest": rollback_request +"/firestore:v1/RollbackRequest/transaction": transaction +"/firestore:v1/RunQueryRequest": run_query_request +"/firestore:v1/RunQueryRequest/newTransaction": new_transaction +"/firestore:v1/RunQueryRequest/readTime": read_time +"/firestore:v1/RunQueryRequest/structuredQuery": structured_query +"/firestore:v1/RunQueryRequest/transaction": transaction +"/firestore:v1/RunQueryResponse": run_query_response +"/firestore:v1/RunQueryResponse/document": document +"/firestore:v1/RunQueryResponse/readTime": read_time +"/firestore:v1/RunQueryResponse/skippedResults": skipped_results +"/firestore:v1/RunQueryResponse/transaction": transaction "/firestore:v1/Status": status "/firestore:v1/Status/code": code "/firestore:v1/Status/details": details "/firestore:v1/Status/details/detail": detail "/firestore:v1/Status/details/detail/detail": detail "/firestore:v1/Status/message": message +"/firestore:v1/StructuredQuery": structured_query +"/firestore:v1/StructuredQuery/endAt": end_at +"/firestore:v1/StructuredQuery/from": from +"/firestore:v1/StructuredQuery/from/from": from +"/firestore:v1/StructuredQuery/limit": limit +"/firestore:v1/StructuredQuery/offset": offset +"/firestore:v1/StructuredQuery/orderBy": order_by +"/firestore:v1/StructuredQuery/orderBy/order_by": order_by +"/firestore:v1/StructuredQuery/select": select +"/firestore:v1/StructuredQuery/startAt": start_at +"/firestore:v1/StructuredQuery/where": where +"/firestore:v1/Target": target +"/firestore:v1/Target/documents": documents +"/firestore:v1/Target/once": once +"/firestore:v1/Target/query": query +"/firestore:v1/Target/readTime": read_time +"/firestore:v1/Target/resumeToken": resume_token +"/firestore:v1/Target/targetId": target_id +"/firestore:v1/TargetChange": target_change +"/firestore:v1/TargetChange/cause": cause +"/firestore:v1/TargetChange/readTime": read_time +"/firestore:v1/TargetChange/resumeToken": resume_token +"/firestore:v1/TargetChange/targetChangeType": target_change_type +"/firestore:v1/TargetChange/targetIds": target_ids +"/firestore:v1/TargetChange/targetIds/target_id": target_id +"/firestore:v1/TransactionOptions": transaction_options +"/firestore:v1/TransactionOptions/readOnly": read_only +"/firestore:v1/TransactionOptions/readWrite": read_write +"/firestore:v1/UnaryFilter": unary_filter +"/firestore:v1/UnaryFilter/field": field +"/firestore:v1/UnaryFilter/op": op +"/firestore:v1/Value": value +"/firestore:v1/Value/arrayValue": array_value +"/firestore:v1/Value/booleanValue": boolean_value +"/firestore:v1/Value/bytesValue": bytes_value +"/firestore:v1/Value/doubleValue": double_value +"/firestore:v1/Value/geoPointValue": geo_point_value +"/firestore:v1/Value/integerValue": integer_value +"/firestore:v1/Value/mapValue": map_value +"/firestore:v1/Value/nullValue": null_value +"/firestore:v1/Value/referenceValue": reference_value +"/firestore:v1/Value/stringValue": string_value +"/firestore:v1/Value/timestampValue": timestamp_value +"/firestore:v1/Write": write +"/firestore:v1/Write/currentDocument": current_document +"/firestore:v1/Write/delete": delete +"/firestore:v1/Write/transform": transform +"/firestore:v1/Write/update": update +"/firestore:v1/Write/updateMask": update_mask +"/firestore:v1/WriteRequest": write_request +"/firestore:v1/WriteRequest/labels": labels +"/firestore:v1/WriteRequest/labels/label": label +"/firestore:v1/WriteRequest/streamId": stream_id +"/firestore:v1/WriteRequest/streamToken": stream_token +"/firestore:v1/WriteRequest/writes": writes +"/firestore:v1/WriteRequest/writes/write": write +"/firestore:v1/WriteResponse": write_response +"/firestore:v1/WriteResponse/commitTime": commit_time +"/firestore:v1/WriteResponse/streamId": stream_id +"/firestore:v1/WriteResponse/streamToken": stream_token +"/firestore:v1/WriteResponse/writeResults": write_results +"/firestore:v1/WriteResponse/writeResults/write_result": write_result +"/firestore:v1/WriteResult": write_result +"/firestore:v1/WriteResult/transformResults": transform_results +"/firestore:v1/WriteResult/transformResults/transform_result": transform_result +"/firestore:v1/WriteResult/updateTime": update_time "/firestore:v1/fields": fields "/firestore:v1/firestore.projects.databases.collectionGroups.fields.get": get_project_database_collection_group_field "/firestore:v1/firestore.projects.databases.collectionGroups.fields.get/name": name @@ -66801,6 +67484,52 @@ "/firestore:v1/firestore.projects.databases.collectionGroups.indexes.list/pageSize": page_size "/firestore:v1/firestore.projects.databases.collectionGroups.indexes.list/pageToken": page_token "/firestore:v1/firestore.projects.databases.collectionGroups.indexes.list/parent": parent +"/firestore:v1/firestore.projects.databases.documents.batchGet": batch_get_documents +"/firestore:v1/firestore.projects.databases.documents.batchGet/database": database +"/firestore:v1/firestore.projects.databases.documents.beginTransaction": begin_document_transaction +"/firestore:v1/firestore.projects.databases.documents.beginTransaction/database": database +"/firestore:v1/firestore.projects.databases.documents.commit": commit_document +"/firestore:v1/firestore.projects.databases.documents.commit/database": database +"/firestore:v1/firestore.projects.databases.documents.createDocument": create_project_database_document_document +"/firestore:v1/firestore.projects.databases.documents.createDocument/collectionId": collection_id +"/firestore:v1/firestore.projects.databases.documents.createDocument/documentId": document_id +"/firestore:v1/firestore.projects.databases.documents.createDocument/mask.fieldPaths": mask_field_paths +"/firestore:v1/firestore.projects.databases.documents.createDocument/parent": parent +"/firestore:v1/firestore.projects.databases.documents.delete": delete_project_database_document +"/firestore:v1/firestore.projects.databases.documents.delete/currentDocument.exists": current_document_exists +"/firestore:v1/firestore.projects.databases.documents.delete/currentDocument.updateTime": current_document_update_time +"/firestore:v1/firestore.projects.databases.documents.delete/name": name +"/firestore:v1/firestore.projects.databases.documents.get": get_project_database_document +"/firestore:v1/firestore.projects.databases.documents.get/mask.fieldPaths": mask_field_paths +"/firestore:v1/firestore.projects.databases.documents.get/name": name +"/firestore:v1/firestore.projects.databases.documents.get/readTime": read_time +"/firestore:v1/firestore.projects.databases.documents.get/transaction": transaction +"/firestore:v1/firestore.projects.databases.documents.list": list_project_database_documents +"/firestore:v1/firestore.projects.databases.documents.list/collectionId": collection_id +"/firestore:v1/firestore.projects.databases.documents.list/mask.fieldPaths": mask_field_paths +"/firestore:v1/firestore.projects.databases.documents.list/orderBy": order_by +"/firestore:v1/firestore.projects.databases.documents.list/pageSize": page_size +"/firestore:v1/firestore.projects.databases.documents.list/pageToken": page_token +"/firestore:v1/firestore.projects.databases.documents.list/parent": parent +"/firestore:v1/firestore.projects.databases.documents.list/readTime": read_time +"/firestore:v1/firestore.projects.databases.documents.list/showMissing": show_missing +"/firestore:v1/firestore.projects.databases.documents.list/transaction": transaction +"/firestore:v1/firestore.projects.databases.documents.listCollectionIds": list_document_collection_ids +"/firestore:v1/firestore.projects.databases.documents.listCollectionIds/parent": parent +"/firestore:v1/firestore.projects.databases.documents.listen": listen_document +"/firestore:v1/firestore.projects.databases.documents.listen/database": database +"/firestore:v1/firestore.projects.databases.documents.patch": patch_project_database_document +"/firestore:v1/firestore.projects.databases.documents.patch/currentDocument.exists": current_document_exists +"/firestore:v1/firestore.projects.databases.documents.patch/currentDocument.updateTime": current_document_update_time +"/firestore:v1/firestore.projects.databases.documents.patch/mask.fieldPaths": mask_field_paths +"/firestore:v1/firestore.projects.databases.documents.patch/name": name +"/firestore:v1/firestore.projects.databases.documents.patch/updateMask.fieldPaths": update_mask_field_paths +"/firestore:v1/firestore.projects.databases.documents.rollback": rollback_document +"/firestore:v1/firestore.projects.databases.documents.rollback/database": database +"/firestore:v1/firestore.projects.databases.documents.runQuery": run_document_query +"/firestore:v1/firestore.projects.databases.documents.runQuery/parent": parent +"/firestore:v1/firestore.projects.databases.documents.write": write_document +"/firestore:v1/firestore.projects.databases.documents.write/database": database "/firestore:v1/firestore.projects.databases.exportDocuments": export_project_database_documents "/firestore:v1/firestore.projects.databases.exportDocuments/name": name "/firestore:v1/firestore.projects.databases.importDocuments": import_project_database_documents diff --git a/generated/google/apis/alertcenter_v1beta1.rb b/generated/google/apis/alertcenter_v1beta1.rb index 2a0e37a9c..075e3b3ef 100644 --- a/generated/google/apis/alertcenter_v1beta1.rb +++ b/generated/google/apis/alertcenter_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/admin-sdk/alertcenter/ module AlertcenterV1beta1 VERSION = 'V1beta1' - REVISION = '20181202' + REVISION = '20181206' # See and delete your domain's G Suite alerts, and send alert feedback AUTH_APPS_ALERTS = 'https://www.googleapis.com/auth/apps.alerts' diff --git a/generated/google/apis/alertcenter_v1beta1/classes.rb b/generated/google/apis/alertcenter_v1beta1/classes.rb index c53a4c824..baf9c5c1f 100644 --- a/generated/google/apis/alertcenter_v1beta1/classes.rb +++ b/generated/google/apis/alertcenter_v1beta1/classes.rb @@ -825,6 +825,27 @@ module Google @serial_number = args[:serial_number] if args.key?(:serial_number) end end + + # A request to undelete a specific alert that was marked for deletion. + class UndeleteAlertRequest + include Google::Apis::Core::Hashable + + # Optional. The unique identifier of the G Suite organization account of the + # customer the alert is associated with. + # Inferred from the caller identity if not provided. + # Corresponds to the JSON property `customerId` + # @return [String] + attr_accessor :customer_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @customer_id = args[:customer_id] if args.key?(:customer_id) + end + end end end end diff --git a/generated/google/apis/alertcenter_v1beta1/representations.rb b/generated/google/apis/alertcenter_v1beta1/representations.rb index 3cb338a01..c835d6a01 100644 --- a/generated/google/apis/alertcenter_v1beta1/representations.rb +++ b/generated/google/apis/alertcenter_v1beta1/representations.rb @@ -160,6 +160,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class UndeleteAlertRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class AccountWarning # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -390,6 +396,13 @@ module Google property :serial_number, as: 'serialNumber' end end + + class UndeleteAlertRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :customer_id, as: 'customerId' + end + end end end end diff --git a/generated/google/apis/alertcenter_v1beta1/service.rb b/generated/google/apis/alertcenter_v1beta1/service.rb index 487872703..70d6cba6c 100644 --- a/generated/google/apis/alertcenter_v1beta1/service.rb +++ b/generated/google/apis/alertcenter_v1beta1/service.rb @@ -178,6 +178,43 @@ module Google execute_or_queue_command(command, &block) end + # Restores, or "undeletes", an alert that was marked for deletion within the + # past 30 days. Attempting to undelete an alert which was marked for deletion + # over 30 days ago (which has been removed from the Alert Center database) or + # a nonexistent alert returns a `NOT_FOUND` error. Attempting to + # undelete an alert which has not been marked for deletion has no effect. + # @param [String] alert_id + # Required. The identifier of the alert to undelete. + # @param [Google::Apis::AlertcenterV1beta1::UndeleteAlertRequest] undelete_alert_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::AlertcenterV1beta1::Alert] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AlertcenterV1beta1::Alert] + # + # @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 undelete_alert(alert_id, undelete_alert_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/alerts/{alertId}:undelete', options) + command.request_representation = Google::Apis::AlertcenterV1beta1::UndeleteAlertRequest::Representation + command.request_object = undelete_alert_request_object + command.response_representation = Google::Apis::AlertcenterV1beta1::Alert::Representation + command.response_class = Google::Apis::AlertcenterV1beta1::Alert + command.params['alertId'] = alert_id unless alert_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Creates new feedback for an alert. # @param [String] alert_id # Required. The identifier of the alert this feedback belongs to. diff --git a/generated/google/apis/bigquery_v2.rb b/generated/google/apis/bigquery_v2.rb index 23f924aa5..c146c1b18 100644 --- a/generated/google/apis/bigquery_v2.rb +++ b/generated/google/apis/bigquery_v2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryV2 VERSION = 'V2' - REVISION = '20181104' + REVISION = '20181202' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigquery_v2/classes.rb b/generated/google/apis/bigquery_v2/classes.rb index f1313ab48..9496a846f 100644 --- a/generated/google/apis/bigquery_v2/classes.rb +++ b/generated/google/apis/bigquery_v2/classes.rb @@ -415,7 +415,7 @@ module Google attr_accessor :last_modified_time # The geographic location where the dataset should reside. The default value is - # US. See details at https://cloud.google.com/bigquery/docs/dataset-locations. + # US. See details at https://cloud.google.com/bigquery/docs/locations. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location @@ -581,7 +581,7 @@ module Google # @return [Hash] attr_accessor :labels - # [Experimental] The geographic location where the data resides. + # The geographic location where the data resides. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location @@ -1164,7 +1164,8 @@ module Google include Google::Apis::Core::Hashable # [Beta] [Optional] Range of a sheet to query from. Only used when non-empty. - # Typical format: !: + # Typical format: sheet_name!top_left_cell_id:bottom_right_cell_id For example: + # sheet1!A1:B20 # Corresponds to the JSON property `range` # @return [String] attr_accessor :range @@ -1601,7 +1602,7 @@ module Google # @return [String] attr_accessor :quote - # [Experimental] Range partitioning specification for this table. Only one of + # [TrustedTester] Range partitioning specification for this table. Only one of # timePartitioning and rangePartitioning should be specified. # Corresponds to the JSON property `rangePartitioning` # @return [Google::Apis::BigqueryV2::RangePartitioning] @@ -1826,7 +1827,7 @@ module Google # @return [Array] attr_accessor :query_parameters - # [Experimental] Range partitioning specification for this table. Only one of + # [TrustedTester] Range partitioning specification for this table. Only one of # timePartitioning and rangePartitioning should be specified. # Corresponds to the JSON property `rangePartitioning` # @return [Google::Apis::BigqueryV2::RangePartitioning] @@ -2310,6 +2311,15 @@ module Google # @return [Fixnum] attr_accessor :total_bytes_processed + # [Output-only] For dry-run jobs, totalBytesProcessed is an estimate and this + # field specifies the accuracy of the estimate. Possible values can be: UNKNOWN: + # accuracy of the estimate is unknown. PRECISE: estimate is precise. LOWER_BOUND: + # estimate is lower bound of what the query would cost. UPPER_BOUND: estiamte + # is upper bound of what the query would cost. + # Corresponds to the JSON property `totalBytesProcessedAccuracy` + # @return [String] + attr_accessor :total_bytes_processed_accuracy + # [Output-only] Total number of partitions processed from all partitioned tables # referenced in the job. # Corresponds to the JSON property `totalPartitionsProcessed` @@ -2350,6 +2360,7 @@ module Google @timeline = args[:timeline] if args.key?(:timeline) @total_bytes_billed = args[:total_bytes_billed] if args.key?(:total_bytes_billed) @total_bytes_processed = args[:total_bytes_processed] if args.key?(:total_bytes_processed) + @total_bytes_processed_accuracy = args[:total_bytes_processed_accuracy] if args.key?(:total_bytes_processed_accuracy) @total_partitions_processed = args[:total_partitions_processed] if args.key?(:total_partitions_processed) @total_slot_ms = args[:total_slot_ms] if args.key?(:total_slot_ms) @undeclared_query_parameters = args[:undeclared_query_parameters] if args.key?(:undeclared_query_parameters) @@ -2485,6 +2496,32 @@ module Google end end + # + class MaterializedViewDefinition + include Google::Apis::Core::Hashable + + # [Output-only] [TrustedTester] The time when this materialized view was last + # modified, in milliseconds since the epoch. + # Corresponds to the JSON property `lastRefreshTime` + # @return [Fixnum] + attr_accessor :last_refresh_time + + # [Required] A query whose result is persisted. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @last_refresh_time = args[:last_refresh_time] if args.key?(:last_refresh_time) + @query = args[:query] if args.key?(:query) + end + end + # class ModelDefinition include Google::Apis::Core::Hashable @@ -2805,8 +2842,8 @@ module Google # @return [String] attr_accessor :kind - # The geographic location where the job should run. Required except for US and - # EU. + # The geographic location where the job should run. See details at https://cloud. + # google.com/bigquery/docs/locations#specifying_your_location. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location @@ -3036,14 +3073,14 @@ module Google class RangePartitioning include Google::Apis::Core::Hashable - # [Experimental] [Required] The table is partitioned by this field. The field + # [TrustedTester] [Required] The table is partitioned by this field. The field # must be a top-level NULLABLE/REQUIRED field. The only supported type is # INTEGER/INT64. # Corresponds to the JSON property `field` # @return [String] attr_accessor :field - # [Experimental] [Required] Defines the ranges for range partitioning. + # [TrustedTester] [Required] Defines the ranges for range partitioning. # Corresponds to the JSON property `range` # @return [Google::Apis::BigqueryV2::RangePartitioning::Range] attr_accessor :range @@ -3058,21 +3095,21 @@ module Google @range = args[:range] if args.key?(:range) end - # [Experimental] [Required] Defines the ranges for range partitioning. + # [TrustedTester] [Required] Defines the ranges for range partitioning. class Range include Google::Apis::Core::Hashable - # [Experimental] [Required] The end of range partitioning, exclusive. + # [TrustedTester] [Required] The end of range partitioning, exclusive. # Corresponds to the JSON property `end` # @return [Fixnum] attr_accessor :end - # [Experimental] [Required] The width of each interval. + # [TrustedTester] [Required] The width of each interval. # Corresponds to the JSON property `interval` # @return [Fixnum] attr_accessor :interval - # [Experimental] [Required] The start of range partitioning, inclusive. + # [TrustedTester] [Required] The start of range partitioning, inclusive. # Corresponds to the JSON property `start` # @return [Fixnum] attr_accessor :start @@ -3128,7 +3165,7 @@ module Google class Table include Google::Apis::Core::Hashable - # [Experimental] Clustering specification for the table. Must be specified with + # [Beta] Clustering specification for the table. Must be specified with # partitioning, data in the table will be first partitioned and subsequently # clustered. # Corresponds to the JSON property `clustering` @@ -3211,6 +3248,11 @@ module Google # @return [String] attr_accessor :location + # [Optional] Materialized view definition. + # Corresponds to the JSON property `materializedView` + # @return [Google::Apis::BigqueryV2::MaterializedViewDefinition] + attr_accessor :materialized_view + # [Output-only, Beta] Present iff this table represents a ML model. Describes # the training information for the model, and it is required to run 'PREDICT' # queries. @@ -3230,7 +3272,7 @@ module Google # @return [Fixnum] attr_accessor :num_long_term_bytes - # [Output-only] [Experimental] The physical size of this table in bytes, + # [Output-only] [TrustedTester] The physical size of this table in bytes, # excluding any data in the streaming buffer. This includes compression and # storage used for time travel. # Corresponds to the JSON property `numPhysicalBytes` @@ -3243,14 +3285,14 @@ module Google # @return [Fixnum] attr_accessor :num_rows - # [Experimental] Range partitioning specification for this table. Only one of + # [TrustedTester] Range partitioning specification for this table. Only one of # timePartitioning and rangePartitioning should be specified. # Corresponds to the JSON property `rangePartitioning` # @return [Google::Apis::BigqueryV2::RangePartitioning] attr_accessor :range_partitioning - # [Experimental] [Optional] If set to true, queries over this table require a - # partition filter that can be used for partition elimination to be specified. + # [Beta] [Optional] If set to true, queries over this table require a partition + # filter that can be used for partition elimination to be specified. # Corresponds to the JSON property `requirePartitionFilter` # @return [Boolean] attr_accessor :require_partition_filter @@ -3285,7 +3327,8 @@ module Google attr_accessor :time_partitioning # [Output-only] Describes the table type. The following values are supported: - # TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. + # TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. [ + # TrustedTester] MATERIALIZED_VIEW: SQL query whose result is persisted. # EXTERNAL: A table that references data stored in an external storage system, # such as Google Cloud Storage. The default value is TABLE. # Corresponds to the JSON property `type` @@ -3316,6 +3359,7 @@ module Google @labels = args[:labels] if args.key?(:labels) @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time) @location = args[:location] if args.key?(:location) + @materialized_view = args[:materialized_view] if args.key?(:materialized_view) @model = args[:model] if args.key?(:model) @num_bytes = args[:num_bytes] if args.key?(:num_bytes) @num_long_term_bytes = args[:num_long_term_bytes] if args.key?(:num_long_term_bytes) @@ -3382,12 +3426,11 @@ module Google attr_accessor :skip_invalid_rows alias_method :skip_invalid_rows?, :skip_invalid_rows - # [Experimental] If specified, treats the destination table as a base template, - # and inserts the rows into an instance table named "`destination`` - # templateSuffix`". BigQuery will manage creation of the instance table, using - # the schema of the base template table. See https://cloud.google.com/bigquery/ - # streaming-data-into-bigquery#template-tables for considerations when working - # with templates tables. + # If specified, treats the destination table as a base template, and inserts the + # rows into an instance table named "`destination``templateSuffix`". BigQuery + # will manage creation of the instance table, using the schema of the base + # template table. See https://cloud.google.com/bigquery/streaming-data-into- + # bigquery#template-tables for considerations when working with templates tables. # Corresponds to the JSON property `templateSuffix` # @return [String] attr_accessor :template_suffix diff --git a/generated/google/apis/bigquery_v2/representations.rb b/generated/google/apis/bigquery_v2/representations.rb index 70dac4655..1aa02d188 100644 --- a/generated/google/apis/bigquery_v2/representations.rb +++ b/generated/google/apis/bigquery_v2/representations.rb @@ -244,6 +244,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class MaterializedViewDefinition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ModelDefinition class Representation < Google::Apis::Core::JsonRepresentation; end @@ -951,6 +957,7 @@ module Google property :total_bytes_billed, :numeric_string => true, as: 'totalBytesBilled' property :total_bytes_processed, :numeric_string => true, as: 'totalBytesProcessed' + property :total_bytes_processed_accuracy, as: 'totalBytesProcessedAccuracy' property :total_partitions_processed, :numeric_string => true, as: 'totalPartitionsProcessed' property :total_slot_ms, :numeric_string => true, as: 'totalSlotMs' collection :undeclared_query_parameters, as: 'undeclaredQueryParameters', class: Google::Apis::BigqueryV2::QueryParameter, decorator: Google::Apis::BigqueryV2::QueryParameter::Representation @@ -995,6 +1002,14 @@ module Google end end + class MaterializedViewDefinition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :last_refresh_time, :numeric_string => true, as: 'lastRefreshTime' + property :query, as: 'query' + end + end + class ModelDefinition # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1186,6 +1201,8 @@ module Google hash :labels, as: 'labels' property :last_modified_time, :numeric_string => true, as: 'lastModifiedTime' property :location, as: 'location' + property :materialized_view, as: 'materializedView', class: Google::Apis::BigqueryV2::MaterializedViewDefinition, decorator: Google::Apis::BigqueryV2::MaterializedViewDefinition::Representation + property :model, as: 'model', class: Google::Apis::BigqueryV2::ModelDefinition, decorator: Google::Apis::BigqueryV2::ModelDefinition::Representation property :num_bytes, :numeric_string => true, as: 'numBytes' diff --git a/generated/google/apis/bigquery_v2/service.rb b/generated/google/apis/bigquery_v2/service.rb index 7fab5669a..bbf2efb2f 100644 --- a/generated/google/apis/bigquery_v2/service.rb +++ b/generated/google/apis/bigquery_v2/service.rb @@ -304,9 +304,8 @@ module Google # @param [String] job_id # [Required] Job ID of the job to cancel # @param [String] location - # [Experimental] The geographic location of the job. Required except for US and - # EU. See details at https://cloud.google.com/bigquery/docs/dataset-locations# - # specifying_your_location. + # The geographic location of the job. Required except for US and EU. See details + # at https://cloud.google.com/bigquery/docs/locations#specifying_your_location. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -347,9 +346,8 @@ module Google # @param [String] job_id # [Required] Job ID of the requested job # @param [String] location - # [Experimental] The geographic location of the job. Required except for US and - # EU. See details at https://cloud.google.com/bigquery/docs/dataset-locations# - # specifying_your_location. + # The geographic location of the job. Required except for US and EU. See details + # at https://cloud.google.com/bigquery/docs/locations#specifying_your_location. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -388,9 +386,9 @@ module Google # @param [String] job_id # [Required] Job ID of the query job # @param [String] location - # [Experimental] The geographic location where the job should run. Required - # except for US and EU. See details at https://cloud.google.com/bigquery/docs/ - # dataset-locations#specifying_your_location. + # The geographic location where the job should run. Required except for US and + # EU. See details at https://cloud.google.com/bigquery/docs/locations# + # specifying_your_location. # @param [Fixnum] max_results # Maximum number of results to read # @param [String] page_token diff --git a/generated/google/apis/compute_alpha.rb b/generated/google/apis/compute_alpha.rb index a8c7e063c..b950d835a 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 = '20181022' + REVISION = '20181128' # 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 feb7b30e0..f8c2a2a2c 100644 --- a/generated/google/apis/compute_alpha/classes.rb +++ b/generated/google/apis/compute_alpha/classes.rb @@ -584,7 +584,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an Address. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -615,7 +616,11 @@ module Google attr_accessor :network # This signifies the networking tier used for configuring this Address and can - # only take the following values: PREMIUM , STANDARD. + # only take the following values: PREMIUM, STANDARD. Global forwarding rules can + # only be Premium Tier. Regional forwarding rules can be either Premium or + # Standard Tier. Standard Tier addresses applied to regional forwarding rules + # can be used with any external load balancer. Regional forwarding rules in + # Premium Tier can only be used with a Network load balancer. # If this field is not specified, it is assumed to be PREMIUM. # Corresponds to the JSON property `networkTier` # @return [String] @@ -1102,7 +1107,7 @@ module Google # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocation] attr_accessor :specific_allocation - # Indicates whether the allocation can be consumed by VMs with ?any allocation? + # Indicates whether the allocation can be consumed by VMs with "any allocation" # defined. If the field is set, then only VMs that target the allocation by name # using --allocation-affinity can consume this allocation. # Corresponds to the JSON property `specificAllocationRequired` @@ -2597,8 +2602,7 @@ module Google attr_accessor :utilization_target # Defines how target utilization value is expressed for a Stackdriver Monitoring - # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, - # the default is GAUGE. + # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. # Corresponds to the JSON property `utilizationTargetType` # @return [String] attr_accessor :utilization_target_type @@ -2922,7 +2926,7 @@ module Google # considered fresh. After this time period, the response will be revalidated # before being served. Defaults to 1hr (3600s). When serving responses to signed # URL requests, Cloud CDN will internally behave as though all responses from - # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless + # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless # of any existing Cache-Control header. The actual headers served in responses # will not be altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` @@ -3132,7 +3136,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a BackendService. An up-to-date fingerprint must be provided in - # order to update the BackendService. + # order to update the BackendService, otherwise the request will fail with error + # 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # BackendService. # Corresponds to the JSON property `fingerprint` @@ -3175,6 +3180,12 @@ module Google # @return [String] attr_accessor :load_balancing_scheme + # The available logging options for the load balancer traffic served by this + # backend service. + # Corresponds to the JSON property `logConfig` + # @return [Google::Apis::ComputeAlpha::BackendServiceLogConfig] + attr_accessor :log_config + # 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- @@ -3266,6 +3277,7 @@ module Google @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) + @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @@ -3442,7 +3454,7 @@ module Google # considered fresh. After this time period, the response will be revalidated # before being served. Defaults to 1hr (3600s). When serving responses to signed # URL requests, Cloud CDN will internally behave as though all responses from - # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless + # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless # of any existing Cache-Control header. The actual headers served in responses # will not be altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` @@ -3769,6 +3781,38 @@ module Google end end + # The available logging options for the load balancer traffic served by this + # backend service. + class BackendServiceLogConfig + include Google::Apis::Core::Hashable + + # This field denotes whether to enable logging for the load balancer traffic + # served by this backend service. + # Corresponds to the JSON property `enable` + # @return [Boolean] + attr_accessor :enable + alias_method :enable?, :enable + + # This field can only be specified if logging is enabled for this backend + # service. The value of the field must be in [0, 1]. This configures the + # sampling rate of requests to the load balancer where 1.0 means all logged + # requests are reported and 0.0 means no logged requests are reported. The + # default value is 1.0. + # Corresponds to the JSON property `sampleRate` + # @return [Float] + attr_accessor :sample_rate + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable = args[:enable] if args.key?(:enable) + @sample_rate = args[:sample_rate] if args.key?(:sample_rate) + end + end + # class BackendServiceReference include Google::Apis::Core::Hashable @@ -4700,7 +4744,8 @@ module Google # a hash of the labels set used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update labels. You must always provide an up-to-date fingerprint - # hash in order to update or change labels. + # hash in order to update or change labels, otherwise the request will fail with + # error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a disk. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -4749,10 +4794,9 @@ module Google attr_accessor :options # Physical block size of the persistent disk, in bytes. If not present in a - # request, a default value is used. Initially only 4096 is supported, but other - # powers of two may be added. If an unsupported value is requested, the error - # message will list the supported values, but even a supported value may be - # allowed for only some projects. + # request, a default value is used. Currently supported sizes are 4096 and 16384, + # other sizes may be added in the future. If an unsupported value is requested, + # the error message will list the supported values for the caller's project. # Corresponds to the JSON property `physicalBlockSizeBytes` # @return [Fixnum] attr_accessor :physical_block_size_bytes @@ -5798,6 +5842,26 @@ module Google end end + # A set of Display Device options + class DisplayDevice + include Google::Apis::Core::Hashable + + # Defines whether the instance has Display enabled. + # Corresponds to the JSON property `enableDisplay` + # @return [Boolean] + attr_accessor :enable_display + alias_method :enable_display?, :enable_display + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable_display = args[:enable_display] if args.key?(:enable_display) + end + end + # class DistributionPolicy include Google::Apis::Core::Hashable @@ -6094,8 +6158,9 @@ module Google 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 Stackdriver. + # Deprecated in favor of enable in LogConfig. This field denotes whether to + # enable logging for a particular firewall rule. If logging is enabled, logs + # will be exported to Stackdriver. # Corresponds to the JSON property `enableLogging` # @return [Boolean] attr_accessor :enable_logging @@ -6112,6 +6177,11 @@ module Google # @return [String] attr_accessor :kind + # The available logging options for a firewall rule. + # Corresponds to the JSON property `logConfig` + # @return [Google::Apis::ComputeAlpha::FirewallLogConfig] + attr_accessor :log_config + # 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- @@ -6222,6 +6292,7 @@ module Google @enable_logging = args[:enable_logging] if args.key?(:enable_logging) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) + @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @priority = args[:priority] if args.key?(:priority) @@ -6414,6 +6485,26 @@ module Google end end + # The available logging options for a firewall rule. + class FirewallLogConfig + include Google::Apis::Core::Hashable + + # This field denotes whether to enable logging for a particular firewall rule. + # Corresponds to the JSON property `enable` + # @return [Boolean] + attr_accessor :enable + alias_method :enable?, :enable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable = args[:enable] if args.key?(:enable) + end + end + # Encapsulates numeric value that can be either absolute or relative. class FixedOrPercent include Google::Apis::Core::Hashable @@ -6574,7 +6665,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # ForwardingRule. # Corresponds to the JSON property `labelFingerprint` @@ -6647,9 +6739,9 @@ module Google # This field is used along with the backend_service field for internal load # balancing. - # When the load balancing scheme is INTERNAL, a single port or a comma separated - # list of ports can be configured. Only packets addressed to these ports will be - # forwarded to the backends configured with this forwarding rule. + # When the load balancing scheme is INTERNAL, a list of ports can be configured, + # for example, ['80'], ['8000','9000'] etc. Only packets addressed to these + # ports will be forwarded to the backends configured with this forwarding rule. # You may specify a maximum of up to 5 ports. # Corresponds to the JSON property `ports` # @return [Array] @@ -7093,8 +7185,9 @@ module Google # The fingerprint of the previous set of labels for this resource, used to # detect conflicts. The fingerprint is initially generated by Compute Engine and # changes after every request to modify or update labels. You must always - # provide an up-to-date fingerprint hash when updating or changing labels. Make - # a get() request to the resource to get the latest fingerprint. + # provide an up-to-date fingerprint hash when updating or changing labels, + # otherwise the request will fail with error 412 conditionNotMet. Make a get() + # request to the resource to get the latest fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -7126,7 +7219,7 @@ module Google class GlobalSetPolicyRequest include Google::Apis::Core::Hashable - # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use ' + # Flatten Policy to create a backward compatible wire-format. Deprecated. Use ' # policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] @@ -8646,7 +8739,8 @@ module Google # a hash of the labels used for optimistic locking. The fingerprint is initially # generated by Compute Engine and changes after every request to modify or # update labels. You must always provide an up-to-date fingerprint hash in order - # to update or change labels. + # to update or change labels, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an image. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -9005,6 +9099,11 @@ module Google # @return [Array] attr_accessor :disks + # A set of Display Device options + # Corresponds to the JSON property `displayDevice` + # @return [Google::Apis::ComputeAlpha::DisplayDevice] + attr_accessor :display_device + # A list of the type and count of accelerator cards attached to the instance. # Corresponds to the JSON property `guestAccelerators` # @return [Array] @@ -9184,6 +9283,7 @@ module Google @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) + @display_device = args[:display_device] if args.key?(:display_device) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @hostname = args[:hostname] if args.key?(:hostname) @id = args[:id] if args.key?(:id) @@ -9727,7 +9827,8 @@ module Google # Fingerprint of this resource. This field may be used in optimistic locking. It # will be ignored when inserting an InstanceGroupManager. An up-to-date - # fingerprint must be provided in order to update the InstanceGroupManager. + # fingerprint must be provided in order to update the InstanceGroupManager, + # otherwise the request will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # InstanceGroupManager. # Corresponds to the JSON property `fingerprint` @@ -10482,6 +10583,25 @@ module Google end end + # InstanceGroupManagers.createInstances + class InstanceGroupManagersCreateInstancesRequest + include Google::Apis::Core::Hashable + + # [Required] List of specifications of per-instance configs. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @instances = args[:instances] if args.key?(:instances) + end + end + # class InstanceGroupManagersDeleteInstancesRequest include Google::Apis::Core::Hashable @@ -10512,6 +10632,12 @@ module Google # @return [Array] attr_accessor :instances + # The list of instance names for which we want to delete per-instance configs on + # this managed instance group. + # Corresponds to the JSON property `names` + # @return [Array] + attr_accessor :names + def initialize(**args) update!(**args) end @@ -10519,6 +10645,7 @@ module Google # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) + @names = args[:names] if args.key?(:names) end end @@ -11176,7 +11303,8 @@ module Google # named ports settings concurrently. Obtain the fingerprint with the # instanceGroups.get method. Then, include the fingerprint in your request to # ensure that you do not overwrite changes that were applied from another - # concurrent request. + # concurrent request. A request with an incorrect fingerprint will fail with + # error 412 conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -12217,7 +12345,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # Interconnect. # Corresponds to the JSON property `labelFingerprint` @@ -12346,7 +12475,7 @@ module Google # Provisioned bandwidth capacity for the interconnectAttachment. Can be set by # the partner to update the customer's provisioned bandwidth. Output only for - # for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. + # PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED. # Corresponds to the JSON property `bandwidth` # @return [String] attr_accessor :bandwidth @@ -12422,7 +12551,8 @@ module Google # which is essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # InterconnectAttachment. # Corresponds to the JSON property `labelFingerprint` @@ -12488,7 +12618,7 @@ module Google # @return [String] attr_accessor :region - # URL of the cloud router to be used for dynamic routing. This router must be in + # 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. @@ -12511,9 +12641,8 @@ module Google # @return [String] attr_accessor :type - # Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for this - # attachment, in the range 2-4094. This field refers to 802.1q VLAN tag, also - # known as IEEE 802.1Q Only specified at creation time. + # The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only + # specified at creation time. # Corresponds to the JSON property `vlanTag8021q` # @return [Fixnum] attr_accessor :vlan_tag8021q @@ -12797,7 +12926,7 @@ module Google include Google::Apis::Core::Hashable # Plain text name of the Interconnect this attachment is connected to, as - # displayed in the Partner?s portal. For instance ?Chicago 1?. This value may be + # displayed in the Partner?s portal. For instance "Chicago 1". This value may be # validated to match approved Partner values. # Corresponds to the JSON property `interconnectName` # @return [String] @@ -13074,7 +13203,10 @@ module Google # @return [String] attr_accessor :state - # Value of the current optical power, read in dBm. + # Value of the current optical power, read in dBm. Take a known good optical + # value, give it a 10% margin and trigger warnings relative to that value. In + # general, a -7dBm warning and a -11dBm alarm are good optical value estimates + # for most links. # Corresponds to the JSON property `value` # @return [Float] attr_accessor :value @@ -15077,6 +15209,16 @@ module Google # @return [Google::Apis::ComputeAlpha::ManagedInstanceOverride] attr_accessor :override + # Preserved state for a given instance. + # Corresponds to the JSON property `preservedStateFromConfig` + # @return [Google::Apis::ComputeAlpha::PreservedState] + attr_accessor :preserved_state_from_config + + # Preserved state for a given instance. + # Corresponds to the JSON property `preservedStateFromPolicy` + # @return [Google::Apis::ComputeAlpha::PreservedState] + attr_accessor :preserved_state_from_policy + # [Output Only] Tag describing the version. # Corresponds to the JSON property `tag` # @return [String] @@ -15101,6 +15243,8 @@ module Google @instance_template = args[:instance_template] if args.key?(:instance_template) @last_attempt = args[:last_attempt] if args.key?(:last_attempt) @override = args[:override] if args.key?(:override) + @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config) + @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy) @tag = args[:tag] if args.key?(:tag) @version = args[:version] if args.key?(:version) end @@ -15336,7 +15480,8 @@ module Google # metadata's contents and used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update metadata. You must always provide an up-to-date fingerprint - # hash in order to update or change metadata. + # hash in order to update or change metadata, otherwise the request will fail + # with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve the resource. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -16286,7 +16431,8 @@ module Google # Fingerprint hash of contents stored in this network interface. This field will # be ignored when inserting an Instance or adding a NetworkInterface. An up-to- - # date fingerprint must be provided in order to update the NetworkInterface. + # date fingerprint must be provided in order to update the NetworkInterface, + # otherwise the request will fail with error 412 conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -16481,10 +16627,17 @@ module Google class NetworkPeering include Google::Apis::Core::Hashable - # Whether full mesh connectivity is created and managed automatically. When it - # is set to true, Google Compute Engine will automatically create and manage the - # routes between two networks when the state is ACTIVE. Otherwise, user needs to - # create routes manually to route packets to peer network. + # Whether Cloud Routers in this network can automatically advertise subnets from + # the peer network. + # Corresponds to the JSON property `advertisePeerSubnetsViaRouters` + # @return [Boolean] + attr_accessor :advertise_peer_subnets_via_routers + alias_method :advertise_peer_subnets_via_routers?, :advertise_peer_subnets_via_routers + + # Indicates whether full mesh connectivity is created and managed automatically. + # When it is set to true, Google Compute Engine will automatically create and + # manage the routes between two networks when the state is ACTIVE. Otherwise, + # user needs to create routes manually to route packets to peer network. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes @@ -16545,6 +16698,7 @@ module Google # Update properties of this object def update!(**args) + @advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers) @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes) @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes) @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes) @@ -16590,13 +16744,15 @@ module Google attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes - # Whether to export the custom routes to peer network. + # This field will be deprecated soon. Prefer using export_custom_routes in + # network_peering instead. Whether to export the custom routes to peer network. # Corresponds to the JSON property `exportCustomRoutes` # @return [Boolean] attr_accessor :export_custom_routes alias_method :export_custom_routes?, :export_custom_routes - # Whether to import the custom routes from peer network. + # This field will be deprecated soon. Prefer using import_custom_routes in + # network_peering instead. Whether to import the custom routes from peer network. # Corresponds to the JSON property `importCustomRoutes` # @return [Boolean] attr_accessor :import_custom_routes @@ -16681,6 +16837,11 @@ module Google class NodeGroup include Google::Apis::Core::Hashable + # + # Corresponds to the JSON property `autoscalingPolicy` + # @return [Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy] + attr_accessor :autoscaling_policy + # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] @@ -16747,6 +16908,7 @@ module Google # Update properties of this object def update!(**args) + @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @@ -16878,6 +17040,31 @@ module Google end end + # + class NodeGroupAutoscalingPolicy + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `maxSize` + # @return [Fixnum] + attr_accessor :max_size + + # + # Corresponds to the JSON property `minSize` + # @return [Fixnum] + attr_accessor :min_size + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @max_size = args[:max_size] if args.key?(:max_size) + @min_size = args[:min_size] if args.key?(:min_size) + end + end + # Contains a list of nodeGroups. class NodeGroupList include Google::Apis::Core::Hashable @@ -18924,11 +19111,26 @@ module Google # @return [String] attr_accessor :instance + # The name of the per-instance config and the corresponding instance. Serves as + # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance + # config with the same name exists then it will be updated, otherwise a new one + # will be created for the VM instance with the same name. An attempt to create a + # per-instance config for a VM instance that either doesn't exist or is not part + # of the group will result in a failure. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + # Overrides of stateful properties for a given instance # Corresponds to the JSON property `override` # @return [Google::Apis::ComputeAlpha::ManagedInstanceOverride] attr_accessor :override + # Preserved state for a given instance. + # Corresponds to the JSON property `preservedState` + # @return [Google::Apis::ComputeAlpha::PreservedState] + attr_accessor :preserved_state + def initialize(**args) update!(**args) end @@ -18937,7 +19139,9 @@ module Google def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @instance = args[:instance] if args.key?(:instance) + @name = args[:name] if args.key?(:name) @override = args[:override] if args.key?(:override) + @preserved_state = args[:preserved_state] if args.key?(:preserved_state) end end @@ -19042,6 +19246,69 @@ module Google end end + # Preserved state for a given instance. + class PreservedState + include Google::Apis::Core::Hashable + + # Preserved disks defined for this instance. This map is keyed with the device + # names of the disks. + # Corresponds to the JSON property `disks` + # @return [Hash] + attr_accessor :disks + + # Preserved metadata defined for this instance. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disks = args[:disks] if args.key?(:disks) + @metadata = args[:metadata] if args.key?(:metadata) + end + end + + # + class PreservedStatePreservedDisk + include Google::Apis::Core::Hashable + + # These stateful disks will never be deleted during autohealing, update, + # instance recreate operations. This flag is used to configure if the disk + # should be deleted after it is no longer used by the group, e.g. when the given + # instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode + # cannot be auto-deleted. + # Corresponds to the JSON property `autoDelete` + # @return [String] + attr_accessor :auto_delete + + # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not + # specified, the default is to attach the disk in READ_WRITE mode. + # Corresponds to the JSON property `mode` + # @return [String] + attr_accessor :mode + + # The URL of the disk resource that is stateful and should be attached to the VM + # instance. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auto_delete = args[:auto_delete] if args.key?(:auto_delete) + @mode = args[:mode] if args.key?(:mode) + @source = args[:source] if args.key?(:source) + end + end + # A Project resource. For an overview of projects, see Cloud Platform Resource # Hierarchy. (== resource_for v1.projects ==) (== resource_for beta.projects ==) class Project @@ -19840,6 +20107,12 @@ module Google # @return [Array] attr_accessor :instances + # The list of instance names for which we want to delete per-instance configs on + # this managed instance group. + # Corresponds to the JSON property `names` + # @return [Array] + attr_accessor :names + def initialize(**args) update!(**args) end @@ -19847,6 +20120,7 @@ module Google # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) + @names = args[:names] if args.key?(:names) end end @@ -21186,7 +21460,7 @@ module Google # @return [String] attr_accessor :duration - # Time within the window to start the operations. It must be in format "HH:MM?, + # Time within the window to start the operations. It must be in format "HH:MM", # where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] @@ -21219,7 +21493,7 @@ module Google # @return [Fixnum] attr_accessor :hours_in_cycle - # Time within the window to start the operations. It must be in format "HH:MM?, + # Time within the window to start the operations. It must be in format "HH:MM", # where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] @@ -21436,7 +21710,7 @@ module Google # @return [String] attr_accessor :duration - # Time within the window to start the operations. It must be in format "HH:MM?, + # Time within the window to start the operations. It must be in format "HH:MM", # where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] @@ -22122,11 +22396,12 @@ module Google # @return [String] attr_accessor :ip_address - # [Output Only] Type of how the resource/configuration of the BGP peer is - # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT - # represents an BGP peer that is automatically created for PARTNER - # interconnectAttachment, Google will automatically create/delete this type of - # BGP peer when the PARTNER interconnectAttachment is created/deleted. + # [Output Only] The resource that configures and manages this BGP peer. + # MANAGED_BY_USER is the default value and can be managed by you or other users; + # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud + # Interconnect, specifically by an InterconnectAttachment of type PARTNER. + # Google will automatically create, update, and delete this type of BGP peer + # when the PARTNER InterconnectAttachment is created, updated, or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type @@ -22193,12 +22468,12 @@ module Google # @return [String] attr_accessor :linked_vpn_tunnel - # [Output Only] Type of how the resource/configuration of the interface is - # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT - # represents an interface that is automatically created for PARTNER type - # interconnectAttachment, Google will automatically create/update/delete this - # type of interface when the PARTNER interconnectAttachment is created/ - # provisioned/deleted. + # [Output Only] The resource that configures and manages this interface. + # MANAGED_BY_USER is the default value and can be managed by you or other users; + # MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud + # Interconnect, specifically by an InterconnectAttachment of type PARTNER. + # Google will automatically create, update, and delete this type of interface + # when the PARTNER InterconnectAttachment is created, updated, or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type @@ -23241,7 +23516,8 @@ module Google # metadata's contents and used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update metadata. You must always provide an up-to-date fingerprint - # hash in order to update or change metadata. + # hash in order to update or change metadata, otherwise the request will fail + # with error 412 conditionNotMet. # To see the latest fingerprint, make get() request to the security policy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -23537,8 +23813,9 @@ module Google alias_method :preview?, :preview # An integer indicating the priority of a rule in the list. The priority must be - # a positive value between 0 and 2147483647. Rules are evaluated in the - # increasing order of priority. + # a positive value between 0 and 2147483647. Rules are evaluated from highest to + # lowest priority where 0 is the highest priority and 2147483647 is the lowest + # prority. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority @@ -23835,12 +24112,12 @@ module Google class ShieldedVmIdentityEntry include Google::Apis::Core::Hashable - # + # A PEM-encoded X.509 certificate. This field can be empty. # Corresponds to the JSON property `ekCert` # @return [String] attr_accessor :ek_cert - # + # A PEM-encoded public key. # Corresponds to the JSON property `ekPub` # @return [String] attr_accessor :ek_pub @@ -23960,7 +24237,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a snapshot. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -24999,7 +25277,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a SslPolicy. An up-to-date fingerprint must be provided in order to - # update the SslPolicy. + # update the SslPolicy, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an SslPolicy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -25167,6 +25446,11 @@ module Google # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources] attr_accessor :preserved_resources + # Configuration of preserved resources. + # Corresponds to the JSON property `preservedState` + # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedState] + attr_accessor :preserved_state + def initialize(**args) update!(**args) end @@ -25174,6 +25458,7 @@ module Google # Update properties of this object def update!(**args) @preserved_resources = args[:preserved_resources] if args.key?(:preserved_resources) + @preserved_state = args[:preserved_state] if args.key?(:preserved_state) end end @@ -25216,6 +25501,49 @@ module Google end end + # Configuration of preserved resources. + class StatefulPolicyPreservedState + include Google::Apis::Core::Hashable + + # Disks created on the instances that will be preserved on instance delete, + # resize down, etc. This map is keyed with the device names of the disks. + # Corresponds to the JSON property `disks` + # @return [Hash] + 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 + + # + class StatefulPolicyPreservedStateDiskDevice + include Google::Apis::Core::Hashable + + # These stateful disks will never be deleted during autohealing, update or VM + # instance recreate operations. This flag is used to configure if the disk + # should be deleted after it is no longer used by the group, e.g. when the given + # instance or the whole group is deleted. Note: disks attached in READ_ONLY mode + # cannot be auto-deleted. + # Corresponds to the JSON property `autoDelete` + # @return [String] + attr_accessor :auto_delete + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auto_delete = args[:auto_delete] if args.key?(:auto_delete) + end + end + # A Subnetwork resource. (== resource_for beta.subnetworks ==) (== resource_for # v1.subnetworks ==) class Subnetwork @@ -25275,7 +25603,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to - # update the Subnetwork. + # update the Subnetwork, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a Subnetwork. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -25323,6 +25652,11 @@ module Google # @return [String] attr_accessor :kind + # The available logging options for this subnetwork. + # Corresponds to the JSON property `logConfig` + # @return [Google::Apis::ComputeAlpha::SubnetworkLogConfig] + attr_accessor :log_config + # Can only be specified if VPC flow logging for this subnetwork is enabled. # Configures whether metadata fields should be added to the reported VPC flow # logs. Default is INCLUDE_ALL_METADATA. @@ -25375,7 +25709,8 @@ module Google # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to - # ACTIVE or is currently draining. + # ACTIVE or is currently draining. This field can be updated with a patch + # request. # Corresponds to the JSON property `role` # @return [String] attr_accessor :role @@ -25383,7 +25718,7 @@ module Google # An array of configurations for secondary IP ranges for VM instances contained # in this subnetwork. The primary IP of such VM must belong to the primary # ipCidrRange of the subnetwork. The alias IPs may belong to either primary or - # secondary ranges. + # secondary ranges. This field can be updated with a patch request. # Corresponds to the JSON property `secondaryIpRanges` # @return [Array] attr_accessor :secondary_ip_ranges @@ -25422,6 +25757,7 @@ module Google @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range) @kind = args[:kind] if args.key?(:kind) + @log_config = args[:log_config] if args.key?(:log_config) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @@ -25671,6 +26007,55 @@ module Google end end + # The available logging options for this subnetwork. + class SubnetworkLogConfig + include Google::Apis::Core::Hashable + + # Can only be specified if VPC flow logging for this subnetwork is enabled. + # Toggles the aggregation interval for collecting flow logs. Increasing the + # interval time will reduce the amount of generated flow logs for long lasting + # connections. Default is an interval of 5 seconds per connection. + # Corresponds to the JSON property `aggregationInterval` + # @return [String] + attr_accessor :aggregation_interval + + # Whether to enable flow logging for this subnetwork. If this field is not + # explicitly set, it will not appear in get listings. If not set the default + # behavior is to disable flow logging. + # Corresponds to the JSON property `enable` + # @return [Boolean] + attr_accessor :enable + alias_method :enable?, :enable + + # Can only be specified if VPC flow logging for this subnetwork is enabled. The + # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs + # within the subnetwork where 1.0 means all collected logs are reported and 0.0 + # means no logs are reported. Default is 0.5 which means half of all collected + # logs are reported. + # Corresponds to the JSON property `flowSampling` + # @return [Float] + attr_accessor :flow_sampling + + # Can only be specified if VPC flow logging for this subnetwork is enabled. + # Configures whether metadata fields should be added to the reported VPC flow + # logs. Default is INCLUDE_ALL_METADATA. + # Corresponds to the JSON property `metadata` + # @return [String] + attr_accessor :metadata + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval) + @enable = args[:enable] if args.key?(:enable) + @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling) + @metadata = args[:metadata] if args.key?(:metadata) + end + end + # Represents a secondary IP range of a subnetwork. class SubnetworkSecondaryRange include Google::Apis::Core::Hashable @@ -28330,7 +28715,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # TargetVpnGateway. # Corresponds to the JSON property `labelFingerprint` @@ -28880,7 +29266,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a UrlMap. An up-to-date fingerprint must be provided in order to - # update the UrlMap. + # update the UrlMap, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a UrlMap. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -29852,7 +30239,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an VpnGateway. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -30309,7 +30697,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a VpnTunnel. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. diff --git a/generated/google/apis/compute_alpha/representations.rb b/generated/google/apis/compute_alpha/representations.rb index 44beece34..26496c14c 100644 --- a/generated/google/apis/compute_alpha/representations.rb +++ b/generated/google/apis/compute_alpha/representations.rb @@ -502,6 +502,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class BackendServiceLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class BackendServiceReference class Representation < Google::Apis::Core::JsonRepresentation; end @@ -784,6 +790,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class DisplayDevice + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class DistributionPolicy class Representation < Google::Apis::Core::JsonRepresentation; end @@ -862,6 +874,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class FirewallLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class FixedOrPercent class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1312,6 +1330,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class InstanceGroupManagersCreateInstancesRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class InstanceGroupManagersDeleteInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2260,6 +2284,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class NodeGroupAutoscalingPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class NodeGroupList class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2578,6 +2608,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class PreservedState + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PreservedStatePreservedDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Project class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3502,6 +3544,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class StatefulPolicyPreservedState + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StatefulPolicyPreservedStateDiskDevice + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Subnetwork class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3544,6 +3598,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class SubnetworkLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SubnetworkSecondaryRange class Representation < Google::Apis::Core::JsonRepresentation; end @@ -5159,6 +5219,8 @@ module Google property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :load_balancing_scheme, as: 'loadBalancingScheme' + property :log_config, as: 'logConfig', class: Google::Apis::ComputeAlpha::BackendServiceLogConfig, decorator: Google::Apis::ComputeAlpha::BackendServiceLogConfig::Representation + property :name, as: 'name' property :port, as: 'port' property :port_name, as: 'portName' @@ -5302,6 +5364,14 @@ module Google end end + class BackendServiceLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable, as: 'enable' + property :sample_rate, as: 'sampleRate' + end + end + class BackendServiceReference # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5812,6 +5882,13 @@ module Google end end + class DisplayDevice + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable_display, as: 'enableDisplay' + end + end + class DistributionPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5895,6 +5972,8 @@ module Google property :enable_logging, as: 'enableLogging' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' + property :log_config, as: 'logConfig', class: Google::Apis::ComputeAlpha::FirewallLogConfig, decorator: Google::Apis::ComputeAlpha::FirewallLogConfig::Representation + property :name, as: 'name' property :network, as: 'network' property :priority, as: 'priority' @@ -5955,6 +6034,13 @@ module Google end end + class FirewallLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable, as: 'enable' + end + end + class FixedOrPercent # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -6547,6 +6633,8 @@ module Google property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeAlpha::AttachedDisk, decorator: Google::Apis::ComputeAlpha::AttachedDisk::Representation + property :display_device, as: 'displayDevice', class: Google::Apis::ComputeAlpha::DisplayDevice, decorator: Google::Apis::ComputeAlpha::DisplayDevice::Representation + collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeAlpha::AcceleratorConfig, decorator: Google::Apis::ComputeAlpha::AcceleratorConfig::Representation property :hostname, as: 'hostname' @@ -6896,6 +6984,14 @@ module Google end end + class InstanceGroupManagersCreateInstancesRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :instances, as: 'instances', class: Google::Apis::ComputeAlpha::PerInstanceConfig, decorator: Google::Apis::ComputeAlpha::PerInstanceConfig::Representation + + end + end + class InstanceGroupManagersDeleteInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -6907,6 +7003,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' + collection :names, as: 'names' end end @@ -8109,6 +8206,10 @@ module Google property :override, as: 'override', class: Google::Apis::ComputeAlpha::ManagedInstanceOverride, decorator: Google::Apis::ComputeAlpha::ManagedInstanceOverride::Representation + property :preserved_state_from_config, as: 'preservedStateFromConfig', class: Google::Apis::ComputeAlpha::PreservedState, decorator: Google::Apis::ComputeAlpha::PreservedState::Representation + + property :preserved_state_from_policy, as: 'preservedStateFromPolicy', class: Google::Apis::ComputeAlpha::PreservedState, decorator: Google::Apis::ComputeAlpha::PreservedState::Representation + property :tag, as: 'tag' property :version, as: 'version', class: Google::Apis::ComputeAlpha::ManagedInstanceVersion, decorator: Google::Apis::ComputeAlpha::ManagedInstanceVersion::Representation @@ -8481,6 +8582,7 @@ module Google class NetworkPeering # @private class Representation < Google::Apis::Core::JsonRepresentation + property :advertise_peer_subnets_via_routers, as: 'advertisePeerSubnetsViaRouters' property :auto_create_routes, as: 'autoCreateRoutes' property :exchange_subnet_routes, as: 'exchangeSubnetRoutes' property :export_custom_routes, as: 'exportCustomRoutes' @@ -8530,6 +8632,8 @@ module Google class NodeGroup # @private class Representation < Google::Apis::Core::JsonRepresentation + property :autoscaling_policy, as: 'autoscalingPolicy', class: Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy, decorator: Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy::Representation + property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' @@ -8575,6 +8679,14 @@ module Google end end + class NodeGroupAutoscalingPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :max_size, as: 'maxSize' + property :min_size, as: 'minSize' + end + end + class NodeGroupList # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -9115,8 +9227,11 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' property :instance, as: 'instance' + property :name, as: 'name' property :override, as: 'override', class: Google::Apis::ComputeAlpha::ManagedInstanceOverride, decorator: Google::Apis::ComputeAlpha::ManagedInstanceOverride::Representation + property :preserved_state, as: 'preservedState', class: Google::Apis::ComputeAlpha::PreservedState, decorator: Google::Apis::ComputeAlpha::PreservedState::Representation + end end @@ -9143,6 +9258,24 @@ module Google end end + class PreservedState + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :disks, as: 'disks', class: Google::Apis::ComputeAlpha::PreservedStatePreservedDisk, decorator: Google::Apis::ComputeAlpha::PreservedStatePreservedDisk::Representation + + hash :metadata, as: 'metadata' + end + end + + class PreservedStatePreservedDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :auto_delete, as: 'autoDelete' + property :mode, as: 'mode' + property :source, as: 'source' + end + end + class Project # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -9370,6 +9503,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' + collection :names, as: 'names' end end @@ -10757,6 +10891,8 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :preserved_resources, as: 'preservedResources', class: Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources, decorator: Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources::Representation + property :preserved_state, as: 'preservedState', class: Google::Apis::ComputeAlpha::StatefulPolicyPreservedState, decorator: Google::Apis::ComputeAlpha::StatefulPolicyPreservedState::Representation + end end @@ -10775,6 +10911,21 @@ module Google end end + class StatefulPolicyPreservedState + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :disks, as: 'disks', class: Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice, decorator: Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice::Representation + + end + end + + class StatefulPolicyPreservedStateDiskDevice + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :auto_delete, as: 'autoDelete' + end + end + class Subnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -10791,6 +10942,8 @@ module Google property :ip_cidr_range, as: 'ipCidrRange' property :ipv6_cidr_range, as: 'ipv6CidrRange' property :kind, as: 'kind' + property :log_config, as: 'logConfig', class: Google::Apis::ComputeAlpha::SubnetworkLogConfig, decorator: Google::Apis::ComputeAlpha::SubnetworkLogConfig::Representation + property :metadata, as: 'metadata' property :name, as: 'name' property :network, as: 'network' @@ -10869,6 +11022,16 @@ module Google end end + class SubnetworkLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :aggregation_interval, as: 'aggregationInterval' + property :enable, as: 'enable' + property :flow_sampling, as: 'flowSampling' + property :metadata, as: 'metadata' + end + end + class SubnetworkSecondaryRange # @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 b00116646..9afb8d869 100644 --- a/generated/google/apis/compute_alpha/service.rb +++ b/generated/google/apis/compute_alpha/service.rb @@ -529,7 +529,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -2283,7 +2283,7 @@ module Google end # Returns the specified BackendService resource. Gets a list of available - # backend services by making a list() request. + # backend services. # @param [String] project # Project ID for this request. # @param [String] backend_service @@ -3470,7 +3470,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::ZoneSetLabelsRequest] zone_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -4260,7 +4260,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -4615,7 +4615,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -4953,7 +4953,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -7025,7 +7025,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -7279,6 +7279,65 @@ module Google execute_or_queue_command(command, &block) end + # Creates instances with per-instance configs in this managed instance group. + # Instances are created using the current instance template. The create + # instances operation is marked DONE if the createInstances request is + # successful. The underlying actions take additional time. You must separately + # verify the status of the creating or actions with the listmanagedinstances + # method. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone where the managed instance group is located. It should + # conform to RFC1035. + # @param [String] instance_group_manager + # The name of the managed instance group. It should conform to RFC1035. + # @param [Google::Apis::ComputeAlpha::InstanceGroupManagersCreateInstancesRequest] instance_group_managers_create_instances_request_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. + # 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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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 create_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_create_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances', options) + command.request_representation = Google::Apis::ComputeAlpha::InstanceGroupManagersCreateInstancesRequest::Representation + command.request_object = instance_group_managers_create_instances_request_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['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.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 + # Deletes the specified managed instance group and all of the instances in that # group. Note that the instance group must not belong to a backend service. Read # Deleting an instance group for more information. @@ -8029,7 +8088,8 @@ module Google execute_or_queue_command(command, &block) end - # Modifies the autohealing policies. + # Modifies the autohealing policies. [Deprecated] This method is deprecated. + # Please use Patch instead. # @param [String] project # Project ID for this request. # @param [String] zone @@ -9624,9 +9684,10 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # Instance name. + # Instance name for this request. # @param [String] device_name - # Disk device name to detach. + # The device name of the disk to detach. Make a get() request on the instance to + # view currently attached disks and device names. # @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 @@ -10273,7 +10334,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Boolean] deletion_protection # Whether the resource should be protected against deletion. # @param [String] request_id @@ -10327,11 +10388,12 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # The instance name. + # The instance name for this request. # @param [Boolean] auto_delete # Whether to auto-delete the disk when the instance is deleted. # @param [String] device_name - # The device name of the disk to modify. + # The device name of the disk to modify. Make a get() request on the instance to + # view currently attached disks and device names. # @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 @@ -10702,7 +10764,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # Instance name. + # Instance name for this request. # @param [Google::Apis::ComputeAlpha::Scheduling] scheduling_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -11282,6 +11344,62 @@ module Google execute_or_queue_command(command, &block) end + # Updates the Display config for a VM instance. You can only use this method on + # a stopped VM instance. 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] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Google::Apis::ComputeAlpha::DisplayDevice] display_device_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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 update_instance_display_device(project, zone, instance, display_device_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/zones/{zone}/instances/{instance}/updateDisplayDevice', options) + command.request_representation = Google::Apis::ComputeAlpha::DisplayDevice::Representation + command.request_object = display_device_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['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.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 + # Updates an instance's network interface. This method follows PATCH semantics. # @param [String] project # Project ID for this request. @@ -11829,7 +11947,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -12443,7 +12561,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -14795,7 +14913,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] node_group - # Name of the NodeGroup resource to delete. + # Name of the NodeGroup resource. # @param [Google::Apis::ComputeAlpha::NodeGroupsAddNodesRequest] node_groups_add_nodes_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -16045,6 +16163,519 @@ module Google execute_or_queue_command(command, &block) end + # Inserts an association for the specified security policy. + # @param [String] security_policy + # Name of the security policy to update. + # @param [Google::Apis::ComputeAlpha::SecurityPolicyAssociation] security_policy_association_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_organization_security_policy_association(security_policy, security_policy_association_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/addAssociation', options) + command.request_representation = Google::Apis::ComputeAlpha::SecurityPolicyAssociation::Representation + command.request_object = security_policy_association_object + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['securityPolicy'] = security_policy unless security_policy.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 + + # Inserts a rule into a security policy. + # @param [String] security_policy + # Name of the security policy to update. + # @param [Google::Apis::ComputeAlpha::SecurityPolicyRule] security_policy_rule_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_organization_security_policy_rule(security_policy, security_policy_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'locations/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['securityPolicy'] = security_policy unless security_policy.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 + + # Deletes the specified policy. + # @param [String] security_policy + # Name of the security policy 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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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 delete_organization_security_policy(security_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, 'locations/global/securityPolicies/{securityPolicy}', options) + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['securityPolicy'] = security_policy unless security_policy.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 + + # List all of the ordered rules present in a single specified policy. + # @param [String] security_policy + # Name of the security policy to get. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeAlpha::SecurityPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::SecurityPolicy] + # + # @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_organization_security_policy(security_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'locations/global/securityPolicies/{securityPolicy}', options) + command.response_representation = Google::Apis::ComputeAlpha::SecurityPolicy::Representation + command.response_class = Google::Apis::ComputeAlpha::SecurityPolicy + 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 + + # Gets an association with the specified name. + # @param [String] security_policy + # Name of the security policy to which the queried rule belongs. + # @param [String] name + # The name of the association to get from the security policy. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeAlpha::SecurityPolicyAssociation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::SecurityPolicyAssociation] + # + # @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_organization_security_policy_association(security_policy, name: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'locations/global/securityPolicies/{securityPolicy}/getAssociation', options) + command.response_representation = Google::Apis::ComputeAlpha::SecurityPolicyAssociation::Representation + command.response_class = Google::Apis::ComputeAlpha::SecurityPolicyAssociation + command.params['securityPolicy'] = security_policy unless security_policy.nil? + command.query['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Gets a rule at the specified priority. + # @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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_organization_security_policy_rule(security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'locations/global/securityPolicies/{securityPolicy}/getRule', options) + command.response_representation = Google::Apis::ComputeAlpha::SecurityPolicyRule::Representation + command.response_class = Google::Apis::ComputeAlpha::SecurityPolicyRule + 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 [Google::Apis::ComputeAlpha::SecurityPolicy] security_policy_object + # @param [String] parent_id + # Parent ID for this request. + # @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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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 insert_organization_security_policy(security_policy_object = nil, parent_id: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'locations/global/securityPolicies', options) + command.request_representation = Google::Apis::ComputeAlpha::SecurityPolicy::Representation + command.request_object = security_policy_object + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.query['parentId'] = parent_id unless parent_id.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 + + # List all the policies that have been configured for the specified project. + # @param [String] filter + # A filter expression that filters resources listed in the response. The + # expression must specify the field name, a comparison operator, and the value + # that you want to use for filtering. The value must be a string, a number, or a + # boolean. The comparison operator must be either =, !=, >, or <. + # For example, if you are filtering Compute Engine instances, you can exclude + # instances named example-instance by specifying name != example-instance. + # You can also filter nested fields. For example, you could specify scheduling. + # automaticRestart = false to include instances only if they are not scheduled + # for automatic restarts. You can use filtering on nested fields to filter based + # on resource labels. + # To filter on multiple expressions, provide each separate expression within + # parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = " + # Intel Skylake"). By default, each expression is an AND expression. However, + # you can include AND and OR expressions explicitly. For example, (cpuPlatform = + # "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. + # automaticRestart = true). + # @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] parent_id + # Parent ID for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeAlpha::SecurityPolicyList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::SecurityPolicyList] + # + # @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_organization_security_policies(filter: nil, max_results: nil, order_by: nil, page_token: nil, parent_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'locations/global/securityPolicies', options) + command.response_representation = Google::Apis::ComputeAlpha::SecurityPolicyList::Representation + command.response_class = Google::Apis::ComputeAlpha::SecurityPolicyList + 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['parentId'] = parent_id unless parent_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 + + # Patches a rule at the specified priority. + # @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] 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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_organization_security_policy_rule(security_policy, security_policy_rule_object = nil, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'locations/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['securityPolicy'] = security_policy unless security_policy.nil? + command.query['priority'] = priority unless priority.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 + + # Removes an association for the specified security policy. + # @param [String] security_policy + # Name of the security policy to update. + # @param [String] name + # Name for the attachment that will be removed. + # @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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_organization_security_policy_association(security_policy, name: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/removeAssociation', options) + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['securityPolicy'] = security_policy unless security_policy.nil? + command.query['name'] = name unless name.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 + + # Deletes a rule at the specified priority. + # @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] 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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_organization_security_policy_rule(security_policy, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/removeRule', options) + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['securityPolicy'] = security_policy unless security_policy.nil? + command.query['priority'] = priority unless priority.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 + # Disable this project as a shared VPC host project. # @param [String] project # Project ID for this request. @@ -18367,7 +18998,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -19604,7 +20235,7 @@ module Google end # Modifies the autohealing policy for the instances in this managed instance - # group. + # group. [Deprecated] This method is deprecated. Please use Patch instead. # @param [String] project # Project ID for this request. # @param [String] region @@ -23642,7 +24273,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -23720,7 +24351,7 @@ module Google # snapshot might not necessarily delete all the data on that snapshot. If any # data on the snapshot that is marked for deletion is needed for subsequent # snapshots, the data will be moved to the next corresponding snapshot. - # For more information, see Deleting snaphots. + # For more information, see Deleting snapshots. # @param [String] project # Project ID for this request. # @param [String] snapshot @@ -23959,7 +24590,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -25174,10 +25805,9 @@ module Google end # Patches the specified subnetwork with the data included in the request. Only - # the following fields within the subnetwork resource can be specified in the - # request: secondary_ip_range, allow_subnet_cidr_routes_overlap and role. It is - # also mandatory to specify the current fingeprint of the subnetwork resource - # being patched. + # certain fields can up updated with a patch request as indicated in the field + # descriptions. You must specify the current fingeprint of the subnetwork + # resource being patched. # @param [String] project # Project ID for this request. # @param [String] region @@ -28347,7 +28977,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -29244,7 +29874,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -29630,7 +30260,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeAlpha::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so diff --git a/generated/google/apis/compute_beta.rb b/generated/google/apis/compute_beta.rb index 69367d554..7c80e3c90 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 = '20181022' + REVISION = '20181128' # 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 5d7e00a73..b687502fe 100644 --- a/generated/google/apis/compute_beta/classes.rb +++ b/generated/google/apis/compute_beta/classes.rb @@ -570,7 +570,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an Address. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -601,7 +602,11 @@ module Google attr_accessor :network # This signifies the networking tier used for configuring this Address and can - # only take the following values: PREMIUM , STANDARD. + # only take the following values: PREMIUM, STANDARD. Global forwarding rules can + # only be Premium Tier. Regional forwarding rules can be either Premium or + # Standard Tier. Standard Tier addresses applied to regional forwarding rules + # can be used with any external load balancer. Regional forwarding rules in + # Premium Tier can only be used with a Network load balancer. # If this field is not specified, it is assumed to be PREMIUM. # Corresponds to the JSON property `networkTier` # @return [String] @@ -1036,6 +1041,540 @@ module Google end end + # Allocation resource + class Allocation + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp in RFC3339 text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [Fixnum] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#allocations for allocations. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The name of the resource, provided by the client when initially creating the + # resource. The resource name must be 1-63 characters long, and comply with + # RFC1035. Specifically, the name must be 1-63 characters long and match the + # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + # character must be a lowercase letter, and all following characters must be a + # dash, lowercase letter, or digit, except the last character, which cannot be a + # dash. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # [Output Only] Server-defined fully-qualified URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # This allocation type allows to pre allocate specific instance configuration. + # Corresponds to the JSON property `specificAllocation` + # @return [Google::Apis::ComputeBeta::AllocationSpecificSkuAllocation] + attr_accessor :specific_allocation + + # Indicates whether the allocation can be consumed by VMs with "any allocation" + # defined. If the field is set, then only VMs that target the allocation by name + # using --allocation-affinity can consume this allocation. + # Corresponds to the JSON property `specificAllocationRequired` + # @return [Boolean] + attr_accessor :specific_allocation_required + alias_method :specific_allocation_required?, :specific_allocation_required + + # + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @description = args[:description] if args.key?(:description) + @id = args[:id] if args.key?(:id) + @kind = args[:kind] if args.key?(:kind) + @name = args[:name] if args.key?(:name) + @self_link = args[:self_link] if args.key?(:self_link) + @specific_allocation = args[:specific_allocation] if args.key?(:specific_allocation) + @specific_allocation_required = args[:specific_allocation_required] if args.key?(:specific_allocation_required) + @zone = args[:zone] if args.key?(:zone) + end + end + + # AllocationAffinity is the configuration of desired allocation which this + # instance could take capacity from. + class AllocationAffinity + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `consumeAllocationType` + # @return [String] + attr_accessor :consume_allocation_type + + # Corresponds to the label key of allocation resource. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # Corresponds to the label values of allocation resource. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @consume_allocation_type = args[:consume_allocation_type] if args.key?(:consume_allocation_type) + @key = args[:key] if args.key?(:key) + @values = args[:values] if args.key?(:values) + end + end + + # Contains a list of allocations. + class AllocationAggregatedList + 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 Allocation resources. + # Corresponds to the JSON property `items` + # @return [Hash] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::AllocationAggregatedList::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 + + # + class AllocationList + include Google::Apis::Core::Hashable + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # [Output Only] A list of Allocation resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource.Always compute#allocationsList for listsof + # allocations + # 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::ComputeBeta::AllocationList::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 + + # This allocation type allows to pre allocate specific instance configuration. + class AllocationSpecificSkuAllocation + include Google::Apis::Core::Hashable + + # Specifies number of resources that are allocated. + # Corresponds to the JSON property `count` + # @return [Fixnum] + attr_accessor :count + + # [OutputOnly] Indicates how many resource are in use. + # Corresponds to the JSON property `inUseCount` + # @return [Fixnum] + attr_accessor :in_use_count + + # Properties of the SKU instances being reserved. + # Corresponds to the JSON property `instanceProperties` + # @return [Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationAllocatedInstanceProperties] + attr_accessor :instance_properties + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @count = args[:count] if args.key?(:count) + @in_use_count = args[:in_use_count] if args.key?(:in_use_count) + @instance_properties = args[:instance_properties] if args.key?(:instance_properties) + end + end + + # Properties of the SKU instances being reserved. + class AllocationSpecificSkuAllocationAllocatedInstanceProperties + include Google::Apis::Core::Hashable + + # Specifies accelerator type and count. + # Corresponds to the JSON property `guestAccelerators` + # @return [Array] + attr_accessor :guest_accelerators + + # Specifies amount of local ssd to reserve with each instance. The type of disk + # is local-ssd. + # Corresponds to the JSON property `localSsds` + # @return [Array] + attr_accessor :local_ssds + + # Specifies type of machine (name only) which has fixed number of vCPUs and + # fixed amount of memory. This also includes specifying custom machine type + # following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern. + # Corresponds to the JSON property `machineType` + # @return [String] + attr_accessor :machine_type + + # Minimum cpu platform the allocation. + # Corresponds to the JSON property `minCpuPlatform` + # @return [String] + attr_accessor :min_cpu_platform + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) + @local_ssds = args[:local_ssds] if args.key?(:local_ssds) + @machine_type = args[:machine_type] if args.key?(:machine_type) + @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) + end + end + + # + class AllocationSpecificSkuAllocationAllocatedInstancePropertiesAllocatedDisk + include Google::Apis::Core::Hashable + + # Specifies the size of the disk in base-2 GB. + # Corresponds to the JSON property `diskSizeGb` + # @return [Fixnum] + attr_accessor :disk_size_gb + + # Specifies the disk interface to use for attaching this disk, which is either + # SCSI or NVME. The default is SCSI. For performance characteristics of SCSI + # over NVMe, see Local SSD performance. + # Corresponds to the JSON property `interface` + # @return [String] + attr_accessor :interface + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) + @interface = args[:interface] if args.key?(:interface) + end + end + + # + class AllocationsScopedList + include Google::Apis::Core::Hashable + + # A list of allocations contained in this scope. + # Corresponds to the JSON property `allocations` + # @return [Array] + attr_accessor :allocations + + # Informational warning which replaces the list of allocations when the list is + # empty. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::AllocationsScopedList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allocations = args[:allocations] if args.key?(:allocations) + @warning = args[:warning] if args.key?(:warning) + end + + # Informational warning which replaces the list of allocations 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 + # An instance-attached disk resource. class AttachedDisk include Google::Apis::Core::Hashable @@ -1951,8 +2490,7 @@ module Google attr_accessor :utilization_target # Defines how target utilization value is expressed for a Stackdriver Monitoring - # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, - # the default is GAUGE. + # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. # Corresponds to the JSON property `utilizationTargetType` # @return [String] attr_accessor :utilization_target_type @@ -2200,7 +2738,7 @@ module Google # considered fresh. After this time period, the response will be revalidated # before being served. Defaults to 1hr (3600s). When serving responses to signed # URL requests, Cloud CDN will internally behave as though all responses from - # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless + # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless # of any existing Cache-Control header. The actual headers served in responses # will not be altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` @@ -2395,7 +2933,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a BackendService. An up-to-date fingerprint must be provided in - # order to update the BackendService. + # order to update the BackendService, otherwise the request will fail with error + # 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # BackendService. # Corresponds to the JSON property `fingerprint` @@ -2669,7 +3208,7 @@ module Google # considered fresh. After this time period, the response will be revalidated # before being served. Defaults to 1hr (3600s). When serving responses to signed # URL requests, Cloud CDN will internally behave as though all responses from - # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless + # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless # of any existing Cache-Control header. The actual headers served in responses # will not be altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` @@ -3128,6 +3667,11 @@ module Google class Commitment include Google::Apis::Core::Hashable + # List of allocations for this commitment. + # Corresponds to the JSON property `allocations` + # @return [Array] + attr_accessor :allocations + # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] @@ -3211,6 +3755,7 @@ module Google # Update properties of this object def update!(**args) + @allocations = args[:allocations] if args.key?(:allocations) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp) @@ -3793,7 +4338,8 @@ module Google # a hash of the labels set used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update labels. You must always provide an up-to-date fingerprint - # hash in order to update or change labels. + # hash in order to update or change labels, otherwise the request will fail with + # error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a disk. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -3841,6 +4387,14 @@ module Google # @return [String] attr_accessor :options + # Physical block size of the persistent disk, in bytes. If not present in a + # request, a default value is used. Currently supported sizes are 4096 and 16384, + # other sizes may be added in the future. If an unsupported value is requested, + # the error message will list the supported values for the caller's project. + # Corresponds to the JSON property `physicalBlockSizeBytes` + # @return [Fixnum] + attr_accessor :physical_block_size_bytes + # [Output Only] URL of the region where the disk resides. Only applicable for # regional resources. You must specify this field as part of the HTTP request # URL. It is not settable as a field in the request body. @@ -3982,6 +4536,7 @@ module Google @licenses = args[:licenses] if args.key?(:licenses) @name = args[:name] if args.key?(:name) @options = args[:options] if args.key?(:options) + @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes) @region = args[:region] if args.key?(:region) @replica_zones = args[:replica_zones] if args.key?(:replica_zones) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @@ -4881,6 +5436,26 @@ module Google end end + # A set of Display Device options + class DisplayDevice + include Google::Apis::Core::Hashable + + # Defines whether the instance has Display enabled. + # Corresponds to the JSON property `enableDisplay` + # @return [Boolean] + attr_accessor :enable_display + alias_method :enable_display?, :enable_display + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable_display = args[:enable_display] if args.key?(:enable_display) + end + end + # class DistributionPolicy include Google::Apis::Core::Hashable @@ -4921,6 +5496,168 @@ module Google end end + # + class ExchangedPeeringRoute + include Google::Apis::Core::Hashable + + # The destination range of the route. + # Corresponds to the JSON property `destRange` + # @return [String] + attr_accessor :dest_range + + # If the peering route is imported if there is no confliction. + # Corresponds to the JSON property `imported` + # @return [Boolean] + attr_accessor :imported + alias_method :imported?, :imported + + # The region of peering route next hop, only applies to dynamic routes. + # Corresponds to the JSON property `nextHopRegion` + # @return [String] + attr_accessor :next_hop_region + + # The priority of the peering route. + # Corresponds to the JSON property `priority` + # @return [Fixnum] + attr_accessor :priority + + # The type of the peering route. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dest_range = args[:dest_range] if args.key?(:dest_range) + @imported = args[:imported] if args.key?(:imported) + @next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region) + @priority = args[:priority] if args.key?(:priority) + @type = args[:type] if args.key?(:type) + end + end + + # + class ExchangedPeeringRoutesList + 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 ExchangedPeeringRoute resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for + # exchanged peering routes lists. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] 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::ComputeBeta::ExchangedPeeringRoutesList::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 + # Represents an expression text. Example: # title: "User account presence" description: "Determines whether the request # has a user account" expression: "size(request.user) > 0" @@ -5015,8 +5752,9 @@ module Google 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 Stackdriver. + # Deprecated in favor of enable in LogConfig. This field denotes whether to + # enable logging for a particular firewall rule. If logging is enabled, logs + # will be exported to Stackdriver. # Corresponds to the JSON property `enableLogging` # @return [Boolean] attr_accessor :enable_logging @@ -5033,6 +5771,11 @@ module Google # @return [String] attr_accessor :kind + # The available logging options for a firewall rule. + # Corresponds to the JSON property `logConfig` + # @return [Google::Apis::ComputeBeta::FirewallLogConfig] + attr_accessor :log_config + # 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- @@ -5143,6 +5886,7 @@ module Google @enable_logging = args[:enable_logging] if args.key?(:enable_logging) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) + @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @priority = args[:priority] if args.key?(:priority) @@ -5335,6 +6079,26 @@ module Google end end + # The available logging options for a firewall rule. + class FirewallLogConfig + include Google::Apis::Core::Hashable + + # This field denotes whether to enable logging for a particular firewall rule. + # Corresponds to the JSON property `enable` + # @return [Boolean] + attr_accessor :enable + alias_method :enable?, :enable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable = args[:enable] if args.key?(:enable) + end + end + # Encapsulates numeric value that can be either absolute or relative. class FixedOrPercent include Google::Apis::Core::Hashable @@ -5474,7 +6238,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # ForwardingRule. # Corresponds to the JSON property `labelFingerprint` @@ -5547,9 +6312,9 @@ module Google # This field is used along with the backend_service field for internal load # balancing. - # When the load balancing scheme is INTERNAL, a single port or a comma separated - # list of ports can be configured. Only packets addressed to these ports will be - # forwarded to the backends configured with this forwarding rule. + # When the load balancing scheme is INTERNAL, a list of ports can be configured, + # for example, ['80'], ['8000','9000'] etc. Only packets addressed to these + # ports will be forwarded to the backends configured with this forwarding rule. # You may specify a maximum of up to 5 ports. # Corresponds to the JSON property `ports` # @return [Array] @@ -5991,8 +6756,9 @@ module Google # The fingerprint of the previous set of labels for this resource, used to # detect conflicts. The fingerprint is initially generated by Compute Engine and # changes after every request to modify or update labels. You must always - # provide an up-to-date fingerprint hash when updating or changing labels. Make - # a get() request to the resource to get the latest fingerprint. + # provide an up-to-date fingerprint hash when updating or changing labels, + # otherwise the request will fail with error 412 conditionNotMet. Make a get() + # request to the resource to get the latest fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -6024,7 +6790,7 @@ module Google class GlobalSetPolicyRequest include Google::Apis::Core::Hashable - # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use ' + # Flatten Policy to create a backward compatible wire-format. Deprecated. Use ' # policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] @@ -7317,7 +8083,8 @@ module Google # a hash of the labels used for optimistic locking. The fingerprint is initially # generated by Compute Engine and changes after every request to modify or # update labels. You must always provide an up-to-date fingerprint hash in order - # to update or change labels. + # to update or change labels, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an image. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -7634,6 +8401,12 @@ module Google class Instance include Google::Apis::Core::Hashable + # AllocationAffinity is the configuration of desired allocation which this + # instance could take capacity from. + # Corresponds to the JSON property `allocationAffinity` + # @return [Google::Apis::ComputeBeta::AllocationAffinity] + attr_accessor :allocation_affinity + # Allows this instance to send and receive packets with non-matching destination # or source IPs. This is required if you plan to use this instance to forward # routes. For more information, see Enabling IP Forwarding. @@ -7670,6 +8443,11 @@ module Google # @return [Array] attr_accessor :disks + # A set of Display Device options + # Corresponds to the JSON property `displayDevice` + # @return [Google::Apis::ComputeBeta::DisplayDevice] + attr_accessor :display_device + # A list of the type and count of accelerator cards attached to the instance. # Corresponds to the JSON property `guestAccelerators` # @return [Array] @@ -7822,12 +8600,14 @@ module Google # Update properties of this object def update!(**args) + @allocation_affinity = args[:allocation_affinity] if args.key?(:allocation_affinity) @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) + @display_device = args[:display_device] if args.key?(:display_device) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @hostname = args[:hostname] if args.key?(:hostname) @id = args[:id] if args.key?(:id) @@ -8367,7 +9147,8 @@ module Google # Fingerprint of this resource. This field may be used in optimistic locking. It # will be ignored when inserting an InstanceGroupManager. An up-to-date - # fingerprint must be provided in order to update the InstanceGroupManager. + # fingerprint must be provided in order to update the InstanceGroupManager, + # otherwise the request will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # InstanceGroupManager. # Corresponds to the JSON property `fingerprint` @@ -9588,7 +10369,8 @@ module Google # named ports settings concurrently. Obtain the fingerprint with the # instanceGroups.get method. Then, include the fingerprint in your request to # ensure that you do not overwrite changes that were applied from another - # concurrent request. + # concurrent request. A request with an incorrect fingerprint will fail with + # error 412 conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -9884,6 +10666,12 @@ module Google class InstanceProperties include Google::Apis::Core::Hashable + # AllocationAffinity is the configuration of desired allocation which this + # instance could take capacity from. + # Corresponds to the JSON property `allocationAffinity` + # @return [Google::Apis::ComputeBeta::AllocationAffinity] + attr_accessor :allocation_affinity + # Enables instances created based on this template to send packets with source # IP addresses other than their own and receive packets with destination IP # addresses other than their own. If these instances will be used as an IP @@ -9970,6 +10758,7 @@ module Google # Update properties of this object def update!(**args) + @allocation_affinity = args[:allocation_affinity] if args.key?(:allocation_affinity) @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @@ -10578,7 +11367,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # Interconnect. # Corresponds to the JSON property `labelFingerprint` @@ -10707,7 +11497,7 @@ module Google # Provisioned bandwidth capacity for the interconnectAttachment. Can be set by # the partner to update the customer's provisioned bandwidth. Output only for - # for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. + # PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED. # Corresponds to the JSON property `bandwidth` # @return [String] attr_accessor :bandwidth @@ -10783,7 +11573,8 @@ module Google # which is essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # InterconnectAttachment. # Corresponds to the JSON property `labelFingerprint` @@ -10849,7 +11640,7 @@ module Google # @return [String] attr_accessor :region - # URL of the cloud router to be used for dynamic routing. This router must be in + # 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. @@ -10872,9 +11663,8 @@ module Google # @return [String] attr_accessor :type - # Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for this - # attachment, in the range 2-4094. This field refers to 802.1q VLAN tag, also - # known as IEEE 802.1Q Only specified at creation time. + # The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only + # specified at creation time. # Corresponds to the JSON property `vlanTag8021q` # @return [Fixnum] attr_accessor :vlan_tag8021q @@ -11158,7 +11948,7 @@ module Google include Google::Apis::Core::Hashable # Plain text name of the Interconnect this attachment is connected to, as - # displayed in the Partner?s portal. For instance ?Chicago 1?. This value may be + # displayed in the Partner?s portal. For instance "Chicago 1". This value may be # validated to match approved Partner values. # Corresponds to the JSON property `interconnectName` # @return [String] @@ -11435,7 +12225,10 @@ module Google # @return [String] attr_accessor :state - # Value of the current optical power, read in dBm. + # Value of the current optical power, read in dBm. Take a known good optical + # value, give it a 10% margin and trigger warnings relative to that value. In + # general, a -7dBm warning and a -11dBm alarm are good optical value estimates + # for most links. # Corresponds to the JSON property `value` # @return [Float] attr_accessor :value @@ -11705,6 +12498,13 @@ module Google # @return [String] attr_accessor :self_link + # [Output Only] The status of this InterconnectLocation. If the status is + # AVAILABLE, new Interconnects may be provisioned in this InterconnectLocation. + # Otherwise, no new Interconnects may be provisioned. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + def initialize(**args) update!(**args) end @@ -11725,6 +12525,7 @@ module Google @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) + @status = args[:status] if args.key?(:status) end end @@ -13018,7 +13819,8 @@ module Google # metadata's contents and used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update metadata. You must always provide an up-to-date fingerprint - # hash in order to update or change metadata. + # hash in order to update or change metadata, otherwise the request will fail + # with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve the resource. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -13937,7 +14739,8 @@ module Google # Fingerprint hash of contents stored in this network interface. This field will # be ignored when inserting an Instance or adding a NetworkInterface. An up-to- - # date fingerprint must be provided in order to update the NetworkInterface. + # date fingerprint must be provided in order to update the NetworkInterface, + # otherwise the request will fail with error 412 conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -14132,15 +14935,36 @@ module Google class NetworkPeering include Google::Apis::Core::Hashable - # Whether full mesh connectivity is created and managed automatically. When it - # is set to true, Google Compute Engine will automatically create and manage the - # routes between two networks when the state is ACTIVE. Otherwise, user needs to - # create routes manually to route packets to peer network. + # Indicates whether full mesh connectivity is created and managed automatically. + # When it is set to true, Google Compute Engine will automatically create and + # manage the routes between two networks when the state is ACTIVE. Otherwise, + # user needs to create routes manually to route packets to peer network. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes + # Whether full mesh connectivity is created and managed automatically. When it + # is set to true, Google Compute Engine will automatically create and manage the + # routes between two networks when the peering state is ACTIVE. Otherwise, user + # needs to create routes manually to route packets to peer network. + # Corresponds to the JSON property `exchangeSubnetRoutes` + # @return [Boolean] + attr_accessor :exchange_subnet_routes + alias_method :exchange_subnet_routes?, :exchange_subnet_routes + + # Whether to export the custom routes to peer network. + # Corresponds to the JSON property `exportCustomRoutes` + # @return [Boolean] + attr_accessor :export_custom_routes + alias_method :export_custom_routes?, :export_custom_routes + + # Whether to import the custom routes from peer network. + # Corresponds to the JSON property `importCustomRoutes` + # @return [Boolean] + attr_accessor :import_custom_routes + alias_method :import_custom_routes?, :import_custom_routes + # Name of this peering. Provided by the client when the peering is created. The # name must comply with RFC1035. Specifically, the name must be 1-63 characters # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the @@ -14176,6 +15000,9 @@ module Google # Update properties of this object def update!(**args) @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes) + @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes) + @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes) + @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @state = args[:state] if args.key?(:state) @@ -14222,6 +15049,13 @@ module Google # @return [String] attr_accessor :name + # A network peering attached to a network resource. The message includes the + # peering name, peer network, peering state, and a flag indicating whether + # Google Compute Engine should automatically create routes for the peering. + # Corresponds to the JSON property `networkPeering` + # @return [Google::Apis::ComputeBeta::NetworkPeering] + attr_accessor :network_peering + # URL of the peer network. It can be either full URL or partial URL. The peer # network may belong to a different project. If the partial URL does not contain # project, it is assumed that the peer network is in the same project as the @@ -14238,6 +15072,7 @@ module Google def update!(**args) @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes) @name = args[:name] if args.key?(:name) + @network_peering = args[:network_peering] if args.key?(:network_peering) @peer_network = args[:peer_network] if args.key?(:peer_network) end end @@ -14261,6 +15096,27 @@ module Google end end + # + class NetworksUpdatePeeringRequest + include Google::Apis::Core::Hashable + + # A network peering attached to a network resource. The message includes the + # peering name, peer network, peering state, and a flag indicating whether + # Google Compute Engine should automatically create routes for the peering. + # Corresponds to the JSON property `networkPeering` + # @return [Google::Apis::ComputeBeta::NetworkPeering] + attr_accessor :network_peering + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @network_peering = args[:network_peering] if args.key?(:network_peering) + end + end + # A NodeGroup resource. class NodeGroup include Google::Apis::Core::Hashable @@ -18463,7 +19319,7 @@ module Google # @return [String] attr_accessor :duration - # Time within the window to start the operations. It must be in format "HH:MM?, + # Time within the window to start the operations. It must be in format "HH:MM", # where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] @@ -18496,7 +19352,7 @@ module Google # @return [Fixnum] attr_accessor :hours_in_cycle - # Time within the window to start the operations. It must be in format "HH:MM?, + # Time within the window to start the operations. It must be in format "HH:MM", # where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] @@ -18673,7 +19529,7 @@ module Google # @return [String] attr_accessor :duration - # Time within the window to start the operations. It must be in format "HH:MM?, + # Time within the window to start the operations. It must be in format "HH:MM", # where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] @@ -19359,11 +20215,12 @@ module Google # @return [String] attr_accessor :ip_address - # [Output Only] Type of how the resource/configuration of the BGP peer is - # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT - # represents an BGP peer that is automatically created for PARTNER - # interconnectAttachment, Google will automatically create/delete this type of - # BGP peer when the PARTNER interconnectAttachment is created/deleted. + # [Output Only] The resource that configures and manages this BGP peer. + # MANAGED_BY_USER is the default value and can be managed by you or other users; + # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud + # Interconnect, specifically by an InterconnectAttachment of type PARTNER. + # Google will automatically create, update, and delete this type of BGP peer + # when the PARTNER InterconnectAttachment is created, updated, or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type @@ -19430,12 +20287,12 @@ module Google # @return [String] attr_accessor :linked_vpn_tunnel - # [Output Only] Type of how the resource/configuration of the interface is - # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT - # represents an interface that is automatically created for PARTNER type - # interconnectAttachment, Google will automatically create/update/delete this - # type of interface when the PARTNER interconnectAttachment is created/ - # provisioned/deleted. + # [Output Only] The resource that configures and manages this interface. + # MANAGED_BY_USER is the default value and can be managed by you or other users; + # MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud + # Interconnect, specifically by an InterconnectAttachment of type PARTNER. + # Google will automatically create, update, and delete this type of interface + # when the PARTNER InterconnectAttachment is created, updated, or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type @@ -20280,7 +21137,8 @@ module Google # metadata's contents and used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update metadata. You must always provide an up-to-date fingerprint - # hash in order to update or change metadata. + # hash in order to update or change metadata, otherwise the request will fail + # with error 412 conditionNotMet. # To see the latest fingerprint, make get() request to the security policy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -20527,8 +21385,9 @@ module Google alias_method :preview?, :preview # An integer indicating the priority of a rule in the list. The priority must be - # a positive value between 0 and 2147483647. Rules are evaluated in the - # increasing order of priority. + # a positive value between 0 and 2147483647. Rules are evaluated from highest to + # lowest priority where 0 is the highest priority and 2147483647 is the lowest + # prority. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority @@ -20749,12 +21608,12 @@ module Google class ShieldedVmIdentityEntry include Google::Apis::Core::Hashable - # + # A PEM-encoded X.509 certificate. This field can be empty. # Corresponds to the JSON property `ekCert` # @return [String] attr_accessor :ek_cert - # + # A PEM-encoded public key. # Corresponds to the JSON property `ekPub` # @return [String] attr_accessor :ek_pub @@ -20867,7 +21726,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a snapshot. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -21580,7 +22440,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a SslPolicy. An up-to-date fingerprint must be provided in order to - # update the SslPolicy. + # update the SslPolicy, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an SslPolicy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -21782,7 +22643,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to - # update the Subnetwork. + # update the Subnetwork, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a Subnetwork. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -21850,7 +22712,7 @@ module Google # An array of configurations for secondary IP ranges for VM instances contained # in this subnetwork. The primary IP of such VM must belong to the primary # ipCidrRange of the subnetwork. The alias IPs may belong to either primary or - # secondary ranges. + # secondary ranges. This field can be updated with a patch request. # Corresponds to the JSON property `secondaryIpRanges` # @return [Array] attr_accessor :secondary_ip_ranges @@ -24347,7 +25209,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # TargetVpnGateway. # Corresponds to the JSON property `labelFingerprint` @@ -24856,7 +25719,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a UrlMap. An up-to-date fingerprint must be provided in order to - # update the UrlMap. + # update the UrlMap, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a UrlMap. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -25624,7 +26488,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a VpnTunnel. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. diff --git a/generated/google/apis/compute_beta/representations.rb b/generated/google/apis/compute_beta/representations.rb index 74449d3c7..d4e224bdd 100644 --- a/generated/google/apis/compute_beta/representations.rb +++ b/generated/google/apis/compute_beta/representations.rb @@ -160,6 +160,90 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Allocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AllocationAffinity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AllocationAggregatedList + 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 AllocationList + 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 AllocationSpecificSkuAllocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AllocationSpecificSkuAllocationAllocatedInstanceProperties + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AllocationSpecificSkuAllocationAllocatedInstancePropertiesAllocatedDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AllocationsScopedList + 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 AttachedDisk class Representation < Google::Apis::Core::JsonRepresentation; end @@ -658,6 +742,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class DisplayDevice + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class DistributionPolicy class Representation < Google::Apis::Core::JsonRepresentation; end @@ -670,6 +760,30 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ExchangedPeeringRoute + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExchangedPeeringRoutesList + 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 Expr class Representation < Google::Apis::Core::JsonRepresentation; end @@ -712,6 +826,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class FirewallLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class FixedOrPercent class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1894,6 +2014,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class NetworksUpdatePeeringRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class NodeGroup class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3966,6 +4092,153 @@ module Google end end + class Allocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :id, :numeric_string => true, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :specific_allocation, as: 'specificAllocation', class: Google::Apis::ComputeBeta::AllocationSpecificSkuAllocation, decorator: Google::Apis::ComputeBeta::AllocationSpecificSkuAllocation::Representation + + property :specific_allocation_required, as: 'specificAllocationRequired' + property :zone, as: 'zone' + end + end + + class AllocationAffinity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :consume_allocation_type, as: 'consumeAllocationType' + property :key, as: 'key' + collection :values, as: 'values' + end + end + + class AllocationAggregatedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + hash :items, as: 'items', class: Google::Apis::ComputeBeta::AllocationsScopedList, decorator: Google::Apis::ComputeBeta::AllocationsScopedList::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::AllocationAggregatedList::Warning, decorator: Google::Apis::ComputeBeta::AllocationAggregatedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::AllocationAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::AllocationAggregatedList::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 AllocationList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Allocation, decorator: Google::Apis::ComputeBeta::Allocation::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::AllocationList::Warning, decorator: Google::Apis::ComputeBeta::AllocationList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::AllocationList::Warning::Datum, decorator: Google::Apis::ComputeBeta::AllocationList::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 AllocationSpecificSkuAllocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :count, :numeric_string => true, as: 'count' + property :in_use_count, :numeric_string => true, as: 'inUseCount' + property :instance_properties, as: 'instanceProperties', class: Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationAllocatedInstanceProperties, decorator: Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationAllocatedInstanceProperties::Representation + + end + end + + class AllocationSpecificSkuAllocationAllocatedInstanceProperties + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeBeta::AcceleratorConfig, decorator: Google::Apis::ComputeBeta::AcceleratorConfig::Representation + + collection :local_ssds, as: 'localSsds', class: Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationAllocatedInstancePropertiesAllocatedDisk, decorator: Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationAllocatedInstancePropertiesAllocatedDisk::Representation + + property :machine_type, as: 'machineType' + property :min_cpu_platform, as: 'minCpuPlatform' + end + end + + class AllocationSpecificSkuAllocationAllocatedInstancePropertiesAllocatedDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' + property :interface, as: 'interface' + end + end + + class AllocationsScopedList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allocations, as: 'allocations', class: Google::Apis::ComputeBeta::Allocation, decorator: Google::Apis::ComputeBeta::Allocation::Representation + + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::AllocationsScopedList::Warning, decorator: Google::Apis::ComputeBeta::AllocationsScopedList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::AllocationsScopedList::Warning::Datum, decorator: Google::Apis::ComputeBeta::AllocationsScopedList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + class AttachedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4453,6 +4726,8 @@ module Google class Commitment # @private class Representation < Google::Apis::Core::JsonRepresentation + collection :allocations, as: 'allocations', class: Google::Apis::ComputeBeta::Allocation, decorator: Google::Apis::ComputeBeta::Allocation::Representation + property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :end_timestamp, as: 'endTimestamp' @@ -4630,6 +4905,7 @@ module Google collection :licenses, as: 'licenses' property :name, as: 'name' property :options, as: 'options' + property :physical_block_size_bytes, :numeric_string => true, as: 'physicalBlockSizeBytes' property :region, as: 'region' collection :replica_zones, as: 'replicaZones' collection :resource_policies, as: 'resourcePolicies' @@ -4892,6 +5168,13 @@ module Google end end + class DisplayDevice + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable_display, as: 'enableDisplay' + end + end + class DistributionPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4907,6 +5190,49 @@ module Google end end + class ExchangedPeeringRoute + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dest_range, as: 'destRange' + property :imported, as: 'imported' + property :next_hop_region, as: 'nextHopRegion' + property :priority, as: 'priority' + property :type, as: 'type' + end + end + + class ExchangedPeeringRoutesList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::ExchangedPeeringRoute, decorator: Google::Apis::ComputeBeta::ExchangedPeeringRoute::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::ExchangedPeeringRoutesList::Warning, decorator: Google::Apis::ComputeBeta::ExchangedPeeringRoutesList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::ExchangedPeeringRoutesList::Warning::Datum, decorator: Google::Apis::ComputeBeta::ExchangedPeeringRoutesList::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 Expr # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4932,6 +5258,8 @@ module Google property :enable_logging, as: 'enableLogging' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' + property :log_config, as: 'logConfig', class: Google::Apis::ComputeBeta::FirewallLogConfig, decorator: Google::Apis::ComputeBeta::FirewallLogConfig::Representation + property :name, as: 'name' property :network, as: 'network' property :priority, as: 'priority' @@ -4992,6 +5320,13 @@ module Google end end + class FirewallLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable, as: 'enable' + end + end + class FixedOrPercent # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5509,6 +5844,8 @@ module Google class Instance # @private class Representation < Google::Apis::Core::JsonRepresentation + property :allocation_affinity, as: 'allocationAffinity', class: Google::Apis::ComputeBeta::AllocationAffinity, decorator: Google::Apis::ComputeBeta::AllocationAffinity::Representation + property :can_ip_forward, as: 'canIpForward' property :cpu_platform, as: 'cpuPlatform' property :creation_timestamp, as: 'creationTimestamp' @@ -5516,6 +5853,8 @@ module Google property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation + property :display_device, as: 'displayDevice', class: Google::Apis::ComputeBeta::DisplayDevice, decorator: Google::Apis::ComputeBeta::DisplayDevice::Representation + collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeBeta::AcceleratorConfig, decorator: Google::Apis::ComputeBeta::AcceleratorConfig::Representation property :hostname, as: 'hostname' @@ -6085,6 +6424,8 @@ module Google class InstanceProperties # @private class Representation < Google::Apis::Core::JsonRepresentation + property :allocation_affinity, as: 'allocationAffinity', class: Google::Apis::ComputeBeta::AllocationAffinity, decorator: Google::Apis::ComputeBeta::AllocationAffinity::Representation + property :can_ip_forward, as: 'canIpForward' property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation @@ -6544,6 +6885,7 @@ module Google collection :region_infos, as: 'regionInfos', class: Google::Apis::ComputeBeta::InterconnectLocationRegionInfo, decorator: Google::Apis::ComputeBeta::InterconnectLocationRegionInfo::Representation property :self_link, as: 'selfLink' + property :status, as: 'status' end end @@ -7178,6 +7520,9 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_create_routes, as: 'autoCreateRoutes' + property :exchange_subnet_routes, as: 'exchangeSubnetRoutes' + property :export_custom_routes, as: 'exportCustomRoutes' + property :import_custom_routes, as: 'importCustomRoutes' property :name, as: 'name' property :network, as: 'network' property :state, as: 'state' @@ -7197,6 +7542,8 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :auto_create_routes, as: 'autoCreateRoutes' property :name, as: 'name' + property :network_peering, as: 'networkPeering', class: Google::Apis::ComputeBeta::NetworkPeering, decorator: Google::Apis::ComputeBeta::NetworkPeering::Representation + property :peer_network, as: 'peerNetwork' end end @@ -7208,6 +7555,14 @@ module Google end end + class NetworksUpdatePeeringRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :network_peering, as: 'networkPeering', class: Google::Apis::ComputeBeta::NetworkPeering, decorator: Google::Apis::ComputeBeta::NetworkPeering::Representation + + end + end + class NodeGroup # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/compute_beta/service.rb b/generated/google/apis/compute_beta/service.rb index 5670bd8d5..e07144cd7 100644 --- a/generated/google/apis/compute_beta/service.rb +++ b/generated/google/apis/compute_beta/service.rb @@ -529,7 +529,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -619,6 +619,418 @@ module Google execute_or_queue_command(command, &block) end + # Retrieves an aggregated list of allocations. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # A filter expression that filters resources listed in the response. The + # expression must specify the field name, a comparison operator, and the value + # that you want to use for filtering. The value must be a string, a number, or a + # boolean. The comparison operator must be either =, !=, >, or <. + # For example, if you are filtering Compute Engine instances, you can exclude + # instances named example-instance by specifying name != example-instance. + # You can also filter nested fields. For example, you could specify scheduling. + # automaticRestart = false to include instances only if they are not scheduled + # for automatic restarts. You can use filtering on nested fields to filter based + # on resource labels. + # To filter on multiple expressions, provide each separate expression within + # parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = " + # Intel Skylake"). By default, each expression is an AND expression. However, + # you can include AND and OR expressions explicitly. For example, (cpuPlatform = + # "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. + # automaticRestart = true). + # @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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AllocationAggregatedList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AllocationAggregatedList] + # + # @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_allocation_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/allocations', options) + command.response_representation = Google::Apis::ComputeBeta::AllocationAggregatedList::Representation + command.response_class = Google::Apis::ComputeBeta::AllocationAggregatedList + 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 allocation. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone for this request. + # @param [String] allocation + # Name of the allocation 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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_allocation(project, zone, allocation, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/zones/{zone}/allocations/{allocation}', 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['allocation'] = allocation unless allocation.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 all information of the specified allocation. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone for this request. + # @param [String] allocation + # Name of the allocation to retrieve. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Allocation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Allocation] + # + # @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_allocation(project, zone, allocation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/allocations/{allocation}', options) + command.response_representation = Google::Apis::ComputeBeta::Allocation::Representation + command.response_class = Google::Apis::ComputeBeta::Allocation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['allocation'] = allocation unless allocation.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Policy] + # + # @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_allocation_iam_policy(project, zone, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/allocations/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeBeta::Policy::Representation + command.response_class = Google::Apis::ComputeBeta::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 allocation. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone for this request. + # @param [Google::Apis::ComputeBeta::Allocation] allocation_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_allocation(project, zone, allocation_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/allocations', options) + command.request_representation = Google::Apis::ComputeBeta::Allocation::Representation + command.request_object = allocation_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['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 + + # A list all the allocations that have been configured for the specified project + # in specified zone. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # Name of the zone for this request. + # @param [String] filter + # A filter expression that filters resources listed in the response. The + # expression must specify the field name, a comparison operator, and the value + # that you want to use for filtering. The value must be a string, a number, or a + # boolean. The comparison operator must be either =, !=, >, or <. + # For example, if you are filtering Compute Engine instances, you can exclude + # instances named example-instance by specifying name != example-instance. + # You can also filter nested fields. For example, you could specify scheduling. + # automaticRestart = false to include instances only if they are not scheduled + # for automatic restarts. You can use filtering on nested fields to filter based + # on resource labels. + # To filter on multiple expressions, provide each separate expression within + # parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = " + # Intel Skylake"). By default, each expression is an AND expression. However, + # you can include AND and OR expressions explicitly. For example, (cpuPlatform = + # "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. + # automaticRestart = true). + # @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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::AllocationList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::AllocationList] + # + # @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_allocations(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/allocations', options) + command.response_representation = Google::Apis::ComputeBeta::AllocationList::Representation + command.response_class = Google::Apis::ComputeBeta::AllocationList + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeBeta::ZoneSetPolicyRequest] zone_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Policy] + # + # @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_allocation_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/allocations/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeBeta::ZoneSetPolicyRequest::Representation + command.request_object = zone_set_policy_request_object + command.response_representation = Google::Apis::ComputeBeta::Policy::Representation + command.response_class = Google::Apis::ComputeBeta::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeBeta::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TestPermissionsResponse] + # + # @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 test_allocation_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/allocations/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeBeta::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeBeta::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeBeta::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 an aggregated list of autoscalers. # @param [String] project # Project ID for this request. @@ -1701,7 +2113,7 @@ module Google end # Returns the specified BackendService resource. Gets a list of available - # backend services by making a list() request. + # backend services. # @param [String] project # Project ID for this request. # @param [String] backend_service @@ -2888,7 +3300,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::ZoneSetLabelsRequest] zone_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -3622,7 +4034,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -3977,7 +4389,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -4262,7 +4674,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -6033,7 +6445,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -6872,7 +7284,8 @@ module Google execute_or_queue_command(command, &block) end - # Modifies the autohealing policies. + # Modifies the autohealing policies. [Deprecated] This method is deprecated. + # Please use Patch instead. # @param [String] project # Project ID for this request. # @param [String] zone @@ -8354,9 +8767,10 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # Instance name. + # Instance name for this request. # @param [String] device_name - # Disk device name to detach. + # The device name of the disk to detach. Make a get() request on the instance to + # view currently attached disks and device names. # @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 @@ -8940,7 +9354,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Boolean] deletion_protection # Whether the resource should be protected against deletion. # @param [String] request_id @@ -8994,11 +9408,12 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # The instance name. + # The instance name for this request. # @param [Boolean] auto_delete # Whether to auto-delete the disk when the instance is deleted. # @param [String] device_name - # The device name of the disk to modify. + # The device name of the disk to modify. Make a get() request on the instance to + # view currently attached disks and device names. # @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 @@ -9369,7 +9784,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # Instance name. + # Instance name for this request. # @param [Google::Apis::ComputeBeta::Scheduling] scheduling_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -9945,6 +10360,62 @@ module Google execute_or_queue_command(command, &block) end + # Updates the Display config for a VM instance. You can only use this method on + # a stopped VM instance. 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] zone + # The name of the zone for this request. + # @param [String] instance + # Name of the instance scoping this request. + # @param [Google::Apis::ComputeBeta::DisplayDevice] display_device_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_instance_display_device(project, zone, instance, display_device_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/zones/{zone}/instances/{instance}/updateDisplayDevice', options) + command.request_representation = Google::Apis::ComputeBeta::DisplayDevice::Representation + command.request_object = display_device_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['instance'] = instance unless instance.nil? + command.query['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 + # Updates an instance's network interface. This method follows PATCH semantics. # @param [String] project # Project ID for this request. @@ -10409,7 +10880,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -10907,7 +11378,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -11225,6 +11696,46 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeBeta::GlobalSetPolicyRequest] global_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Policy] + # + # @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_license_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/licenses/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeBeta::GlobalSetPolicyRequest::Representation + command.request_object = global_set_policy_request_object + command.response_representation = Google::Apis::ComputeBeta::Policy::Representation + command.response_class = Google::Apis::ComputeBeta::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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 an aggregated list of machine types. # @param [String] project # Project ID for this request. @@ -12199,6 +12710,90 @@ module Google execute_or_queue_command(command, &block) end + # Lists the peering routes exchanged over peering connection. + # @param [String] project + # Project ID for this request. + # @param [String] network + # Name of the network for this request. + # @param [String] direction + # The direction of the exchanged routes. + # @param [String] filter + # A filter expression that filters resources listed in the response. The + # expression must specify the field name, a comparison operator, and the value + # that you want to use for filtering. The value must be a string, a number, or a + # boolean. The comparison operator must be either =, !=, >, or <. + # For example, if you are filtering Compute Engine instances, you can exclude + # instances named example-instance by specifying name != example-instance. + # You can also filter nested fields. For example, you could specify scheduling. + # automaticRestart = false to include instances only if they are not scheduled + # for automatic restarts. You can use filtering on nested fields to filter based + # on resource labels. + # To filter on multiple expressions, provide each separate expression within + # parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = " + # Intel Skylake"). By default, each expression is an AND expression. However, + # you can include AND and OR expressions explicitly. For example, (cpuPlatform = + # "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. + # automaticRestart = true). + # @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] peering_name + # The response will show routes exchanged over the given peering connection. + # @param [String] region + # The region of the request. The response will include all subnet routes, static + # routes and dynamic routes in the region. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::ExchangedPeeringRoutesList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::ExchangedPeeringRoutesList] + # + # @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_network_peering_routes(project, network, direction: nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, peering_name: nil, region: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/networks/{network}/listPeeringRoutes', options) + command.response_representation = Google::Apis::ComputeBeta::ExchangedPeeringRoutesList::Representation + command.response_class = Google::Apis::ComputeBeta::ExchangedPeeringRoutesList + command.params['project'] = project unless project.nil? + command.params['network'] = network unless network.nil? + command.query['direction'] = direction unless direction.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['peeringName'] = peering_name unless peering_name.nil? + command.query['region'] = region unless region.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Patches the specified network with the data included in the request. Only the # following fields can be modified: routingConfig.routingMode. # @param [String] project @@ -12389,13 +12984,66 @@ module Google execute_or_queue_command(command, &block) end + # Updates the specified network peering with the data included in the request + # Only the following fields can be modified: NetworkPeering.export_custom_routes, + # and NetworkPeering.import_custom_routes + # @param [String] project + # Project ID for this request. + # @param [String] network + # Name of the network resource which the updated peering is belonging to. + # @param [Google::Apis::ComputeBeta::NetworksUpdatePeeringRequest] networks_update_peering_request_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def update_network_peering(project, network, networks_update_peering_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/global/networks/{network}/updatePeering', options) + command.request_representation = Google::Apis::ComputeBeta::NetworksUpdatePeeringRequest::Representation + command.request_object = networks_update_peering_request_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['network'] = network unless network.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 + # Adds specified number of nodes to the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group - # Name of the NodeGroup resource to delete. + # Name of the NodeGroup resource. # @param [Google::Apis::ComputeBeta::NodeGroupsAddNodesRequest] node_groups_add_nodes_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -15873,7 +16521,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -16579,7 +17227,7 @@ module Google end # Modifies the autohealing policy for the instances in this managed instance - # group. + # group. [Deprecated] This method is deprecated. Please use Patch instead. # @param [String] project # Project ID for this request. # @param [String] region @@ -19066,7 +19714,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -19144,7 +19792,7 @@ module Google # snapshot might not necessarily delete all the data on that snapshot. If any # data on the snapshot that is marked for deletion is needed for subsequent # snapshots, the data will be moved to the next corresponding snapshot. - # For more information, see Deleting snaphots. + # For more information, see Deleting snapshots. # @param [String] project # Project ID for this request. # @param [String] snapshot @@ -19383,7 +20031,7 @@ module Google # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -20526,10 +21174,9 @@ module Google end # Patches the specified subnetwork with the data included in the request. Only - # the following fields within the subnetwork resource can be specified in the - # request: secondary_ip_range, allow_subnet_cidr_routes_overlap and role. It is - # also mandatory to specify the current fingeprint of the subnetwork resource - # being patched. + # certain fields can up updated with a patch request as indicated in the field + # descriptions. You must specify the current fingeprint of the subnetwork + # resource being patched. # @param [String] project # Project ID for this request. # @param [String] region @@ -23507,7 +24154,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -24333,7 +24980,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeBeta::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so diff --git a/generated/google/apis/compute_v1.rb b/generated/google/apis/compute_v1.rb index b4cb8850f..24c29468e 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 = '20181022' + REVISION = '20181128' # 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 26b8d9770..5b5cdf0df 100644 --- a/generated/google/apis/compute_v1/classes.rb +++ b/generated/google/apis/compute_v1/classes.rb @@ -576,13 +576,33 @@ module Google # @return [String] attr_accessor :name + # The URL of the network in which to reserve the address. This field can only be + # used with INTERNAL type with VPC_PEERING purpose. + # Corresponds to the JSON property `network` + # @return [String] + attr_accessor :network + # This signifies the networking tier used for configuring this Address and can - # only take the following values: PREMIUM , STANDARD. + # only take the following values: PREMIUM, STANDARD. Global forwarding rules can + # only be Premium Tier. Regional forwarding rules can be either Premium or + # Standard Tier. Standard Tier addresses applied to regional forwarding rules + # can be used with any external load balancer. Regional forwarding rules in + # Premium Tier can only be used with a Network load balancer. # If this field is not specified, it is assumed to be PREMIUM. # Corresponds to the JSON property `networkTier` # @return [String] attr_accessor :network_tier + # The prefix length if the resource reprensents an IP range. + # Corresponds to the JSON property `prefixLength` + # @return [Fixnum] + attr_accessor :prefix_length + + # The purpose of resource, only used with INTERNAL type. + # Corresponds to the JSON property `purpose` + # @return [String] + attr_accessor :purpose + # [Output Only] URL of the region where the regional address resides. This field # is not applicable to global addresses. You must specify this field as part of # the HTTP request URL. You cannot set this field in the request body. @@ -630,7 +650,10 @@ module Google @ip_version = args[:ip_version] if args.key?(:ip_version) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) + @network = args[:network] if args.key?(:network) @network_tier = args[:network_tier] if args.key?(:network_tier) + @prefix_length = args[:prefix_length] if args.key?(:prefix_length) + @purpose = args[:purpose] if args.key?(:purpose) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @@ -1207,6 +1230,104 @@ module Google end end + # Specifies the audit configuration for a service. The configuration determines + # which permission types are logged, and what identities, if any, are exempted + # from logging. An AuditConfig must have one or more AuditLogConfigs. + # If there are AuditConfigs for both `allServices` and a specific service, the + # union of the two AuditConfigs is used for that service: the log_types + # specified in each AuditConfig are enabled, and the exempted_members in each + # AuditLogConfig are exempted. + # Example Policy with multiple AuditConfigs: + # ` "audit_configs": [ ` "service": "allServices" "audit_log_configs": [ ` " + # log_type": "DATA_READ", "exempted_members": [ "user:foo@gmail.com" ] `, ` " + # log_type": "DATA_WRITE", `, ` "log_type": "ADMIN_READ", ` ] `, ` "service": " + # fooservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ", `, + # ` "log_type": "DATA_WRITE", "exempted_members": [ "user:bar@gmail.com" ] ` ] ` + # ] ` + # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ + # logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail. + # com from DATA_WRITE logging. + class AuditConfig + include Google::Apis::Core::Hashable + + # The configuration for logging of each type of permission. + # Corresponds to the JSON property `auditLogConfigs` + # @return [Array] + attr_accessor :audit_log_configs + + # + # Corresponds to the JSON property `exemptedMembers` + # @return [Array] + attr_accessor :exempted_members + + # Specifies a service that will be enabled for audit logging. For example, ` + # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special + # value that covers all services. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) + @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @service = args[:service] if args.key?(:service) + end + end + + # Provides the configuration for logging a type of permissions. Example: + # ` "audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ " + # user:foo@gmail.com" ] `, ` "log_type": "DATA_WRITE", ` ] ` + # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail. + # com from DATA_READ logging. + class AuditLogConfig + include Google::Apis::Core::Hashable + + # Specifies the identities that do not cause logging for this type of permission. + # Follows the same format of [Binding.members][]. + # Corresponds to the JSON property `exemptedMembers` + # @return [Array] + attr_accessor :exempted_members + + # The log type that this config enables. + # Corresponds to the JSON property `logType` + # @return [String] + attr_accessor :log_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @log_type = args[:log_type] if args.key?(:log_type) + end + end + + # Authorization-related information used by Cloud Audit Logging. + class AuthorizationLoggingOptions + include Google::Apis::Core::Hashable + + # The type of the permission that was checked. + # Corresponds to the JSON property `permissionType` + # @return [String] + attr_accessor :permission_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permission_type = args[:permission_type] if args.key?(:permission_type) + end + end + # Represents an Autoscaler resource. Autoscalers allow you to automatically # scale virtual machine instances in managed instance groups according to an # autoscaling policy that you define. For more information, read Autoscaling @@ -1769,8 +1890,7 @@ module Google attr_accessor :utilization_target # Defines how target utilization value is expressed for a Stackdriver Monitoring - # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, - # the default is GAUGE. + # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. # Corresponds to the JSON property `utilizationTargetType` # @return [String] attr_accessor :utilization_target_type @@ -1996,7 +2116,7 @@ module Google # considered fresh. After this time period, the response will be revalidated # before being served. Defaults to 1hr (3600s). When serving responses to signed # URL requests, Cloud CDN will internally behave as though all responses from - # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless + # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless # of any existing Cache-Control header. The actual headers served in responses # will not be altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` @@ -2186,7 +2306,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a BackendService. An up-to-date fingerprint must be provided in - # order to update the BackendService. + # order to update the BackendService, otherwise the request will fail with error + # 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a # BackendService. # Corresponds to the JSON property `fingerprint` @@ -2459,7 +2580,7 @@ module Google # considered fresh. After this time period, the response will be revalidated # before being served. Defaults to 1hr (3600s). When serving responses to signed # URL requests, Cloud CDN will internally behave as though all responses from - # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless + # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless # of any existing Cache-Control header. The actual headers served in responses # will not be altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` @@ -2757,6 +2878,53 @@ module Google end end + # Associates `members` with a `role`. + class Binding + include Google::Apis::Core::Hashable + + # 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 `condition` + # @return [Google::Apis::ComputeV1::Expr] + attr_accessor :condition + + # Specifies the identities requesting access for a Cloud Platform resource. ` + # members` can have the following values: + # * `allUsers`: A special identifier that represents anyone who is on the + # internet; with or without a Google account. + # * `allAuthenticatedUsers`: A special identifier that represents anyone who is + # authenticated with a Google account or a service account. + # * `user:`emailid``: An email address that represents a specific Google account. + # For example, `alice@gmail.com` . + # * `serviceAccount:`emailid``: An email address that represents a service + # account. For example, `my-other-app@appspot.gserviceaccount.com`. + # * `group:`emailid``: An email address that represents a Google group. For + # example, `admins@example.com`. + # * `domain:`domain``: A Google Apps domain name that represents all the users + # of that domain. For example, `google.com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor` + # , or `roles/owner`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @condition = args[:condition] if args.key?(:condition) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + # class CacheInvalidationRule include Google::Apis::Core::Hashable @@ -3278,6 +3446,56 @@ module Google end end + # A condition to be met. + class Condition + include Google::Apis::Core::Hashable + + # Trusted attributes supplied by the IAM system. + # Corresponds to the JSON property `iam` + # @return [String] + attr_accessor :iam + + # An operator to apply the subject with. + # Corresponds to the JSON property `op` + # @return [String] + attr_accessor :op + + # Trusted attributes discharged by the service. + # Corresponds to the JSON property `svc` + # @return [String] + attr_accessor :svc + + # Trusted attributes supplied by any service that owns resources and uses the + # IAM system for access control. + # Corresponds to the JSON property `sys` + # @return [String] + attr_accessor :sys + + # DEPRECATED. Use 'values' instead. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + # The objects of the condition. This is mutually exclusive with 'value'. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @iam = args[:iam] if args.key?(:iam) + @op = args[:op] if args.key?(:op) + @svc = args[:svc] if args.key?(:svc) + @sys = args[:sys] if args.key?(:sys) + @value = args[:value] if args.key?(:value) + @values = args[:values] if args.key?(:values) + end + end + # Message containing connection draining configuration. class ConnectionDraining include Google::Apis::Core::Hashable @@ -3454,7 +3672,8 @@ module Google # a hash of the labels set used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update labels. You must always provide an up-to-date fingerprint - # hash in order to update or change labels. + # hash in order to update or change labels, otherwise the request will fail with + # error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a disk. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -3502,6 +3721,14 @@ module Google # @return [String] attr_accessor :options + # Physical block size of the persistent disk, in bytes. If not present in a + # request, a default value is used. Currently supported sizes are 4096 and 16384, + # other sizes may be added in the future. If an unsupported value is requested, + # the error message will list the supported values for the caller's project. + # Corresponds to the JSON property `physicalBlockSizeBytes` + # @return [Fixnum] + attr_accessor :physical_block_size_bytes + # [Output Only] URL of the region where the disk resides. Only applicable for # regional resources. You must specify this field as part of the HTTP request # URL. It is not settable as a field in the request body. @@ -3633,6 +3860,7 @@ module Google @licenses = args[:licenses] if args.key?(:licenses) @name = args[:name] if args.key?(:name) @options = args[:options] if args.key?(:options) + @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes) @region = args[:region] if args.key?(:region) @replica_zones = args[:replica_zones] if args.key?(:replica_zones) @self_link = args[:self_link] if args.key?(:self_link) @@ -4532,6 +4760,50 @@ module Google end end + # Represents an expression text. Example: + # title: "User account presence" description: "Determines whether the request + # has a user account" expression: "size(request.user) > 0" + class Expr + include Google::Apis::Core::Hashable + + # An optional description of the expression. This is a longer text which + # describes the expression, e.g. when hovered over it in a UI. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Textual representation of an expression in Common Expression Language syntax. + # The application context of the containing message determines which well-known + # feature set of CEL is supported. + # Corresponds to the JSON property `expression` + # @return [String] + attr_accessor :expression + + # An optional string indicating the location of the expression for error + # reporting, e.g. a file name and a position in the file. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # An optional title for the expression, i.e. a short string describing its + # purpose. This can be used e.g. in UIs which allow to enter the expression. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @expression = args[:expression] if args.key?(:expression) + @location = args[:location] if args.key?(:location) + @title = args[:title] if args.key?(:title) + end + end + # Represents a Firewall resource. class Firewall include Google::Apis::Core::Hashable @@ -4593,6 +4865,11 @@ module Google # @return [String] attr_accessor :kind + # The available logging options for a firewall rule. + # Corresponds to the JSON property `logConfig` + # @return [Google::Apis::ComputeV1::FirewallLogConfig] + attr_accessor :log_config + # 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- @@ -4702,6 +4979,7 @@ module Google @disabled = args[:disabled] if args.key?(:disabled) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) + @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @priority = args[:priority] if args.key?(:priority) @@ -4894,6 +5172,26 @@ module Google end end + # The available logging options for a firewall rule. + class FirewallLogConfig + include Google::Apis::Core::Hashable + + # This field denotes whether to enable logging for a particular firewall rule. + # Corresponds to the JSON property `enable` + # @return [Boolean] + attr_accessor :enable + alias_method :enable?, :enable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable = args[:enable] if args.key?(:enable) + end + end + # A ForwardingRule resource. A ForwardingRule resource specifies which pool of # target virtual machines to forward a packet to if it matches the given [ # IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules ==) @@ -5037,9 +5335,9 @@ module Google # This field is used along with the backend_service field for internal load # balancing. - # When the load balancing scheme is INTERNAL, a single port or a comma separated - # list of ports can be configured. Only packets addressed to these ports will be - # forwarded to the backends configured with this forwarding rule. + # When the load balancing scheme is INTERNAL, a list of ports can be configured, + # for example, ['80'], ['8000','9000'] etc. Only packets addressed to these + # ports will be forwarded to the backends configured with this forwarding rule. # You may specify a maximum of up to 5 ports. # Corresponds to the JSON property `ports` # @return [Array] @@ -5438,8 +5736,9 @@ module Google # The fingerprint of the previous set of labels for this resource, used to # detect conflicts. The fingerprint is initially generated by Compute Engine and # changes after every request to modify or update labels. You must always - # provide an up-to-date fingerprint hash when updating or changing labels. Make - # a get() request to the resource to get the latest fingerprint. + # provide an up-to-date fingerprint hash when updating or changing labels, + # otherwise the request will fail with error 412 conditionNotMet. Make a get() + # request to the resource to get the latest fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -5467,6 +5766,56 @@ module Google end end + # + class GlobalSetPolicyRequest + include Google::Apis::Core::Hashable + + # Flatten Policy to create a backward compatible wire-format. Deprecated. Use ' + # policy' to specify bindings. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # Flatten Policy to create a backward compatible wire-format. Deprecated. Use ' + # policy' to specify the etag. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Defines an Identity and Access Management (IAM) policy. It is used to specify + # access control policies for Cloud Platform resources. + # A `Policy` consists of a list of `bindings`. A `binding` binds a list of ` + # members` to a `role`, where the members can be user accounts, Google groups, + # Google domains, and service accounts. A `role` is a named list of permissions + # defined by IAM. + # **JSON Example** + # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", + # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user: + # sean@example.com"] ` ] ` + # **YAML Example** + # bindings: - members: - user:mike@example.com - group:admins@example.com - + # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + # role: roles/owner - members: - user:sean@example.com role: roles/viewer + # For a description of IAM and its features, see the [IAM developer's guide]( + # https://cloud.google.com/iam/docs). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ComputeV1::Policy] + attr_accessor :policy + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @policy = args[:policy] if args.key?(:policy) + end + end + # Guest OS features. class GuestOsFeature include Google::Apis::Core::Hashable @@ -6443,7 +6792,8 @@ module Google # a hash of the labels used for optimistic locking. The fingerprint is initially # generated by Compute Engine and changes after every request to modify or # update labels. You must always provide an up-to-date fingerprint hash in order - # to update or change labels. + # to update or change labels, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an image. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -7462,7 +7812,8 @@ module Google # Fingerprint of this resource. This field may be used in optimistic locking. It # will be ignored when inserting an InstanceGroupManager. An up-to-date - # fingerprint must be provided in order to update the InstanceGroupManager. + # fingerprint must be provided in order to update the InstanceGroupManager, + # otherwise the request will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an # InstanceGroupManager. # Corresponds to the JSON property `fingerprint` @@ -8391,7 +8742,8 @@ module Google # named ports settings concurrently. Obtain the fingerprint with the # instanceGroups.get method. Then, include the fingerprint in your request to # ensure that you do not overwrite changes that were applied from another - # concurrent request. + # concurrent request. A request with an incorrect fingerprint will fail with + # error 412 conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -9453,7 +9805,7 @@ module Google # Provisioned bandwidth capacity for the interconnectAttachment. Can be set by # the partner to update the customer's provisioned bandwidth. Output only for - # for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. + # PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED. # Corresponds to the JSON property `bandwidth` # @return [String] attr_accessor :bandwidth @@ -9576,7 +9928,7 @@ module Google # @return [String] attr_accessor :region - # URL of the cloud router to be used for dynamic routing. This router must be in + # 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. @@ -9599,9 +9951,8 @@ module Google # @return [String] attr_accessor :type - # Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for this - # attachment, in the range 2-4094. This field refers to 802.1q VLAN tag, also - # known as IEEE 802.1Q Only specified at creation time. + # The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only + # specified at creation time. # Corresponds to the JSON property `vlanTag8021q` # @return [Fixnum] attr_accessor :vlan_tag8021q @@ -9883,7 +10234,7 @@ module Google include Google::Apis::Core::Hashable # Plain text name of the Interconnect this attachment is connected to, as - # displayed in the Partner?s portal. For instance ?Chicago 1?. This value may be + # displayed in the Partner?s portal. For instance "Chicago 1". This value may be # validated to match approved Partner values. # Corresponds to the JSON property `interconnectName` # @return [String] @@ -10160,7 +10511,10 @@ module Google # @return [String] attr_accessor :state - # Value of the current optical power, read in dBm. + # Value of the current optical power, read in dBm. Take a known good optical + # value, give it a 10% margin and trigger warnings relative to that value. In + # general, a -7dBm warning and a -11dBm alarm are good optical value estimates + # for most links. # Corresponds to the JSON property `value` # @return [Float] attr_accessor :value @@ -11005,6 +11359,141 @@ module Google end end + # Specifies what kind of log the caller must write + class LogConfig + include Google::Apis::Core::Hashable + + # Write a Cloud Audit log + # Corresponds to the JSON property `cloudAudit` + # @return [Google::Apis::ComputeV1::LogConfigCloudAuditOptions] + attr_accessor :cloud_audit + + # Increment a streamz counter with the specified metric and field names. + # Metric names should start with a '/', generally be lowercase-only, and end in " + # _count". Field names should not contain an initial slash. The actual exported + # metric names will have "/iam/policy" prepended. + # Field names correspond to IAM request parameters and field values are their + # respective values. + # Supported field names: - "authority", which is "[token]" if IAMContext.token + # is present, otherwise the value of IAMContext.authority_selector if present, + # and otherwise a representation of IAMContext.principal; or - "iam_principal", + # a representation of IAMContext.principal even if a token or authority selector + # is present; or - "" (empty string), resulting in a counter with no fields. + # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==> + # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value + # of IAMContext.principal]` + # At this time we do not support multiple field names (though this may be + # supported in the future). + # Corresponds to the JSON property `counter` + # @return [Google::Apis::ComputeV1::LogConfigCounterOptions] + attr_accessor :counter + + # Write a Data Access (Gin) log + # Corresponds to the JSON property `dataAccess` + # @return [Google::Apis::ComputeV1::LogConfigDataAccessOptions] + attr_accessor :data_access + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit) + @counter = args[:counter] if args.key?(:counter) + @data_access = args[:data_access] if args.key?(:data_access) + end + end + + # Write a Cloud Audit log + class LogConfigCloudAuditOptions + include Google::Apis::Core::Hashable + + # Authorization-related information used by Cloud Audit Logging. + # Corresponds to the JSON property `authorizationLoggingOptions` + # @return [Google::Apis::ComputeV1::AuthorizationLoggingOptions] + attr_accessor :authorization_logging_options + + # The log_name to populate in the Cloud Audit Record. + # Corresponds to the JSON property `logName` + # @return [String] + attr_accessor :log_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @authorization_logging_options = args[:authorization_logging_options] if args.key?(:authorization_logging_options) + @log_name = args[:log_name] if args.key?(:log_name) + end + end + + # Increment a streamz counter with the specified metric and field names. + # Metric names should start with a '/', generally be lowercase-only, and end in " + # _count". Field names should not contain an initial slash. The actual exported + # metric names will have "/iam/policy" prepended. + # Field names correspond to IAM request parameters and field values are their + # respective values. + # Supported field names: - "authority", which is "[token]" if IAMContext.token + # is present, otherwise the value of IAMContext.authority_selector if present, + # and otherwise a representation of IAMContext.principal; or - "iam_principal", + # a representation of IAMContext.principal even if a token or authority selector + # is present; or - "" (empty string), resulting in a counter with no fields. + # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==> + # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value + # of IAMContext.principal]` + # At this time we do not support multiple field names (though this may be + # supported in the future). + class LogConfigCounterOptions + include Google::Apis::Core::Hashable + + # The field value to attribute. + # Corresponds to the JSON property `field` + # @return [String] + attr_accessor :field + + # The metric to update. + # Corresponds to the JSON property `metric` + # @return [String] + attr_accessor :metric + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @field = args[:field] if args.key?(:field) + @metric = args[:metric] if args.key?(:metric) + end + end + + # Write a Data Access (Gin) log + class LogConfigDataAccessOptions + include Google::Apis::Core::Hashable + + # Whether Gin logging should happen in a fail-closed manner at the caller. This + # is relevant only in the LocalIAM implementation, for now. + # NOTE: Logging to Gin in a fail-closed manner is currently unsupported while + # work is being done to satisfy the requirements of go/345. Currently, setting + # LOG_FAIL_CLOSED mode will have no effect, but still exists because there is + # active work being done to support it (b/115874152). + # Corresponds to the JSON property `logMode` + # @return [String] + attr_accessor :log_mode + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @log_mode = args[:log_mode] if args.key?(:log_mode) + end + end + # A Machine Type resource. (== resource_for v1.machineTypes ==) (== resource_for # beta.machineTypes ==) class MachineType @@ -11608,7 +12097,8 @@ module Google # metadata's contents and used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update metadata. You must always provide an up-to-date fingerprint - # hash in order to update or change metadata. + # hash in order to update or change metadata, otherwise the request will fail + # with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve the resource. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -11818,7 +12308,8 @@ module Google # Fingerprint hash of contents stored in this network interface. This field will # be ignored when inserting an Instance or adding a NetworkInterface. An up-to- - # date fingerprint must be provided in order to update the NetworkInterface. + # date fingerprint must be provided in order to update the NetworkInterface, + # otherwise the request will fail with error 412 conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -12013,10 +12504,10 @@ module Google class NetworkPeering include Google::Apis::Core::Hashable - # Whether full mesh connectivity is created and managed automatically. When it - # is set to true, Google Compute Engine will automatically create and manage the - # routes between two networks when the state is ACTIVE. Otherwise, user needs to - # create routes manually to route packets to peer network. + # Indicates whether full mesh connectivity is created and managed automatically. + # When it is set to true, Google Compute Engine will automatically create and + # manage the routes between two networks when the state is ACTIVE. Otherwise, + # user needs to create routes manually to route packets to peer network. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes @@ -14357,6 +14848,88 @@ module Google end end + # Defines an Identity and Access Management (IAM) policy. It is used to specify + # access control policies for Cloud Platform resources. + # A `Policy` consists of a list of `bindings`. A `binding` binds a list of ` + # members` to a `role`, where the members can be user accounts, Google groups, + # Google domains, and service accounts. A `role` is a named list of permissions + # defined by IAM. + # **JSON Example** + # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", + # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user: + # sean@example.com"] ` ] ` + # **YAML Example** + # bindings: - members: - user:mike@example.com - group:admins@example.com - + # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + # role: roles/owner - members: - user:sean@example.com role: roles/viewer + # For a description of IAM and its features, see the [IAM developer's guide]( + # https://cloud.google.com/iam/docs). + class Policy + include Google::Apis::Core::Hashable + + # Specifies cloud audit logging configuration for this policy. + # Corresponds to the JSON property `auditConfigs` + # @return [Array] + attr_accessor :audit_configs + + # Associates a list of `members` to a `role`. `bindings` with no members will + # result in an error. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # `etag` is used for optimistic concurrency control as a way to help prevent + # simultaneous updates of a policy from overwriting each other. It is strongly + # suggested that systems make use of the `etag` in the read-modify-write cycle + # to perform policy updates in order to avoid race conditions: An `etag` is + # returned in the response to `getIamPolicy`, and systems are expected to put + # that etag in the request to `setIamPolicy` to ensure that their change will be + # applied to the same version of the policy. + # If no `etag` is provided in the call to `setIamPolicy`, then the existing + # policy is overwritten blindly. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # + # Corresponds to the JSON property `iamOwned` + # @return [Boolean] + attr_accessor :iam_owned + alias_method :iam_owned?, :iam_owned + + # If more than one rule is specified, the rules are applied in the following + # manner: - All matching LOG rules are always applied. - If any DENY/ + # DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if + # one or more matching rule requires logging. - Otherwise, if any ALLOW/ + # ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if + # one or more matching rule requires logging. - Otherwise, if no rule applies, + # permission is denied. + # Corresponds to the JSON property `rules` + # @return [Array] + attr_accessor :rules + + # Deprecated. + # Corresponds to the JSON property `version` + # @return [Fixnum] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @audit_configs = args[:audit_configs] if args.key?(:audit_configs) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @iam_owned = args[:iam_owned] if args.key?(:iam_owned) + @rules = args[:rules] if args.key?(:rules) + @version = args[:version] if args.key?(:version) + end + end + # A Project resource. For an overview of projects, see Cloud Platform Resource # Hierarchy. (== resource_for v1.projects ==) (== resource_for beta.projects ==) class Project @@ -15659,6 +16232,56 @@ module Google end end + # + class RegionSetPolicyRequest + include Google::Apis::Core::Hashable + + # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use ' + # policy' to specify bindings. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # Flatten Policy to create a backward compatible wire-format. Deprecated. Use ' + # policy' to specify the etag. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Defines an Identity and Access Management (IAM) policy. It is used to specify + # access control policies for Cloud Platform resources. + # A `Policy` consists of a list of `bindings`. A `binding` binds a list of ` + # members` to a `role`, where the members can be user accounts, Google groups, + # Google domains, and service accounts. A `role` is a named list of permissions + # defined by IAM. + # **JSON Example** + # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", + # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user: + # sean@example.com"] ` ] ` + # **YAML Example** + # bindings: - members: - user:mike@example.com - group:admins@example.com - + # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + # role: roles/owner - members: - user:sean@example.com role: roles/viewer + # For a description of IAM and its features, see the [IAM developer's guide]( + # https://cloud.google.com/iam/docs). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ComputeV1::Policy] + attr_accessor :policy + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @policy = args[:policy] if args.key?(:policy) + end + end + # Commitment for a particular resource (a Commitment is composed of one or more # of these). class ResourceCommitment @@ -16365,11 +16988,12 @@ module Google # @return [String] attr_accessor :ip_address - # [Output Only] Type of how the resource/configuration of the BGP peer is - # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT - # represents an BGP peer that is automatically created for PARTNER - # interconnectAttachment, Google will automatically create/delete this type of - # BGP peer when the PARTNER interconnectAttachment is created/deleted. + # [Output Only] The resource that configures and manages this BGP peer. + # MANAGED_BY_USER is the default value and can be managed by you or other users; + # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud + # Interconnect, specifically by an InterconnectAttachment of type PARTNER. + # Google will automatically create, update, and delete this type of BGP peer + # when the PARTNER InterconnectAttachment is created, updated, or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type @@ -16436,12 +17060,12 @@ module Google # @return [String] attr_accessor :linked_vpn_tunnel - # [Output Only] Type of how the resource/configuration of the interface is - # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT - # represents an interface that is automatically created for PARTNER type - # interconnectAttachment, Google will automatically create/update/delete this - # type of interface when the PARTNER interconnectAttachment is created/ - # provisioned/deleted. + # [Output Only] The resource that configures and manages this interface. + # MANAGED_BY_USER is the default value and can be managed by you or other users; + # MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud + # Interconnect, specifically by an InterconnectAttachment of type PARTNER. + # Google will automatically create, update, and delete this type of interface + # when the PARTNER InterconnectAttachment is created, updated, or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type @@ -17013,6 +17637,67 @@ module Google end end + # A rule to be applied in a Policy. + class Rule + include Google::Apis::Core::Hashable + + # Required + # Corresponds to the JSON property `action` + # @return [String] + attr_accessor :action + + # Additional restrictions that must be met. All conditions must pass for the + # rule to match. + # Corresponds to the JSON property `conditions` + # @return [Array] + attr_accessor :conditions + + # Human-readable description of the rule. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/ + # AUTHORITY_SELECTOR is in at least one of these entries. + # Corresponds to the JSON property `ins` + # @return [Array] + attr_accessor :ins + + # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries + # that match the LOG action. + # Corresponds to the JSON property `logConfigs` + # @return [Array] + attr_accessor :log_configs + + # If one or more 'not_in' clauses are specified, the rule matches if the + # PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. + # Corresponds to the JSON property `notIns` + # @return [Array] + attr_accessor :not_ins + + # A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value + # of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets. + # *') matches all verbs. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @action = args[:action] if args.key?(:action) + @conditions = args[:conditions] if args.key?(:conditions) + @description = args[:description] if args.key?(:description) + @ins = args[:ins] if args.key?(:ins) + @log_configs = args[:log_configs] if args.key?(:log_configs) + @not_ins = args[:not_ins] if args.key?(:not_ins) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + # class SslHealthCheck include Google::Apis::Core::Hashable @@ -17166,7 +17851,8 @@ module Google # metadata's contents and used for optimistic locking. The fingerprint is # initially generated by Compute Engine and changes after every request to # modify or update metadata. You must always provide an up-to-date fingerprint - # hash in order to update or change metadata. + # hash in order to update or change metadata, otherwise the request will fail + # with error 412 conditionNotMet. # To see the latest fingerprint, make get() request to the security policy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -17393,8 +18079,9 @@ module Google alias_method :preview?, :preview # An integer indicating the priority of a rule in the list. The priority must be - # a positive value between 0 and 2147483647. Rules are evaluated in the - # increasing order of priority. + # a positive value between 0 and 2147483647. Rules are evaluated from highest to + # lowest priority where 0 is the highest priority and 2147483647 is the lowest + # prority. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority @@ -17605,7 +18292,8 @@ module Google # essentially a hash of the labels set used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after every # request to modify or update labels. You must always provide an up-to-date - # fingerprint hash in order to update or change labels. + # fingerprint hash in order to update or change labels, otherwise the request + # will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a snapshot. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -18217,7 +18905,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a SslPolicy. An up-to-date fingerprint must be provided in order to - # update the SslPolicy. + # update the SslPolicy, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve an SslPolicy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -18403,7 +19092,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to - # update the Subnetwork. + # update the Subnetwork, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a Subnetwork. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -18471,7 +19161,7 @@ module Google # An array of configurations for secondary IP ranges for VM instances contained # in this subnetwork. The primary IP of such VM must belong to the primary # ipCidrRange of the subnetwork. The alias IPs may belong to either primary or - # secondary ranges. + # secondary ranges. This field can be updated with a patch request. # Corresponds to the JSON property `secondaryIpRanges` # @return [Array] attr_accessor :secondary_ip_ranges @@ -21434,7 +22124,8 @@ module Google # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field will be ignored when # inserting a UrlMap. An up-to-date fingerprint must be provided in order to - # update the UrlMap. + # update the UrlMap, otherwise the request will fail with error 412 + # conditionNotMet. # To see the latest fingerprint, make a get() request to retrieve a UrlMap. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. @@ -22981,6 +23672,56 @@ module Google @labels = args[:labels] if args.key?(:labels) end end + + # + class ZoneSetPolicyRequest + include Google::Apis::Core::Hashable + + # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use ' + # policy' to specify bindings. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # Flatten Policy to create a backward compatible wire-format. Deprecated. Use ' + # policy' to specify the etag. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Defines an Identity and Access Management (IAM) policy. It is used to specify + # access control policies for Cloud Platform resources. + # A `Policy` consists of a list of `bindings`. A `binding` binds a list of ` + # members` to a `role`, where the members can be user accounts, Google groups, + # Google domains, and service accounts. A `role` is a named list of permissions + # defined by IAM. + # **JSON Example** + # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", + # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user: + # sean@example.com"] ` ] ` + # **YAML Example** + # bindings: - members: - user:mike@example.com - group:admins@example.com - + # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com + # role: roles/owner - members: - user:sean@example.com role: roles/viewer + # For a description of IAM and its features, see the [IAM developer's guide]( + # https://cloud.google.com/iam/docs). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ComputeV1::Policy] + attr_accessor :policy + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @policy = args[:policy] if args.key?(:policy) + end + end end end end diff --git a/generated/google/apis/compute_v1/representations.rb b/generated/google/apis/compute_v1/representations.rb index 897906376..ed3b1ae99 100644 --- a/generated/google/apis/compute_v1/representations.rb +++ b/generated/google/apis/compute_v1/representations.rb @@ -172,6 +172,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class AuditConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AuditLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AuthorizationLoggingOptions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Autoscaler class Representation < Google::Apis::Core::JsonRepresentation; end @@ -376,6 +394,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Binding + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class CacheInvalidationRule class Representation < Google::Apis::Core::JsonRepresentation; end @@ -448,6 +472,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Condition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ConnectionDraining class Representation < Google::Apis::Core::JsonRepresentation; end @@ -622,6 +652,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Expr + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Firewall class Representation < Google::Apis::Core::JsonRepresentation; end @@ -658,6 +694,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class FirewallLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ForwardingRule class Representation < Google::Apis::Core::JsonRepresentation; end @@ -724,6 +766,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GlobalSetPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GuestOsFeature class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1444,6 +1492,30 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class LogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LogConfigCloudAuditOptions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LogConfigCounterOptions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LogConfigDataAccessOptions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class MachineType class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1930,6 +2002,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Policy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Project class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2152,6 +2230,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class RegionSetPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ResourceCommitment class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2326,6 +2410,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Rule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SslHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3208,6 +3298,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ZoneSetPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class AcceleratorConfig # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -3348,7 +3444,10 @@ module Google property :ip_version, as: 'ipVersion' property :kind, as: 'kind' property :name, as: 'name' + property :network, as: 'network' property :network_tier, as: 'networkTier' + property :prefix_length, as: 'prefixLength' + property :purpose, as: 'purpose' property :region, as: 'region' property :self_link, as: 'selfLink' property :status, as: 'status' @@ -3493,6 +3592,31 @@ module Google end end + class AuditConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::ComputeV1::AuditLogConfig, decorator: Google::Apis::ComputeV1::AuditLogConfig::Representation + + collection :exempted_members, as: 'exemptedMembers' + property :service, as: 'service' + end + end + + class AuditLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :exempted_members, as: 'exemptedMembers' + property :log_type, as: 'logType' + end + end + + class AuthorizationLoggingOptions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :permission_type, as: 'permissionType' + end + end + class Autoscaler # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -3875,6 +3999,16 @@ module Google end end + class Binding + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :condition, as: 'condition', class: Google::Apis::ComputeV1::Expr, decorator: Google::Apis::ComputeV1::Expr::Representation + + collection :members, as: 'members' + property :role, as: 'role' + end + end + class CacheInvalidationRule # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4006,6 +4140,18 @@ module Google end end + class Condition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :iam, as: 'iam' + property :op, as: 'op' + property :svc, as: 'svc' + property :sys, as: 'sys' + property :value, as: 'value' + collection :values, as: 'values' + end + end + class ConnectionDraining # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4061,6 +4207,7 @@ module Google collection :licenses, as: 'licenses' property :name, as: 'name' property :options, as: 'options' + property :physical_block_size_bytes, :numeric_string => true, as: 'physicalBlockSizeBytes' property :region, as: 'region' collection :replica_zones, as: 'replicaZones' property :self_link, as: 'selfLink' @@ -4322,6 +4469,16 @@ module Google end end + class Expr + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :expression, as: 'expression' + property :location, as: 'location' + property :title, as: 'title' + end + end + class Firewall # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4336,6 +4493,8 @@ module Google property :disabled, as: 'disabled' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' + property :log_config, as: 'logConfig', class: Google::Apis::ComputeV1::FirewallLogConfig, decorator: Google::Apis::ComputeV1::FirewallLogConfig::Representation + property :name, as: 'name' property :network, as: 'network' property :priority, as: 'priority' @@ -4396,6 +4555,13 @@ module Google end end + class FirewallLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable, as: 'enable' + end + end + class ForwardingRule # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4520,6 +4686,17 @@ module Google end end + class GlobalSetPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation + + end + end + class GuestOsFeature # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5904,6 +6081,42 @@ module Google end end + class LogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cloud_audit, as: 'cloudAudit', class: Google::Apis::ComputeV1::LogConfigCloudAuditOptions, decorator: Google::Apis::ComputeV1::LogConfigCloudAuditOptions::Representation + + property :counter, as: 'counter', class: Google::Apis::ComputeV1::LogConfigCounterOptions, decorator: Google::Apis::ComputeV1::LogConfigCounterOptions::Representation + + property :data_access, as: 'dataAccess', class: Google::Apis::ComputeV1::LogConfigDataAccessOptions, decorator: Google::Apis::ComputeV1::LogConfigDataAccessOptions::Representation + + end + end + + class LogConfigCloudAuditOptions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :authorization_logging_options, as: 'authorizationLoggingOptions', class: Google::Apis::ComputeV1::AuthorizationLoggingOptions, decorator: Google::Apis::ComputeV1::AuthorizationLoggingOptions::Representation + + property :log_name, as: 'logName' + end + end + + class LogConfigCounterOptions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :field, as: 'field' + property :metric, as: 'metric' + end + end + + class LogConfigDataAccessOptions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :log_mode, as: 'logMode' + end + end + class MachineType # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -6770,6 +6983,21 @@ module Google end end + class Policy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :audit_configs, as: 'auditConfigs', class: Google::Apis::ComputeV1::AuditConfig, decorator: Google::Apis::ComputeV1::AuditConfig::Representation + + collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :iam_owned, as: 'iamOwned' + collection :rules, as: 'rules', class: Google::Apis::ComputeV1::Rule, decorator: Google::Apis::ComputeV1::Rule::Representation + + property :version, as: 'version' + end + end + class Project # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -7137,6 +7365,17 @@ module Google end end + class RegionSetPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation + + end + end + class ResourceCommitment # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -7474,6 +7713,21 @@ module Google end end + class Rule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :action, as: 'action' + collection :conditions, as: 'conditions', class: Google::Apis::ComputeV1::Condition, decorator: Google::Apis::ComputeV1::Condition::Representation + + property :description, as: 'description' + collection :ins, as: 'ins' + collection :log_configs, as: 'logConfigs', class: Google::Apis::ComputeV1::LogConfig, decorator: Google::Apis::ComputeV1::LogConfig::Representation + + collection :not_ins, as: 'notIns' + collection :permissions, as: 'permissions' + end + end + class SslHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -9014,6 +9268,17 @@ module Google hash :labels, as: 'labels' end end + + class ZoneSetPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation + + end + end end end end diff --git a/generated/google/apis/compute_v1/service.rb b/generated/google/apis/compute_v1/service.rb index 108ef10ec..0ededace9 100644 --- a/generated/google/apis/compute_v1/service.rb +++ b/generated/google/apis/compute_v1/service.rb @@ -1562,7 +1562,7 @@ module Google end # Returns the specified BackendService resource. Gets a list of available - # backend services by making a list() request. + # backend services. # @param [String] project # Project ID for this request. # @param [String] backend_service @@ -2325,6 +2325,46 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_disk_iam_policy(project, zone, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/disks/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Creates a persistent disk in the specified project using the data in the # request. You can create a disk with a sourceImage, a sourceSnapshot, or create # an empty 500 GB data disk by omitting all properties. You can also create a @@ -2511,6 +2551,49 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_disk_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/disks/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation + command.request_object = zone_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 labels on a disk. To learn more about labels, read the Labeling # Resources documentation. # @param [String] project @@ -2518,7 +2601,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetLabelsRequest] zone_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -2566,6 +2649,48 @@ module Google 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. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_disk_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/disks/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Deletes the specified firewall. # @param [String] project # Project ID for this request. @@ -5000,6 +5125,43 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_image_iam_policy(project, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/images/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Creates an image in the specified project using the data included in the # request. # @param [String] project @@ -5128,12 +5290,52 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_image_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/images/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation + command.request_object = global_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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 labels on an image. To learn more about labels, read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -5168,6 +5370,45 @@ module Google 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. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_image_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/images/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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 + # Flags the specified instances to be removed from the managed instance group. # Abandoning an instance does not delete the instance, but it does remove the # instance from any target pools that are applied by the managed instance group. @@ -5675,6 +5916,65 @@ module Google execute_or_queue_command(command, &block) end + # Updates a managed instance group using the information that you specify in the + # request. This operation is marked as DONE when the group is patched even if + # the instances in the group are still in the process of being patched. You must + # separately verify the status of the individual instances with the + # listManagedInstances method. 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] zone + # The name of the zone where you want to create the managed instance group. + # @param [String] instance_group_manager + # The name of the instance group manager. + # @param [Google::Apis::ComputeV1::InstanceGroupManager] instance_group_manager_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_instance_group_manager(project, zone, instance_group_manager, instance_group_manager_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', options) + command.request_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation + command.request_object = instance_group_manager_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['zone'] = zone unless zone.nil? + command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.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 + # Flags the specified instances in the managed instance group to be immediately # recreated. The instances are deleted and recreated using the current instance # template for the managed instance group. This operation is marked as DONE when @@ -6551,6 +6851,43 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance_template_iam_policy(project, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/instanceTemplates/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Creates an instance template in the specified project using the data that is # included in the request. If you are creating a new template to update an # existing instance group, your new instance template must use the same network @@ -6674,6 +7011,85 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_template_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/instanceTemplates/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation + command.request_object = global_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_instance_template_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/instanceTemplates/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Adds an access config to an instance's network interface. # @param [String] project # Project ID for this request. @@ -6979,9 +7395,10 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # Instance name. + # Instance name for this request. # @param [String] device_name - # Disk device name to detach. + # The device name of the disk to detach. Make a get() request on the instance to + # view currently attached disks and device names. # @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 @@ -7067,6 +7484,46 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_instance_iam_policy(project, zone, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/instances/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 last 1 MB of serial port output from the specified instance. # @param [String] project # Project ID for this request. @@ -7387,7 +7844,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Boolean] deletion_protection # Whether the resource should be protected against deletion. # @param [String] request_id @@ -7441,11 +7898,12 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # The instance name. + # The instance name for this request. # @param [Boolean] auto_delete # Whether to auto-delete the disk when the instance is deleted. # @param [String] device_name - # The device name of the disk to modify. + # The device name of the disk to modify. Make a get() request on the instance to + # view currently attached disks and device names. # @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 @@ -7492,6 +7950,49 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation + command.request_object = zone_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Sets labels on an instance. To learn more about labels, read the Labeling # Resources documentation. # @param [String] project @@ -7773,7 +8274,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] instance - # Instance name. + # Instance name for this request. # @param [Google::Apis::ComputeV1::Scheduling] scheduling_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -8132,6 +8633,48 @@ module Google 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. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_instance_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/instances/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 access config from an instance's network interface with # the data included in the request. This method supports PATCH semantics and # uses the JSON merge patch format and processing rules. @@ -9155,6 +9698,43 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_license_iam_policy(project, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/licenses/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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 + # Create a License resource in the specified project. # @param [String] project # Project ID for this request. @@ -9278,6 +9858,46 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_license_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/licenses/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation + command.request_object = global_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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. @@ -9915,7 +10535,7 @@ module Google # @param [String] zone # The name of the zone for this request. # @param [String] node_group - # Name of the NodeGroup resource to delete. + # Name of the NodeGroup resource. # @param [Google::Apis::ComputeV1::NodeGroupsAddNodesRequest] node_groups_add_nodes_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -10181,6 +10801,46 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_node_group_iam_policy(project, zone, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 NodeGroup resource in the specified project using the data included # in the request. # @param [String] project @@ -10388,6 +11048,49 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_node_group_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation + command.request_object = zone_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 node template of the node group. # @param [String] project # Project ID for this request. @@ -10442,6 +11145,48 @@ module Google 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. + # @param [String] zone + # The name of the zone for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_node_group_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['resource'] = resource unless resource.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 an aggregated list of node templates. # @param [String] project # Project ID for this request. @@ -10604,6 +11349,46 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_node_template_iam_policy(project, region, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['resource'] = resource unless resource.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 NodeTemplate resource in the specified project using the data # included in the request. # @param [String] project @@ -10730,6 +11515,91 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_node_template_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation + command.request_object = region_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['resource'] = resource unless resource.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. + # @param [String] region + # The name of the region for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_node_template_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['resource'] = resource unless resource.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 an aggregated list of node types. # @param [String] project # Project ID for this request. @@ -12950,7 +13820,7 @@ module Google # @param [String] region # The region for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so @@ -13471,6 +14341,65 @@ module Google execute_or_queue_command(command, &block) end + # Updates a managed instance group using the information that you specify in the + # request. This operation is marked as DONE when the group is patched even if + # the instances in the group are still in the process of being patched. You must + # separately verify the status of the individual instances with the + # listmanagedinstances method. 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] region + # Name of the region scoping this request. + # @param [String] instance_group_manager + # The name of the instance group manager. + # @param [Google::Apis::ComputeV1::InstanceGroupManager] instance_group_manager_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 + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @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_region_instance_group_manager(project, region, instance_group_manager, instance_group_manager_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}', options) + command.request_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation + command.request_object = instance_group_manager_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.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.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 + # Flags the specified instances in the managed instance group to be immediately # recreated. The instances are deleted and recreated using the current instance # template for the managed instance group. This operation is marked as DONE when @@ -15395,7 +16324,7 @@ module Google # snapshot might not necessarily delete all the data on that snapshot. If any # data on the snapshot that is marked for deletion is needed for subsequent # snapshots, the data will be moved to the next corresponding snapshot. - # For more information, see Deleting snaphots. + # For more information, see Deleting snapshots. # @param [String] project # Project ID for this request. # @param [String] snapshot @@ -15480,6 +16409,43 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_snapshot_iam_policy(project, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/snapshots/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Retrieves the list of Snapshot resources contained within the specified # project. # @param [String] project @@ -15552,12 +16518,52 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_snapshot_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/snapshots/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation + command.request_object = global_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.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 labels on a snapshot. To learn more about labels, read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource - # Name of the resource for this request. + # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -15592,6 +16598,45 @@ module Google 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. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_snapshot_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/snapshots/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Deletes the specified SslCertificate resource. # @param [String] project # Project ID for this request. @@ -16345,6 +17390,46 @@ module Google execute_or_queue_command(command, &block) end + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_subnetwork_iam_policy(project, region, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/regions/{region}/subnetworks/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Creates a subnetwork in the specified project using the data included in the # request. # @param [String] project @@ -16543,10 +17628,9 @@ module Google end # Patches the specified subnetwork with the data included in the request. Only - # the following fields within the subnetwork resource can be specified in the - # request: secondary_ip_range, allow_subnet_cidr_routes_overlap and role. It is - # also mandatory to specify the current fingeprint of the subnetwork resource - # being patched. + # certain fields can up updated with a patch request as indicated in the field + # descriptions. You must specify the current fingeprint of the subnetwork + # resource being patched. # @param [String] project # Project ID for this request. # @param [String] region @@ -16600,6 +17684,49 @@ module Google execute_or_queue_command(command, &block) end + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # @param [String] project + # Project ID for this request. + # @param [String] region + # The name of the region for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::Policy] + # + # @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_subnetwork_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/subnetworks/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation + command.request_object = region_set_policy_request_object + command.response_representation = Google::Apis::ComputeV1::Policy::Representation + command.response_class = Google::Apis::ComputeV1::Policy + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['resource'] = resource unless resource.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 + # Set whether VMs in this subnet can access Google services without assigning # external IP addresses through Private Google Access. # @param [String] project @@ -16655,6 +17782,48 @@ module Google 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. + # @param [String] region + # The name of the region for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeV1::TestPermissionsResponse] + # + # @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 test_subnetwork_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/regions/{region}/subnetworks/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['region'] = region unless region.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Deletes the specified TargetHttpProxy resource. # @param [String] project # Project ID for this request. diff --git a/generated/google/apis/container_v1beta1.rb b/generated/google/apis/container_v1beta1.rb index 90d47b976..280fdf7c4 100644 --- a/generated/google/apis/container_v1beta1.rb +++ b/generated/google/apis/container_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-engine/ module ContainerV1beta1 VERSION = 'V1beta1' - REVISION = '20181109' + REVISION = '20181113' # 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/container_v1beta1/classes.rb b/generated/google/apis/container_v1beta1/classes.rb index 692d6bbb4..53805f618 100644 --- a/generated/google/apis/container_v1beta1/classes.rb +++ b/generated/google/apis/container_v1beta1/classes.rb @@ -53,6 +53,11 @@ module Google class AddonsConfig include Google::Apis::Core::Hashable + # Configuration options for the Cloud Run feature. + # Corresponds to the JSON property `cloudRunConfig` + # @return [Google::Apis::ContainerV1beta1::CloudRunConfig] + attr_accessor :cloud_run_config + # Configuration options for the horizontal pod autoscaling feature, which # increases or decreases the number of replica pods a replication controller # has based on the resource usage of the existing pods. @@ -66,6 +71,11 @@ module Google # @return [Google::Apis::ContainerV1beta1::HttpLoadBalancing] attr_accessor :http_load_balancing + # Configuration options for Istio addon. + # Corresponds to the JSON property `istioConfig` + # @return [Google::Apis::ContainerV1beta1::IstioConfig] + attr_accessor :istio_config + # Configuration for the Kubernetes Dashboard. # Corresponds to the JSON property `kubernetesDashboard` # @return [Google::Apis::ContainerV1beta1::KubernetesDashboard] @@ -84,8 +94,10 @@ module Google # Update properties of this object def update!(**args) + @cloud_run_config = args[:cloud_run_config] if args.key?(:cloud_run_config) @horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling) @http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing) + @istio_config = args[:istio_config] if args.key?(:istio_config) @kubernetes_dashboard = args[:kubernetes_dashboard] if args.key?(:kubernetes_dashboard) @network_policy_config = args[:network_policy_config] if args.key?(:network_policy_config) end @@ -120,6 +132,25 @@ module Google end end + # Parameters for using BigQuery as the destination of resource usage export. + class BigQueryDestination + include Google::Apis::Core::Hashable + + # The ID of a BigQuery Dataset. + # Corresponds to the JSON property `datasetId` + # @return [String] + attr_accessor :dataset_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dataset_id = args[:dataset_id] if args.key?(:dataset_id) + end + end + # Configuration for Binary Authorization. class BinaryAuthorization include Google::Apis::Core::Hashable @@ -229,6 +260,26 @@ module Google end end + # Configuration options for the Cloud Run feature. + class CloudRunConfig + include Google::Apis::Core::Hashable + + # Whether Cloud Run addon is enabled for this cluster. + # Corresponds to the JSON property `disabled` + # @return [Boolean] + attr_accessor :disabled + alias_method :disabled?, :disabled + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disabled = args[:disabled] if args.key?(:disabled) + end + end + # A Google Kubernetes Engine cluster. class Cluster include Google::Apis::Core::Hashable @@ -518,6 +569,11 @@ module Google # @return [Hash] attr_accessor :resource_labels + # Configuration for exporting cluster resource usages. + # Corresponds to the JSON property `resourceUsageExportConfig` + # @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig] + attr_accessor :resource_usage_export_config + # [Output only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] @@ -619,6 +675,7 @@ module Google @private_cluster = args[:private_cluster] if args.key?(:private_cluster) @private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config) @resource_labels = args[:resource_labels] if args.key?(:resource_labels) + @resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config) @self_link = args[:self_link] if args.key?(:self_link) @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr) @status = args[:status] if args.key?(:status) @@ -774,6 +831,11 @@ module Google # @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig] attr_accessor :desired_pod_security_policy_config + # Configuration for exporting cluster resource usages. + # Corresponds to the JSON property `desiredResourceUsageExportConfig` + # @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig] + attr_accessor :desired_resource_usage_export_config + # VerticalPodAutoscaling contains global, per-cluster information # required by Vertical Pod Autoscaler to automatically adjust # the resources of pods controlled by it. @@ -800,6 +862,7 @@ module Google @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id) @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version) @desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config) + @desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config) @desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling) end end @@ -1196,6 +1259,32 @@ module Google end end + # Configuration options for Istio addon. + class IstioConfig + include Google::Apis::Core::Hashable + + # The specified Istio auth mode, either none, or mutual TLS. + # Corresponds to the JSON property `auth` + # @return [String] + attr_accessor :auth + + # Whether Istio is enabled for this cluster. + # Corresponds to the JSON property `disabled` + # @return [Boolean] + attr_accessor :disabled + alias_method :disabled?, :disabled + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auth = args[:auth] if args.key?(:auth) + @disabled = args[:disabled] if args.key?(:disabled) + end + end + # Configuration for the Kubernetes Dashboard. class KubernetesDashboard include Google::Apis::Core::Hashable @@ -1381,9 +1470,7 @@ module Google # @return [String] attr_accessor :name - # Recommended is a bool combining the drain state of the location (ie- has - # the region been drained manually?), and the stockout status of any zone - # according to Zone Advisor. This will be internal only for use by pantheon. + # Whether the location is recomended for GKE cluster scheduling. # Corresponds to the JSON property `recommended` # @return [Boolean] attr_accessor :recommended @@ -2302,6 +2389,33 @@ module Google end end + # Configuration for exporting cluster resource usages. + class ResourceUsageExportConfig + include Google::Apis::Core::Hashable + + # Parameters for using BigQuery as the destination of resource usage export. + # Corresponds to the JSON property `bigqueryDestination` + # @return [Google::Apis::ContainerV1beta1::BigQueryDestination] + attr_accessor :bigquery_destination + + # Whether to enable network egress metering for this cluster. If enabled, a + # daemonset will be created in the cluster to meter network egress traffic. + # Corresponds to the JSON property `enableNetworkEgressMetering` + # @return [Boolean] + attr_accessor :enable_network_egress_metering + alias_method :enable_network_egress_metering?, :enable_network_egress_metering + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination) + @enable_network_egress_metering = args[:enable_network_egress_metering] if args.key?(:enable_network_egress_metering) + end + end + # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed # NodePool upgrade. This will be an no-op if the last upgrade successfully # completed. diff --git a/generated/google/apis/container_v1beta1/representations.rb b/generated/google/apis/container_v1beta1/representations.rb index 68c979aa0..60778546b 100644 --- a/generated/google/apis/container_v1beta1/representations.rb +++ b/generated/google/apis/container_v1beta1/representations.rb @@ -40,6 +40,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class BigQueryDestination + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class BinaryAuthorization class Representation < Google::Apis::Core::JsonRepresentation; end @@ -64,6 +70,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class CloudRunConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Cluster class Representation < Google::Apis::Core::JsonRepresentation; end @@ -130,6 +142,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class IstioConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class KubernetesDashboard class Representation < Google::Apis::Core::JsonRepresentation; end @@ -292,6 +310,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ResourceUsageExportConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class RollbackNodePoolUpgradeRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -441,10 +465,14 @@ module Google class AddonsConfig # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cloud_run_config, as: 'cloudRunConfig', class: Google::Apis::ContainerV1beta1::CloudRunConfig, decorator: Google::Apis::ContainerV1beta1::CloudRunConfig::Representation + property :horizontal_pod_autoscaling, as: 'horizontalPodAutoscaling', class: Google::Apis::ContainerV1beta1::HorizontalPodAutoscaling, decorator: Google::Apis::ContainerV1beta1::HorizontalPodAutoscaling::Representation property :http_load_balancing, as: 'httpLoadBalancing', class: Google::Apis::ContainerV1beta1::HttpLoadBalancing, decorator: Google::Apis::ContainerV1beta1::HttpLoadBalancing::Representation + property :istio_config, as: 'istioConfig', class: Google::Apis::ContainerV1beta1::IstioConfig, decorator: Google::Apis::ContainerV1beta1::IstioConfig::Representation + property :kubernetes_dashboard, as: 'kubernetesDashboard', class: Google::Apis::ContainerV1beta1::KubernetesDashboard, decorator: Google::Apis::ContainerV1beta1::KubernetesDashboard::Representation property :network_policy_config, as: 'networkPolicyConfig', class: Google::Apis::ContainerV1beta1::NetworkPolicyConfig, decorator: Google::Apis::ContainerV1beta1::NetworkPolicyConfig::Representation @@ -460,6 +488,13 @@ module Google end end + class BigQueryDestination + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dataset_id, as: 'datasetId' + end + end + class BinaryAuthorization # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -492,6 +527,13 @@ module Google end end + class CloudRunConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disabled, as: 'disabled' + end + end + class Cluster # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -551,6 +593,8 @@ module Google property :private_cluster_config, as: 'privateClusterConfig', class: Google::Apis::ContainerV1beta1::PrivateClusterConfig, decorator: Google::Apis::ContainerV1beta1::PrivateClusterConfig::Representation hash :resource_labels, as: 'resourceLabels' + property :resource_usage_export_config, as: 'resourceUsageExportConfig', class: Google::Apis::ContainerV1beta1::ResourceUsageExportConfig, decorator: Google::Apis::ContainerV1beta1::ResourceUsageExportConfig::Representation + property :self_link, as: 'selfLink' property :services_ipv4_cidr, as: 'servicesIpv4Cidr' property :status, as: 'status' @@ -594,6 +638,8 @@ module Google property :desired_node_version, as: 'desiredNodeVersion' property :desired_pod_security_policy_config, as: 'desiredPodSecurityPolicyConfig', class: Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig, decorator: Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig::Representation + property :desired_resource_usage_export_config, as: 'desiredResourceUsageExportConfig', class: Google::Apis::ContainerV1beta1::ResourceUsageExportConfig, decorator: Google::Apis::ContainerV1beta1::ResourceUsageExportConfig::Representation + property :desired_vertical_pod_autoscaling, as: 'desiredVerticalPodAutoscaling', class: Google::Apis::ContainerV1beta1::VerticalPodAutoscaling, decorator: Google::Apis::ContainerV1beta1::VerticalPodAutoscaling::Representation end @@ -679,6 +725,14 @@ module Google end end + class IstioConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :auth, as: 'auth' + property :disabled, as: 'disabled' + end + end + class KubernetesDashboard # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -962,6 +1016,15 @@ module Google end end + class ResourceUsageExportConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bigquery_destination, as: 'bigqueryDestination', class: Google::Apis::ContainerV1beta1::BigQueryDestination, decorator: Google::Apis::ContainerV1beta1::BigQueryDestination::Representation + + property :enable_network_egress_metering, as: 'enableNetworkEgressMetering' + end + end + class RollbackNodePoolUpgradeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/container_v1beta1/service.rb b/generated/google/apis/container_v1beta1/service.rb index 096474839..ae46f43dd 100644 --- a/generated/google/apis/container_v1beta1/service.rb +++ b/generated/google/apis/container_v1beta1/service.rb @@ -136,7 +136,7 @@ module Google execute_or_queue_command(command, &block) end - # + # Used to fetch locations that offer GKE. # @param [String] parent # Contains the name of the resource requested. # Specified in the format 'projects/*'. diff --git a/generated/google/apis/firestore_v1.rb b/generated/google/apis/firestore_v1.rb index 975066a2a..8d4f16374 100644 --- a/generated/google/apis/firestore_v1.rb +++ b/generated/google/apis/firestore_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/firestore module FirestoreV1 VERSION = 'V1' - REVISION = '20181020' + REVISION = '20181121' # 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/firestore_v1/classes.rb b/generated/google/apis/firestore_v1/classes.rb index 531de144c..6a3c0ab6c 100644 --- a/generated/google/apis/firestore_v1/classes.rb +++ b/generated/google/apis/firestore_v1/classes.rb @@ -22,6 +22,544 @@ module Google module Apis module FirestoreV1 + # An array value. + class ArrayValue + include Google::Apis::Core::Hashable + + # Values in the array. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @values = args[:values] if args.key?(:values) + end + end + + # The request for Firestore.BatchGetDocuments. + class BatchGetDocumentsRequest + include Google::Apis::Core::Hashable + + # The names of the documents to retrieve. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # The request will fail if any of the document is not a child resource of the + # given `database`. Duplicate names will be elided. + # Corresponds to the JSON property `documents` + # @return [Array] + attr_accessor :documents + + # A set of field paths on a document. + # Used to restrict a get or update operation on a document to a subset of its + # fields. + # This is different from standard field masks, as this is always scoped to a + # Document, and takes in account the dynamic nature of Value. + # Corresponds to the JSON property `mask` + # @return [Google::Apis::FirestoreV1::DocumentMask] + attr_accessor :mask + + # Options for creating a new transaction. + # Corresponds to the JSON property `newTransaction` + # @return [Google::Apis::FirestoreV1::TransactionOptions] + attr_accessor :new_transaction + + # Reads documents as they were at the given time. + # This may not be older than 60 seconds. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # Reads documents in a transaction. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @documents = args[:documents] if args.key?(:documents) + @mask = args[:mask] if args.key?(:mask) + @new_transaction = args[:new_transaction] if args.key?(:new_transaction) + @read_time = args[:read_time] if args.key?(:read_time) + @transaction = args[:transaction] if args.key?(:transaction) + end + end + + # The streamed response for Firestore.BatchGetDocuments. + class BatchGetDocumentsResponse + include Google::Apis::Core::Hashable + + # A Firestore document. + # Must not exceed 1 MiB - 4 bytes. + # Corresponds to the JSON property `found` + # @return [Google::Apis::FirestoreV1::Document] + attr_accessor :found + + # A document name that was requested but does not exist. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # Corresponds to the JSON property `missing` + # @return [String] + attr_accessor :missing + + # The time at which the document was read. + # This may be monotically increasing, in this case the previous documents in + # the result stream are guaranteed not to have changed between their + # read_time and this one. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # The transaction that was started as part of this request. + # Will only be set in the first response, and only if + # BatchGetDocumentsRequest.new_transaction was set in the request. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @found = args[:found] if args.key?(:found) + @missing = args[:missing] if args.key?(:missing) + @read_time = args[:read_time] if args.key?(:read_time) + @transaction = args[:transaction] if args.key?(:transaction) + end + end + + # The request for Firestore.BeginTransaction. + class BeginTransactionRequest + include Google::Apis::Core::Hashable + + # Options for creating a new transaction. + # Corresponds to the JSON property `options` + # @return [Google::Apis::FirestoreV1::TransactionOptions] + attr_accessor :options + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @options = args[:options] if args.key?(:options) + end + end + + # The response for Firestore.BeginTransaction. + class BeginTransactionResponse + include Google::Apis::Core::Hashable + + # The transaction that was started. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @transaction = args[:transaction] if args.key?(:transaction) + end + end + + # A selection of a collection, such as `messages as m1`. + class CollectionSelector + include Google::Apis::Core::Hashable + + # When false, selects only collections that are immediate children of + # the `parent` specified in the containing `RunQueryRequest`. + # When true, selects all descendant collections. + # Corresponds to the JSON property `allDescendants` + # @return [Boolean] + attr_accessor :all_descendants + alias_method :all_descendants?, :all_descendants + + # The collection ID. + # When set, selects only collections with this ID. + # Corresponds to the JSON property `collectionId` + # @return [String] + attr_accessor :collection_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @all_descendants = args[:all_descendants] if args.key?(:all_descendants) + @collection_id = args[:collection_id] if args.key?(:collection_id) + end + end + + # The request for Firestore.Commit. + class CommitRequest + include Google::Apis::Core::Hashable + + # If set, applies all writes in this transaction, and commits it. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + # The writes to apply. + # Always executed atomically and in order. + # Corresponds to the JSON property `writes` + # @return [Array] + attr_accessor :writes + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @transaction = args[:transaction] if args.key?(:transaction) + @writes = args[:writes] if args.key?(:writes) + end + end + + # The response for Firestore.Commit. + class CommitResponse + include Google::Apis::Core::Hashable + + # The time at which the commit occurred. + # Corresponds to the JSON property `commitTime` + # @return [String] + attr_accessor :commit_time + + # The result of applying the writes. + # This i-th write result corresponds to the i-th write in the + # request. + # Corresponds to the JSON property `writeResults` + # @return [Array] + attr_accessor :write_results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @commit_time = args[:commit_time] if args.key?(:commit_time) + @write_results = args[:write_results] if args.key?(:write_results) + end + end + + # A filter that merges multiple other filters using the given operator. + class CompositeFilter + include Google::Apis::Core::Hashable + + # The list of filters to combine. + # Must contain at least one filter. + # Corresponds to the JSON property `filters` + # @return [Array] + attr_accessor :filters + + # The operator for combining multiple filters. + # Corresponds to the JSON property `op` + # @return [String] + attr_accessor :op + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @filters = args[:filters] if args.key?(:filters) + @op = args[:op] if args.key?(:op) + end + end + + # A position in a query result set. + class Cursor + include Google::Apis::Core::Hashable + + # If the position is just before or just after the given values, relative + # to the sort order defined by the query. + # Corresponds to the JSON property `before` + # @return [Boolean] + attr_accessor :before + alias_method :before?, :before + + # The values that represent a position, in the order they appear in + # the order by clause of a query. + # Can contain fewer values than specified in the order by clause. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @before = args[:before] if args.key?(:before) + @values = args[:values] if args.key?(:values) + end + end + + # A Firestore document. + # Must not exceed 1 MiB - 4 bytes. + class Document + include Google::Apis::Core::Hashable + + # Output only. The time at which the document was created. + # This value increases monotonically when a document is deleted then + # recreated. It can also be compared to values from other documents and + # the `read_time` of a query. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # The document's fields. + # The map keys represent field names. + # A simple field name contains only characters `a` to `z`, `A` to `Z`, + # `0` to `9`, or `_`, and must not start with `0` to `9`. For example, + # `foo_bar_17`. + # Field names matching the regular expression `__.*__` are reserved. Reserved + # field names are forbidden except in certain documented contexts. The map + # keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be + # empty. + # Field paths may be used in other contexts to refer to structured fields + # defined here. For `map_value`, the field path is represented by the simple + # or quoted field names of the containing fields, delimited by `.`. For + # example, the structured field + # `"foo" : ` map_value: ` "x&y" : ` string_value: "hello" ```` would be + # represented by the field path `foo.x&y`. + # Within a field path, a quoted field name starts and ends with `` ` `` and + # may contain any character. Some characters, including `` ` ``, must be + # escaped using a `\`. For example, `` `x&y` `` represents `x&y` and + # `` `bak\`tik` `` represents `` bak`tik ``. + # Corresponds to the JSON property `fields` + # @return [Hash] + attr_accessor :fields + + # The resource name of the document, for example + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. The time at which the document was last changed. + # This value is initially set to the `create_time` then increases + # monotonically with each change to the document. It can also be + # compared to values from other documents and the `read_time` of a query. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @fields = args[:fields] if args.key?(:fields) + @name = args[:name] if args.key?(:name) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A Document has changed. + # May be the result of multiple writes, including deletes, that + # ultimately resulted in a new value for the Document. + # Multiple DocumentChange messages may be returned for the same logical + # change, if multiple targets are affected. + class DocumentChange + include Google::Apis::Core::Hashable + + # A Firestore document. + # Must not exceed 1 MiB - 4 bytes. + # Corresponds to the JSON property `document` + # @return [Google::Apis::FirestoreV1::Document] + attr_accessor :document + + # A set of target IDs for targets that no longer match this document. + # Corresponds to the JSON property `removedTargetIds` + # @return [Array] + attr_accessor :removed_target_ids + + # A set of target IDs of targets that match this document. + # Corresponds to the JSON property `targetIds` + # @return [Array] + attr_accessor :target_ids + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document = args[:document] if args.key?(:document) + @removed_target_ids = args[:removed_target_ids] if args.key?(:removed_target_ids) + @target_ids = args[:target_ids] if args.key?(:target_ids) + end + end + + # A Document has been deleted. + # May be the result of multiple writes, including updates, the + # last of which deleted the Document. + # Multiple DocumentDelete messages may be returned for the same logical + # delete, if multiple targets are affected. + class DocumentDelete + include Google::Apis::Core::Hashable + + # The resource name of the Document that was deleted. + # Corresponds to the JSON property `document` + # @return [String] + attr_accessor :document + + # The read timestamp at which the delete was observed. + # Greater or equal to the `commit_time` of the delete. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # A set of target IDs for targets that previously matched this entity. + # Corresponds to the JSON property `removedTargetIds` + # @return [Array] + attr_accessor :removed_target_ids + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document = args[:document] if args.key?(:document) + @read_time = args[:read_time] if args.key?(:read_time) + @removed_target_ids = args[:removed_target_ids] if args.key?(:removed_target_ids) + end + end + + # A set of field paths on a document. + # Used to restrict a get or update operation on a document to a subset of its + # fields. + # This is different from standard field masks, as this is always scoped to a + # Document, and takes in account the dynamic nature of Value. + class DocumentMask + include Google::Apis::Core::Hashable + + # The list of field paths in the mask. See Document.fields for a field + # path syntax reference. + # Corresponds to the JSON property `fieldPaths` + # @return [Array] + attr_accessor :field_paths + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @field_paths = args[:field_paths] if args.key?(:field_paths) + end + end + + # A Document has been removed from the view of the targets. + # Sent if the document is no longer relevant to a target and is out of view. + # Can be sent instead of a DocumentDelete or a DocumentChange if the server + # can not send the new value of the document. + # Multiple DocumentRemove messages may be returned for the same logical + # write or delete, if multiple targets are affected. + class DocumentRemove + include Google::Apis::Core::Hashable + + # The resource name of the Document that has gone out of view. + # Corresponds to the JSON property `document` + # @return [String] + attr_accessor :document + + # The read timestamp at which the remove was observed. + # Greater or equal to the `commit_time` of the change/delete/remove. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # A set of target IDs for targets that previously matched this document. + # Corresponds to the JSON property `removedTargetIds` + # @return [Array] + attr_accessor :removed_target_ids + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document = args[:document] if args.key?(:document) + @read_time = args[:read_time] if args.key?(:read_time) + @removed_target_ids = args[:removed_target_ids] if args.key?(:removed_target_ids) + end + end + + # A transformation of a document. + class DocumentTransform + include Google::Apis::Core::Hashable + + # The name of the document to transform. + # Corresponds to the JSON property `document` + # @return [String] + attr_accessor :document + + # The list of transformations to apply to the fields of the document, in + # order. + # This must not be empty. + # Corresponds to the JSON property `fieldTransforms` + # @return [Array] + attr_accessor :field_transforms + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document = args[:document] if args.key?(:document) + @field_transforms = args[:field_transforms] if args.key?(:field_transforms) + end + end + + # A target specified by a set of documents names. + class DocumentsTarget + include Google::Apis::Core::Hashable + + # The names of the documents to retrieve. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # The request will fail if any of the document is not a child resource of + # the given `database`. Duplicate names will be elided. + # Corresponds to the JSON property `documents` + # @return [Array] + attr_accessor :documents + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @documents = args[:documents] if args.key?(:documents) + end + end + # A generic empty message that you can re-use to avoid defining duplicated # empty messages in your APIs. A typical example is to use it as the request # or the response type of an API method. For instance: @@ -41,6 +579,152 @@ module Google end end + # A digest of all the documents that match a given target. + class ExistenceFilter + include Google::Apis::Core::Hashable + + # The total count of documents that match target_id. + # If different from the count of documents in the client that match, the + # client must manually determine which documents no longer match the target. + # Corresponds to the JSON property `count` + # @return [Fixnum] + attr_accessor :count + + # The target ID to which this filter applies. + # Corresponds to the JSON property `targetId` + # @return [Fixnum] + attr_accessor :target_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @count = args[:count] if args.key?(:count) + @target_id = args[:target_id] if args.key?(:target_id) + end + end + + # A filter on a specific field. + class FieldFilter + include Google::Apis::Core::Hashable + + # A reference to a field, such as `max(messages.time) as max_time`. + # Corresponds to the JSON property `field` + # @return [Google::Apis::FirestoreV1::FieldReference] + attr_accessor :field + + # The operator to filter by. + # Corresponds to the JSON property `op` + # @return [String] + attr_accessor :op + + # A message that can hold any of the supported value types. + # Corresponds to the JSON property `value` + # @return [Google::Apis::FirestoreV1::Value] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @field = args[:field] if args.key?(:field) + @op = args[:op] if args.key?(:op) + @value = args[:value] if args.key?(:value) + end + end + + # A reference to a field, such as `max(messages.time) as max_time`. + class FieldReference + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `fieldPath` + # @return [String] + attr_accessor :field_path + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @field_path = args[:field_path] if args.key?(:field_path) + end + end + + # A transformation of a field of the document. + class FieldTransform + include Google::Apis::Core::Hashable + + # An array value. + # Corresponds to the JSON property `appendMissingElements` + # @return [Google::Apis::FirestoreV1::ArrayValue] + attr_accessor :append_missing_elements + + # The path of the field. See Document.fields for the field path syntax + # reference. + # Corresponds to the JSON property `fieldPath` + # @return [String] + attr_accessor :field_path + + # An array value. + # Corresponds to the JSON property `removeAllFromArray` + # @return [Google::Apis::FirestoreV1::ArrayValue] + attr_accessor :remove_all_from_array + + # Sets the field to the given server value. + # Corresponds to the JSON property `setToServerValue` + # @return [String] + attr_accessor :set_to_server_value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @append_missing_elements = args[:append_missing_elements] if args.key?(:append_missing_elements) + @field_path = args[:field_path] if args.key?(:field_path) + @remove_all_from_array = args[:remove_all_from_array] if args.key?(:remove_all_from_array) + @set_to_server_value = args[:set_to_server_value] if args.key?(:set_to_server_value) + end + end + + # A filter. + class Filter + include Google::Apis::Core::Hashable + + # A filter that merges multiple other filters using the given operator. + # Corresponds to the JSON property `compositeFilter` + # @return [Google::Apis::FirestoreV1::CompositeFilter] + attr_accessor :composite_filter + + # A filter on a specific field. + # Corresponds to the JSON property `fieldFilter` + # @return [Google::Apis::FirestoreV1::FieldFilter] + attr_accessor :field_filter + + # A filter with a single operand. + # Corresponds to the JSON property `unaryFilter` + # @return [Google::Apis::FirestoreV1::UnaryFilter] + attr_accessor :unary_filter + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @composite_filter = args[:composite_filter] if args.key?(:composite_filter) + @field_filter = args[:field_filter] if args.key?(:field_filter) + @unary_filter = args[:unary_filter] if args.key?(:unary_filter) + end + end + # Metadata for google.longrunning.Operation results from # FirestoreAdmin.ExportDocuments. class GoogleFirestoreAdminV1ExportDocumentsMetadata @@ -813,6 +1497,111 @@ module Google end end + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + class LatLng + include Google::Apis::Core::Hashable + + # The latitude in degrees. It must be in the range [-90.0, +90.0]. + # Corresponds to the JSON property `latitude` + # @return [Float] + attr_accessor :latitude + + # The longitude in degrees. It must be in the range [-180.0, +180.0]. + # Corresponds to the JSON property `longitude` + # @return [Float] + attr_accessor :longitude + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @latitude = args[:latitude] if args.key?(:latitude) + @longitude = args[:longitude] if args.key?(:longitude) + end + end + + # The request for Firestore.ListCollectionIds. + class ListCollectionIdsRequest + include Google::Apis::Core::Hashable + + # The maximum number of results to return. + # Corresponds to the JSON property `pageSize` + # @return [Fixnum] + attr_accessor :page_size + + # A page token. Must be a value from + # ListCollectionIdsResponse. + # Corresponds to the JSON property `pageToken` + # @return [String] + attr_accessor :page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @page_size = args[:page_size] if args.key?(:page_size) + @page_token = args[:page_token] if args.key?(:page_token) + end + end + + # The response from Firestore.ListCollectionIds. + class ListCollectionIdsResponse + include Google::Apis::Core::Hashable + + # The collection ids. + # Corresponds to the JSON property `collectionIds` + # @return [Array] + attr_accessor :collection_ids + + # A page token that may be used to continue the list. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @collection_ids = args[:collection_ids] if args.key?(:collection_ids) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # The response for Firestore.ListDocuments. + class ListDocumentsResponse + include Google::Apis::Core::Hashable + + # The Documents found. + # Corresponds to the JSON property `documents` + # @return [Array] + attr_accessor :documents + + # The next page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @documents = args[:documents] if args.key?(:documents) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + # The response message for Locations.ListLocations. class ListLocationsResponse include Google::Apis::Core::Hashable @@ -838,6 +1627,93 @@ module Google end end + # A request for Firestore.Listen + class ListenRequest + include Google::Apis::Core::Hashable + + # A specification of a set of documents to listen to. + # Corresponds to the JSON property `addTarget` + # @return [Google::Apis::FirestoreV1::Target] + attr_accessor :add_target + + # Labels associated with this target change. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The ID of a target to remove from this stream. + # Corresponds to the JSON property `removeTarget` + # @return [Fixnum] + attr_accessor :remove_target + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @add_target = args[:add_target] if args.key?(:add_target) + @labels = args[:labels] if args.key?(:labels) + @remove_target = args[:remove_target] if args.key?(:remove_target) + end + end + + # The response for Firestore.Listen. + class ListenResponse + include Google::Apis::Core::Hashable + + # A Document has changed. + # May be the result of multiple writes, including deletes, that + # ultimately resulted in a new value for the Document. + # Multiple DocumentChange messages may be returned for the same logical + # change, if multiple targets are affected. + # Corresponds to the JSON property `documentChange` + # @return [Google::Apis::FirestoreV1::DocumentChange] + attr_accessor :document_change + + # A Document has been deleted. + # May be the result of multiple writes, including updates, the + # last of which deleted the Document. + # Multiple DocumentDelete messages may be returned for the same logical + # delete, if multiple targets are affected. + # Corresponds to the JSON property `documentDelete` + # @return [Google::Apis::FirestoreV1::DocumentDelete] + attr_accessor :document_delete + + # A Document has been removed from the view of the targets. + # Sent if the document is no longer relevant to a target and is out of view. + # Can be sent instead of a DocumentDelete or a DocumentChange if the server + # can not send the new value of the document. + # Multiple DocumentRemove messages may be returned for the same logical + # write or delete, if multiple targets are affected. + # Corresponds to the JSON property `documentRemove` + # @return [Google::Apis::FirestoreV1::DocumentRemove] + attr_accessor :document_remove + + # A digest of all the documents that match a given target. + # Corresponds to the JSON property `filter` + # @return [Google::Apis::FirestoreV1::ExistenceFilter] + attr_accessor :filter + + # Targets being watched have changed. + # Corresponds to the JSON property `targetChange` + # @return [Google::Apis::FirestoreV1::TargetChange] + attr_accessor :target_change + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document_change = args[:document_change] if args.key?(:document_change) + @document_delete = args[:document_delete] if args.key?(:document_delete) + @document_remove = args[:document_remove] if args.key?(:document_remove) + @filter = args[:filter] if args.key?(:filter) + @target_change = args[:target_change] if args.key?(:target_change) + end + end + # A resource that represents Google Cloud Platform location. class Location include Google::Apis::Core::Hashable @@ -885,6 +1761,280 @@ module Google end end + # A map value. + class MapValue + include Google::Apis::Core::Hashable + + # The map's fields. + # The map keys represent field names. Field names matching the regular + # expression `__.*__` are reserved. Reserved field names are forbidden except + # in certain documented contexts. The map keys, represented as UTF-8, must + # not exceed 1,500 bytes and cannot be empty. + # Corresponds to the JSON property `fields` + # @return [Hash] + attr_accessor :fields + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fields = args[:fields] if args.key?(:fields) + end + end + + # An order on a field. + class Order + include Google::Apis::Core::Hashable + + # The direction to order by. Defaults to `ASCENDING`. + # Corresponds to the JSON property `direction` + # @return [String] + attr_accessor :direction + + # A reference to a field, such as `max(messages.time) as max_time`. + # Corresponds to the JSON property `field` + # @return [Google::Apis::FirestoreV1::FieldReference] + attr_accessor :field + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @direction = args[:direction] if args.key?(:direction) + @field = args[:field] if args.key?(:field) + end + end + + # A precondition on a document, used for conditional operations. + class Precondition + include Google::Apis::Core::Hashable + + # When set to `true`, the target document must exist. + # When set to `false`, the target document must not exist. + # Corresponds to the JSON property `exists` + # @return [Boolean] + attr_accessor :exists + alias_method :exists?, :exists + + # When set, the target document must exist and have been last updated at + # that time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exists = args[:exists] if args.key?(:exists) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # The projection of document's fields to return. + class Projection + include Google::Apis::Core::Hashable + + # The fields to return. + # If empty, all fields are returned. To only return the name + # of the document, use `['__name__']`. + # Corresponds to the JSON property `fields` + # @return [Array] + attr_accessor :fields + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fields = args[:fields] if args.key?(:fields) + end + end + + # A target specified by a query. + class QueryTarget + include Google::Apis::Core::Hashable + + # The parent resource name. In the format: + # `projects/`project_id`/databases/`database_id`/documents` or + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # For example: + # `projects/my-project/databases/my-database/documents` or + # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + # Corresponds to the JSON property `parent` + # @return [String] + attr_accessor :parent + + # A Firestore query. + # Corresponds to the JSON property `structuredQuery` + # @return [Google::Apis::FirestoreV1::StructuredQuery] + attr_accessor :structured_query + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @parent = args[:parent] if args.key?(:parent) + @structured_query = args[:structured_query] if args.key?(:structured_query) + end + end + + # Options for a transaction that can only be used to read documents. + class ReadOnly + include Google::Apis::Core::Hashable + + # Reads documents at the given time. + # This may not be older than 60 seconds. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @read_time = args[:read_time] if args.key?(:read_time) + end + end + + # Options for a transaction that can be used to read and write documents. + class ReadWrite + include Google::Apis::Core::Hashable + + # An optional transaction to retry. + # Corresponds to the JSON property `retryTransaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :retry_transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @retry_transaction = args[:retry_transaction] if args.key?(:retry_transaction) + end + end + + # The request for Firestore.Rollback. + class RollbackRequest + include Google::Apis::Core::Hashable + + # The transaction to roll back. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @transaction = args[:transaction] if args.key?(:transaction) + end + end + + # The request for Firestore.RunQuery. + class RunQueryRequest + include Google::Apis::Core::Hashable + + # Options for creating a new transaction. + # Corresponds to the JSON property `newTransaction` + # @return [Google::Apis::FirestoreV1::TransactionOptions] + attr_accessor :new_transaction + + # Reads documents as they were at the given time. + # This may not be older than 60 seconds. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # A Firestore query. + # Corresponds to the JSON property `structuredQuery` + # @return [Google::Apis::FirestoreV1::StructuredQuery] + attr_accessor :structured_query + + # Reads documents in a transaction. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @new_transaction = args[:new_transaction] if args.key?(:new_transaction) + @read_time = args[:read_time] if args.key?(:read_time) + @structured_query = args[:structured_query] if args.key?(:structured_query) + @transaction = args[:transaction] if args.key?(:transaction) + end + end + + # The response for Firestore.RunQuery. + class RunQueryResponse + include Google::Apis::Core::Hashable + + # A Firestore document. + # Must not exceed 1 MiB - 4 bytes. + # Corresponds to the JSON property `document` + # @return [Google::Apis::FirestoreV1::Document] + attr_accessor :document + + # The time at which the document was read. This may be monotonically + # increasing; in this case, the previous documents in the result stream are + # guaranteed not to have changed between their `read_time` and this one. + # If the query returns no results, a response with `read_time` and no + # `document` will be sent, and this represents the time at which the query + # was run. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # The number of results that have been skipped due to an offset between + # the last response and the current response. + # Corresponds to the JSON property `skippedResults` + # @return [Fixnum] + attr_accessor :skipped_results + + # The transaction that was started as part of this request. + # Can only be set in the first response, and only if + # RunQueryRequest.new_transaction was set in the request. + # If set, no other fields will be set in this response. + # Corresponds to the JSON property `transaction` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :transaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document = args[:document] if args.key?(:document) + @read_time = args[:read_time] if args.key?(:read_time) + @skipped_results = args[:skipped_results] if args.key?(:skipped_results) + @transaction = args[:transaction] if args.key?(:transaction) + end + end + # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by # [gRPC](https://github.com/grpc). The error model is designed to be: @@ -956,6 +2106,561 @@ module Google @message = args[:message] if args.key?(:message) end end + + # A Firestore query. + class StructuredQuery + include Google::Apis::Core::Hashable + + # A position in a query result set. + # Corresponds to the JSON property `endAt` + # @return [Google::Apis::FirestoreV1::Cursor] + attr_accessor :end_at + + # The collections to query. + # Corresponds to the JSON property `from` + # @return [Array] + attr_accessor :from + + # The maximum number of results to return. + # Applies after all other constraints. + # Must be >= 0 if specified. + # Corresponds to the JSON property `limit` + # @return [Fixnum] + attr_accessor :limit + + # The number of results to skip. + # Applies before limit, but after all other constraints. Must be >= 0 if + # specified. + # Corresponds to the JSON property `offset` + # @return [Fixnum] + attr_accessor :offset + + # The order to apply to the query results. + # Firestore guarantees a stable ordering through the following rules: + # * Any field required to appear in `order_by`, that is not already + # specified in `order_by`, is appended to the order in field name order + # by default. + # * If an order on `__name__` is not specified, it is appended by default. + # Fields are appended with the same sort direction as the last order + # specified, or 'ASCENDING' if no order was specified. For example: + # * `SELECT * FROM Foo ORDER BY A` becomes + # `SELECT * FROM Foo ORDER BY A, __name__` + # * `SELECT * FROM Foo ORDER BY A DESC` becomes + # `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` + # * `SELECT * FROM Foo WHERE A > 1` becomes + # `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` + # Corresponds to the JSON property `orderBy` + # @return [Array] + attr_accessor :order_by + + # The projection of document's fields to return. + # Corresponds to the JSON property `select` + # @return [Google::Apis::FirestoreV1::Projection] + attr_accessor :select + + # A position in a query result set. + # Corresponds to the JSON property `startAt` + # @return [Google::Apis::FirestoreV1::Cursor] + attr_accessor :start_at + + # A filter. + # Corresponds to the JSON property `where` + # @return [Google::Apis::FirestoreV1::Filter] + attr_accessor :where + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_at = args[:end_at] if args.key?(:end_at) + @from = args[:from] if args.key?(:from) + @limit = args[:limit] if args.key?(:limit) + @offset = args[:offset] if args.key?(:offset) + @order_by = args[:order_by] if args.key?(:order_by) + @select = args[:select] if args.key?(:select) + @start_at = args[:start_at] if args.key?(:start_at) + @where = args[:where] if args.key?(:where) + end + end + + # A specification of a set of documents to listen to. + class Target + include Google::Apis::Core::Hashable + + # A target specified by a set of documents names. + # Corresponds to the JSON property `documents` + # @return [Google::Apis::FirestoreV1::DocumentsTarget] + attr_accessor :documents + + # If the target should be removed once it is current and consistent. + # Corresponds to the JSON property `once` + # @return [Boolean] + attr_accessor :once + alias_method :once?, :once + + # A target specified by a query. + # Corresponds to the JSON property `query` + # @return [Google::Apis::FirestoreV1::QueryTarget] + attr_accessor :query + + # Start listening after a specific `read_time`. + # The client must know the state of matching documents at this time. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # A resume token from a prior TargetChange for an identical target. + # Using a resume token with a different target is unsupported and may fail. + # Corresponds to the JSON property `resumeToken` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :resume_token + + # A client provided target ID. + # If not set, the server will assign an ID for the target. + # Used for resuming a target without changing IDs. The IDs can either be + # client-assigned or be server-assigned in a previous stream. All targets + # with client provided IDs must be added before adding a target that needs + # a server-assigned id. + # Corresponds to the JSON property `targetId` + # @return [Fixnum] + attr_accessor :target_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @documents = args[:documents] if args.key?(:documents) + @once = args[:once] if args.key?(:once) + @query = args[:query] if args.key?(:query) + @read_time = args[:read_time] if args.key?(:read_time) + @resume_token = args[:resume_token] if args.key?(:resume_token) + @target_id = args[:target_id] if args.key?(:target_id) + end + end + + # Targets being watched have changed. + class TargetChange + include Google::Apis::Core::Hashable + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by + # [gRPC](https://github.com/grpc). The error model is designed to be: + # - Simple to use and understand for most users + # - Flexible enough to meet unexpected needs + # # Overview + # The `Status` message contains three pieces of data: error code, error message, + # and error details. The error code should be an enum value of + # google.rpc.Code, but it may accept additional error codes if needed. The + # error message should be a developer-facing English message that helps + # developers *understand* and *resolve* the error. If a localized user-facing + # error message is needed, put the localized message in the error details or + # localize it in the client. The optional error details may contain arbitrary + # information about the error. There is a predefined set of error detail types + # in the package `google.rpc` that can be used for common error conditions. + # # Language mapping + # The `Status` message is the logical representation of the error model, but it + # is not necessarily the actual wire format. When the `Status` message is + # exposed in different client libraries and different wire protocols, it can be + # mapped differently. For example, it will likely be mapped to some exceptions + # in Java, but more likely mapped to some error codes in C. + # # Other uses + # The error model and the `Status` message can be used in a variety of + # environments, either with or without APIs, to provide a + # consistent developer experience across different environments. + # Example uses of this error model include: + # - Partial errors. If a service needs to return partial errors to the client, + # it may embed the `Status` in the normal response to indicate the partial + # errors. + # - Workflow errors. A typical workflow has multiple steps. Each step may + # have a `Status` message for error reporting. + # - Batch operations. If a client uses batch request and batch response, the + # `Status` message should be used directly inside batch response, one for + # each error sub-response. + # - Asynchronous operations. If an API call embeds asynchronous operation + # results in its response, the status of those operations should be + # represented directly using the `Status` message. + # - Logging. If some API errors are stored in logs, the message `Status` could + # be used directly after any stripping needed for security/privacy reasons. + # Corresponds to the JSON property `cause` + # @return [Google::Apis::FirestoreV1::Status] + attr_accessor :cause + + # The consistent `read_time` for the given `target_ids` (omitted when the + # target_ids are not at a consistent snapshot). + # The stream is guaranteed to send a `read_time` with `target_ids` empty + # whenever the entire stream reaches a new consistent snapshot. ADD, + # CURRENT, and RESET messages are guaranteed to (eventually) result in a + # new consistent snapshot (while NO_CHANGE and REMOVE messages are not). + # For a given stream, `read_time` is guaranteed to be monotonically + # increasing. + # Corresponds to the JSON property `readTime` + # @return [String] + attr_accessor :read_time + + # A token that can be used to resume the stream for the given `target_ids`, + # or all targets if `target_ids` is empty. + # Not set on every target change. + # Corresponds to the JSON property `resumeToken` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :resume_token + + # The type of change that occurred. + # Corresponds to the JSON property `targetChangeType` + # @return [String] + attr_accessor :target_change_type + + # The target IDs of targets that have changed. + # If empty, the change applies to all targets. + # For `target_change_type=ADD`, the order of the target IDs matches the order + # of the requests to add the targets. This allows clients to unambiguously + # associate server-assigned target IDs with added targets. + # For other states, the order of the target IDs is not defined. + # Corresponds to the JSON property `targetIds` + # @return [Array] + attr_accessor :target_ids + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cause = args[:cause] if args.key?(:cause) + @read_time = args[:read_time] if args.key?(:read_time) + @resume_token = args[:resume_token] if args.key?(:resume_token) + @target_change_type = args[:target_change_type] if args.key?(:target_change_type) + @target_ids = args[:target_ids] if args.key?(:target_ids) + end + end + + # Options for creating a new transaction. + class TransactionOptions + include Google::Apis::Core::Hashable + + # Options for a transaction that can only be used to read documents. + # Corresponds to the JSON property `readOnly` + # @return [Google::Apis::FirestoreV1::ReadOnly] + attr_accessor :read_only + + # Options for a transaction that can be used to read and write documents. + # Corresponds to the JSON property `readWrite` + # @return [Google::Apis::FirestoreV1::ReadWrite] + attr_accessor :read_write + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @read_only = args[:read_only] if args.key?(:read_only) + @read_write = args[:read_write] if args.key?(:read_write) + end + end + + # A filter with a single operand. + class UnaryFilter + include Google::Apis::Core::Hashable + + # A reference to a field, such as `max(messages.time) as max_time`. + # Corresponds to the JSON property `field` + # @return [Google::Apis::FirestoreV1::FieldReference] + attr_accessor :field + + # The unary operator to apply. + # Corresponds to the JSON property `op` + # @return [String] + attr_accessor :op + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @field = args[:field] if args.key?(:field) + @op = args[:op] if args.key?(:op) + end + end + + # A message that can hold any of the supported value types. + class Value + include Google::Apis::Core::Hashable + + # An array value. + # Corresponds to the JSON property `arrayValue` + # @return [Google::Apis::FirestoreV1::ArrayValue] + attr_accessor :array_value + + # A boolean value. + # Corresponds to the JSON property `booleanValue` + # @return [Boolean] + attr_accessor :boolean_value + alias_method :boolean_value?, :boolean_value + + # A bytes value. + # Must not exceed 1 MiB - 89 bytes. + # Only the first 1,500 bytes are considered by queries. + # Corresponds to the JSON property `bytesValue` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :bytes_value + + # A double value. + # Corresponds to the JSON property `doubleValue` + # @return [Float] + attr_accessor :double_value + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `geoPointValue` + # @return [Google::Apis::FirestoreV1::LatLng] + attr_accessor :geo_point_value + + # An integer value. + # Corresponds to the JSON property `integerValue` + # @return [Fixnum] + attr_accessor :integer_value + + # A map value. + # Corresponds to the JSON property `mapValue` + # @return [Google::Apis::FirestoreV1::MapValue] + attr_accessor :map_value + + # A null value. + # Corresponds to the JSON property `nullValue` + # @return [String] + attr_accessor :null_value + + # A reference to a document. For example: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # Corresponds to the JSON property `referenceValue` + # @return [String] + attr_accessor :reference_value + + # A string value. + # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. + # Only the first 1,500 bytes of the UTF-8 representation are considered by + # queries. + # Corresponds to the JSON property `stringValue` + # @return [String] + attr_accessor :string_value + + # A timestamp value. + # Precise only to microseconds. When stored, any additional precision is + # rounded down. + # Corresponds to the JSON property `timestampValue` + # @return [String] + attr_accessor :timestamp_value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @array_value = args[:array_value] if args.key?(:array_value) + @boolean_value = args[:boolean_value] if args.key?(:boolean_value) + @bytes_value = args[:bytes_value] if args.key?(:bytes_value) + @double_value = args[:double_value] if args.key?(:double_value) + @geo_point_value = args[:geo_point_value] if args.key?(:geo_point_value) + @integer_value = args[:integer_value] if args.key?(:integer_value) + @map_value = args[:map_value] if args.key?(:map_value) + @null_value = args[:null_value] if args.key?(:null_value) + @reference_value = args[:reference_value] if args.key?(:reference_value) + @string_value = args[:string_value] if args.key?(:string_value) + @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value) + end + end + + # A write on a document. + class Write + include Google::Apis::Core::Hashable + + # A precondition on a document, used for conditional operations. + # Corresponds to the JSON property `currentDocument` + # @return [Google::Apis::FirestoreV1::Precondition] + attr_accessor :current_document + + # A document name to delete. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # Corresponds to the JSON property `delete` + # @return [String] + attr_accessor :delete + + # A transformation of a document. + # Corresponds to the JSON property `transform` + # @return [Google::Apis::FirestoreV1::DocumentTransform] + attr_accessor :transform + + # A Firestore document. + # Must not exceed 1 MiB - 4 bytes. + # Corresponds to the JSON property `update` + # @return [Google::Apis::FirestoreV1::Document] + attr_accessor :update + + # A set of field paths on a document. + # Used to restrict a get or update operation on a document to a subset of its + # fields. + # This is different from standard field masks, as this is always scoped to a + # Document, and takes in account the dynamic nature of Value. + # Corresponds to the JSON property `updateMask` + # @return [Google::Apis::FirestoreV1::DocumentMask] + attr_accessor :update_mask + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @current_document = args[:current_document] if args.key?(:current_document) + @delete = args[:delete] if args.key?(:delete) + @transform = args[:transform] if args.key?(:transform) + @update = args[:update] if args.key?(:update) + @update_mask = args[:update_mask] if args.key?(:update_mask) + end + end + + # The request for Firestore.Write. + # The first request creates a stream, or resumes an existing one from a token. + # When creating a new stream, the server replies with a response containing + # only an ID and a token, to use in the next request. + # When resuming a stream, the server first streams any responses later than the + # given token, then a response containing only an up-to-date token, to use in + # the next request. + class WriteRequest + include Google::Apis::Core::Hashable + + # Labels associated with this write request. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The ID of the write stream to resume. + # This may only be set in the first message. When left empty, a new write + # stream will be created. + # Corresponds to the JSON property `streamId` + # @return [String] + attr_accessor :stream_id + + # A stream token that was previously sent by the server. + # The client should set this field to the token from the most recent + # WriteResponse it has received. This acknowledges that the client has + # received responses up to this token. After sending this token, earlier + # tokens may not be used anymore. + # The server may close the stream if there are too many unacknowledged + # responses. + # Leave this field unset when creating a new stream. To resume a stream at + # a specific point, set this field and the `stream_id` field. + # Leave this field unset when creating a new stream. + # Corresponds to the JSON property `streamToken` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :stream_token + + # The writes to apply. + # Always executed atomically and in order. + # This must be empty on the first request. + # This may be empty on the last request. + # This must not be empty on all other requests. + # Corresponds to the JSON property `writes` + # @return [Array] + attr_accessor :writes + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @labels = args[:labels] if args.key?(:labels) + @stream_id = args[:stream_id] if args.key?(:stream_id) + @stream_token = args[:stream_token] if args.key?(:stream_token) + @writes = args[:writes] if args.key?(:writes) + end + end + + # The response for Firestore.Write. + class WriteResponse + include Google::Apis::Core::Hashable + + # The time at which the commit occurred. + # Corresponds to the JSON property `commitTime` + # @return [String] + attr_accessor :commit_time + + # The ID of the stream. + # Only set on the first message, when a new stream was created. + # Corresponds to the JSON property `streamId` + # @return [String] + attr_accessor :stream_id + + # A token that represents the position of this response in the stream. + # This can be used by a client to resume the stream at this point. + # This field is always set. + # Corresponds to the JSON property `streamToken` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :stream_token + + # The result of applying the writes. + # This i-th write result corresponds to the i-th write in the + # request. + # Corresponds to the JSON property `writeResults` + # @return [Array] + attr_accessor :write_results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @commit_time = args[:commit_time] if args.key?(:commit_time) + @stream_id = args[:stream_id] if args.key?(:stream_id) + @stream_token = args[:stream_token] if args.key?(:stream_token) + @write_results = args[:write_results] if args.key?(:write_results) + end + end + + # The result of applying a write. + class WriteResult + include Google::Apis::Core::Hashable + + # The results of applying each DocumentTransform.FieldTransform, in the + # same order. + # Corresponds to the JSON property `transformResults` + # @return [Array] + attr_accessor :transform_results + + # The last update time of the document after applying the write. Not set + # after a `delete`. + # If the write did not actually change the document, this will be the + # previous update_time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @transform_results = args[:transform_results] if args.key?(:transform_results) + @update_time = args[:update_time] if args.key?(:update_time) + end + end end end end diff --git a/generated/google/apis/firestore_v1/representations.rb b/generated/google/apis/firestore_v1/representations.rb index 40df2a031..980a31e2e 100644 --- a/generated/google/apis/firestore_v1/representations.rb +++ b/generated/google/apis/firestore_v1/representations.rb @@ -22,12 +22,144 @@ module Google module Apis module FirestoreV1 + class ArrayValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BatchGetDocumentsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BatchGetDocumentsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BeginTransactionRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BeginTransactionResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CollectionSelector + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CommitRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CommitResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompositeFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Cursor + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Document + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DocumentChange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DocumentDelete + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DocumentMask + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DocumentRemove + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DocumentTransform + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DocumentsTarget + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Empty class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class ExistenceFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class FieldFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class FieldReference + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class FieldTransform + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Filter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GoogleFirestoreAdminV1ExportDocumentsMetadata class Representation < Google::Apis::Core::JsonRepresentation; end @@ -142,30 +274,389 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class LatLng + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListCollectionIdsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListCollectionIdsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListDocumentsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ListLocationsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class ListenRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListenResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Location class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class MapValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Order + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Precondition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Projection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class QueryTarget + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReadOnly + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReadWrite + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RollbackRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RunQueryRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RunQueryResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Status class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class StructuredQuery + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Target + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TargetChange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TransactionOptions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class UnaryFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Value + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Write + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WriteRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WriteResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WriteResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ArrayValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :values, as: 'values', class: Google::Apis::FirestoreV1::Value, decorator: Google::Apis::FirestoreV1::Value::Representation + + end + end + + class BatchGetDocumentsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :documents, as: 'documents' + property :mask, as: 'mask', class: Google::Apis::FirestoreV1::DocumentMask, decorator: Google::Apis::FirestoreV1::DocumentMask::Representation + + property :new_transaction, as: 'newTransaction', class: Google::Apis::FirestoreV1::TransactionOptions, decorator: Google::Apis::FirestoreV1::TransactionOptions::Representation + + property :read_time, as: 'readTime' + property :transaction, :base64 => true, as: 'transaction' + end + end + + class BatchGetDocumentsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :found, as: 'found', class: Google::Apis::FirestoreV1::Document, decorator: Google::Apis::FirestoreV1::Document::Representation + + property :missing, as: 'missing' + property :read_time, as: 'readTime' + property :transaction, :base64 => true, as: 'transaction' + end + end + + class BeginTransactionRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :options, as: 'options', class: Google::Apis::FirestoreV1::TransactionOptions, decorator: Google::Apis::FirestoreV1::TransactionOptions::Representation + + end + end + + class BeginTransactionResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :transaction, :base64 => true, as: 'transaction' + end + end + + class CollectionSelector + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :all_descendants, as: 'allDescendants' + property :collection_id, as: 'collectionId' + end + end + + class CommitRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :transaction, :base64 => true, as: 'transaction' + collection :writes, as: 'writes', class: Google::Apis::FirestoreV1::Write, decorator: Google::Apis::FirestoreV1::Write::Representation + + end + end + + class CommitResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :commit_time, as: 'commitTime' + collection :write_results, as: 'writeResults', class: Google::Apis::FirestoreV1::WriteResult, decorator: Google::Apis::FirestoreV1::WriteResult::Representation + + end + end + + class CompositeFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :filters, as: 'filters', class: Google::Apis::FirestoreV1::Filter, decorator: Google::Apis::FirestoreV1::Filter::Representation + + property :op, as: 'op' + end + end + + class Cursor + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :before, as: 'before' + collection :values, as: 'values', class: Google::Apis::FirestoreV1::Value, decorator: Google::Apis::FirestoreV1::Value::Representation + + end + end + + class Document + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + hash :fields, as: 'fields', class: Google::Apis::FirestoreV1::Value, decorator: Google::Apis::FirestoreV1::Value::Representation + + property :name, as: 'name' + property :update_time, as: 'updateTime' + end + end + + class DocumentChange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document, as: 'document', class: Google::Apis::FirestoreV1::Document, decorator: Google::Apis::FirestoreV1::Document::Representation + + collection :removed_target_ids, as: 'removedTargetIds' + collection :target_ids, as: 'targetIds' + end + end + + class DocumentDelete + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document, as: 'document' + property :read_time, as: 'readTime' + collection :removed_target_ids, as: 'removedTargetIds' + end + end + + class DocumentMask + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :field_paths, as: 'fieldPaths' + end + end + + class DocumentRemove + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document, as: 'document' + property :read_time, as: 'readTime' + collection :removed_target_ids, as: 'removedTargetIds' + end + end + + class DocumentTransform + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document, as: 'document' + collection :field_transforms, as: 'fieldTransforms', class: Google::Apis::FirestoreV1::FieldTransform, decorator: Google::Apis::FirestoreV1::FieldTransform::Representation + + end + end + + class DocumentsTarget + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :documents, as: 'documents' + end + end + class Empty # @private class Representation < Google::Apis::Core::JsonRepresentation end end + class ExistenceFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :count, as: 'count' + property :target_id, as: 'targetId' + end + end + + class FieldFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :field, as: 'field', class: Google::Apis::FirestoreV1::FieldReference, decorator: Google::Apis::FirestoreV1::FieldReference::Representation + + property :op, as: 'op' + property :value, as: 'value', class: Google::Apis::FirestoreV1::Value, decorator: Google::Apis::FirestoreV1::Value::Representation + + end + end + + class FieldReference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :field_path, as: 'fieldPath' + end + end + + class FieldTransform + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :append_missing_elements, as: 'appendMissingElements', class: Google::Apis::FirestoreV1::ArrayValue, decorator: Google::Apis::FirestoreV1::ArrayValue::Representation + + property :field_path, as: 'fieldPath' + property :remove_all_from_array, as: 'removeAllFromArray', class: Google::Apis::FirestoreV1::ArrayValue, decorator: Google::Apis::FirestoreV1::ArrayValue::Representation + + property :set_to_server_value, as: 'setToServerValue' + end + end + + class Filter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :composite_filter, as: 'compositeFilter', class: Google::Apis::FirestoreV1::CompositeFilter, decorator: Google::Apis::FirestoreV1::CompositeFilter::Representation + + property :field_filter, as: 'fieldFilter', class: Google::Apis::FirestoreV1::FieldFilter, decorator: Google::Apis::FirestoreV1::FieldFilter::Representation + + property :unary_filter, as: 'unaryFilter', class: Google::Apis::FirestoreV1::UnaryFilter, decorator: Google::Apis::FirestoreV1::UnaryFilter::Representation + + end + end + class GoogleFirestoreAdminV1ExportDocumentsMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -357,6 +848,39 @@ module Google end end + class LatLng + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :latitude, as: 'latitude' + property :longitude, as: 'longitude' + end + end + + class ListCollectionIdsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :page_size, as: 'pageSize' + property :page_token, as: 'pageToken' + end + end + + class ListCollectionIdsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :collection_ids, as: 'collectionIds' + property :next_page_token, as: 'nextPageToken' + end + end + + class ListDocumentsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :documents, as: 'documents', class: Google::Apis::FirestoreV1::Document, decorator: Google::Apis::FirestoreV1::Document::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + class ListLocationsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -366,6 +890,32 @@ module Google end end + class ListenRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :add_target, as: 'addTarget', class: Google::Apis::FirestoreV1::Target, decorator: Google::Apis::FirestoreV1::Target::Representation + + hash :labels, as: 'labels' + property :remove_target, as: 'removeTarget' + end + end + + class ListenResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document_change, as: 'documentChange', class: Google::Apis::FirestoreV1::DocumentChange, decorator: Google::Apis::FirestoreV1::DocumentChange::Representation + + property :document_delete, as: 'documentDelete', class: Google::Apis::FirestoreV1::DocumentDelete, decorator: Google::Apis::FirestoreV1::DocumentDelete::Representation + + property :document_remove, as: 'documentRemove', class: Google::Apis::FirestoreV1::DocumentRemove, decorator: Google::Apis::FirestoreV1::DocumentRemove::Representation + + property :filter, as: 'filter', class: Google::Apis::FirestoreV1::ExistenceFilter, decorator: Google::Apis::FirestoreV1::ExistenceFilter::Representation + + property :target_change, as: 'targetChange', class: Google::Apis::FirestoreV1::TargetChange, decorator: Google::Apis::FirestoreV1::TargetChange::Representation + + end + end + class Location # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -377,6 +927,92 @@ module Google end end + class MapValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :fields, as: 'fields', class: Google::Apis::FirestoreV1::Value, decorator: Google::Apis::FirestoreV1::Value::Representation + + end + end + + class Order + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :direction, as: 'direction' + property :field, as: 'field', class: Google::Apis::FirestoreV1::FieldReference, decorator: Google::Apis::FirestoreV1::FieldReference::Representation + + end + end + + class Precondition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :exists, as: 'exists' + property :update_time, as: 'updateTime' + end + end + + class Projection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :fields, as: 'fields', class: Google::Apis::FirestoreV1::FieldReference, decorator: Google::Apis::FirestoreV1::FieldReference::Representation + + end + end + + class QueryTarget + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :parent, as: 'parent' + property :structured_query, as: 'structuredQuery', class: Google::Apis::FirestoreV1::StructuredQuery, decorator: Google::Apis::FirestoreV1::StructuredQuery::Representation + + end + end + + class ReadOnly + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :read_time, as: 'readTime' + end + end + + class ReadWrite + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :retry_transaction, :base64 => true, as: 'retryTransaction' + end + end + + class RollbackRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :transaction, :base64 => true, as: 'transaction' + end + end + + class RunQueryRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :new_transaction, as: 'newTransaction', class: Google::Apis::FirestoreV1::TransactionOptions, decorator: Google::Apis::FirestoreV1::TransactionOptions::Representation + + property :read_time, as: 'readTime' + property :structured_query, as: 'structuredQuery', class: Google::Apis::FirestoreV1::StructuredQuery, decorator: Google::Apis::FirestoreV1::StructuredQuery::Representation + + property :transaction, :base64 => true, as: 'transaction' + end + end + + class RunQueryResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document, as: 'document', class: Google::Apis::FirestoreV1::Document, decorator: Google::Apis::FirestoreV1::Document::Representation + + property :read_time, as: 'readTime' + property :skipped_results, as: 'skippedResults' + property :transaction, :base64 => true, as: 'transaction' + end + end + class Status # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -385,6 +1021,137 @@ module Google property :message, as: 'message' end end + + class StructuredQuery + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_at, as: 'endAt', class: Google::Apis::FirestoreV1::Cursor, decorator: Google::Apis::FirestoreV1::Cursor::Representation + + collection :from, as: 'from', class: Google::Apis::FirestoreV1::CollectionSelector, decorator: Google::Apis::FirestoreV1::CollectionSelector::Representation + + property :limit, as: 'limit' + property :offset, as: 'offset' + collection :order_by, as: 'orderBy', class: Google::Apis::FirestoreV1::Order, decorator: Google::Apis::FirestoreV1::Order::Representation + + property :select, as: 'select', class: Google::Apis::FirestoreV1::Projection, decorator: Google::Apis::FirestoreV1::Projection::Representation + + property :start_at, as: 'startAt', class: Google::Apis::FirestoreV1::Cursor, decorator: Google::Apis::FirestoreV1::Cursor::Representation + + property :where, as: 'where', class: Google::Apis::FirestoreV1::Filter, decorator: Google::Apis::FirestoreV1::Filter::Representation + + end + end + + class Target + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :documents, as: 'documents', class: Google::Apis::FirestoreV1::DocumentsTarget, decorator: Google::Apis::FirestoreV1::DocumentsTarget::Representation + + property :once, as: 'once' + property :query, as: 'query', class: Google::Apis::FirestoreV1::QueryTarget, decorator: Google::Apis::FirestoreV1::QueryTarget::Representation + + property :read_time, as: 'readTime' + property :resume_token, :base64 => true, as: 'resumeToken' + property :target_id, as: 'targetId' + end + end + + class TargetChange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cause, as: 'cause', class: Google::Apis::FirestoreV1::Status, decorator: Google::Apis::FirestoreV1::Status::Representation + + property :read_time, as: 'readTime' + property :resume_token, :base64 => true, as: 'resumeToken' + property :target_change_type, as: 'targetChangeType' + collection :target_ids, as: 'targetIds' + end + end + + class TransactionOptions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :read_only, as: 'readOnly', class: Google::Apis::FirestoreV1::ReadOnly, decorator: Google::Apis::FirestoreV1::ReadOnly::Representation + + property :read_write, as: 'readWrite', class: Google::Apis::FirestoreV1::ReadWrite, decorator: Google::Apis::FirestoreV1::ReadWrite::Representation + + end + end + + class UnaryFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :field, as: 'field', class: Google::Apis::FirestoreV1::FieldReference, decorator: Google::Apis::FirestoreV1::FieldReference::Representation + + property :op, as: 'op' + end + end + + class Value + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :array_value, as: 'arrayValue', class: Google::Apis::FirestoreV1::ArrayValue, decorator: Google::Apis::FirestoreV1::ArrayValue::Representation + + property :boolean_value, as: 'booleanValue' + property :bytes_value, :base64 => true, as: 'bytesValue' + property :double_value, as: 'doubleValue' + property :geo_point_value, as: 'geoPointValue', class: Google::Apis::FirestoreV1::LatLng, decorator: Google::Apis::FirestoreV1::LatLng::Representation + + property :integer_value, :numeric_string => true, as: 'integerValue' + property :map_value, as: 'mapValue', class: Google::Apis::FirestoreV1::MapValue, decorator: Google::Apis::FirestoreV1::MapValue::Representation + + property :null_value, as: 'nullValue' + property :reference_value, as: 'referenceValue' + property :string_value, as: 'stringValue' + property :timestamp_value, as: 'timestampValue' + end + end + + class Write + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :current_document, as: 'currentDocument', class: Google::Apis::FirestoreV1::Precondition, decorator: Google::Apis::FirestoreV1::Precondition::Representation + + property :delete, as: 'delete' + property :transform, as: 'transform', class: Google::Apis::FirestoreV1::DocumentTransform, decorator: Google::Apis::FirestoreV1::DocumentTransform::Representation + + property :update, as: 'update', class: Google::Apis::FirestoreV1::Document, decorator: Google::Apis::FirestoreV1::Document::Representation + + property :update_mask, as: 'updateMask', class: Google::Apis::FirestoreV1::DocumentMask, decorator: Google::Apis::FirestoreV1::DocumentMask::Representation + + end + end + + class WriteRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :labels, as: 'labels' + property :stream_id, as: 'streamId' + property :stream_token, :base64 => true, as: 'streamToken' + collection :writes, as: 'writes', class: Google::Apis::FirestoreV1::Write, decorator: Google::Apis::FirestoreV1::Write::Representation + + end + end + + class WriteResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :commit_time, as: 'commitTime' + property :stream_id, as: 'streamId' + property :stream_token, :base64 => true, as: 'streamToken' + collection :write_results, as: 'writeResults', class: Google::Apis::FirestoreV1::WriteResult, decorator: Google::Apis::FirestoreV1::WriteResult::Representation + + end + end + + class WriteResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :transform_results, as: 'transformResults', class: Google::Apis::FirestoreV1::Value, decorator: Google::Apis::FirestoreV1::Value::Representation + + property :update_time, as: 'updateTime' + end + end end end end diff --git a/generated/google/apis/firestore_v1/service.rb b/generated/google/apis/firestore_v1/service.rb index dedc87629..f78d85406 100644 --- a/generated/google/apis/firestore_v1/service.rb +++ b/generated/google/apis/firestore_v1/service.rb @@ -425,6 +425,532 @@ module Google execute_or_queue_command(command, &block) end + # Gets multiple documents. + # Documents returned by this method are not guaranteed to be returned in the + # same order that they were requested. + # @param [String] database + # The database name. In the format: + # `projects/`project_id`/databases/`database_id``. + # @param [Google::Apis::FirestoreV1::BatchGetDocumentsRequest] batch_get_documents_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::BatchGetDocumentsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::BatchGetDocumentsResponse] + # + # @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 batch_get_documents(database, batch_get_documents_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+database}/documents:batchGet', options) + command.request_representation = Google::Apis::FirestoreV1::BatchGetDocumentsRequest::Representation + command.request_object = batch_get_documents_request_object + command.response_representation = Google::Apis::FirestoreV1::BatchGetDocumentsResponse::Representation + command.response_class = Google::Apis::FirestoreV1::BatchGetDocumentsResponse + command.params['database'] = database unless database.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts a new transaction. + # @param [String] database + # The database name. In the format: + # `projects/`project_id`/databases/`database_id``. + # @param [Google::Apis::FirestoreV1::BeginTransactionRequest] begin_transaction_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::BeginTransactionResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::BeginTransactionResponse] + # + # @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 begin_document_transaction(database, begin_transaction_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+database}/documents:beginTransaction', options) + command.request_representation = Google::Apis::FirestoreV1::BeginTransactionRequest::Representation + command.request_object = begin_transaction_request_object + command.response_representation = Google::Apis::FirestoreV1::BeginTransactionResponse::Representation + command.response_class = Google::Apis::FirestoreV1::BeginTransactionResponse + command.params['database'] = database unless database.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Commits a transaction, while optionally updating documents. + # @param [String] database + # The database name. In the format: + # `projects/`project_id`/databases/`database_id``. + # @param [Google::Apis::FirestoreV1::CommitRequest] commit_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::CommitResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::CommitResponse] + # + # @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 commit_document(database, commit_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+database}/documents:commit', options) + command.request_representation = Google::Apis::FirestoreV1::CommitRequest::Representation + command.request_object = commit_request_object + command.response_representation = Google::Apis::FirestoreV1::CommitResponse::Representation + command.response_class = Google::Apis::FirestoreV1::CommitResponse + command.params['database'] = database unless database.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new document. + # @param [String] parent + # The parent resource. For example: + # `projects/`project_id`/databases/`database_id`/documents` or + # `projects/`project_id`/databases/`database_id`/documents/chatrooms/` + # chatroom_id`` + # @param [String] collection_id + # The collection ID, relative to `parent`, to list. For example: `chatrooms`. + # @param [Google::Apis::FirestoreV1::Document] document_object + # @param [String] document_id + # The client-assigned document ID to use for this document. + # Optional. If not specified, an ID will be assigned by the service. + # @param [Array, String] mask_field_paths + # The list of field paths in the mask. See Document.fields for a field + # path syntax reference. + # @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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::Document] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::Document] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_database_document_document(parent, collection_id, document_object = nil, document_id: nil, mask_field_paths: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/{collectionId}', options) + command.request_representation = Google::Apis::FirestoreV1::Document::Representation + command.request_object = document_object + command.response_representation = Google::Apis::FirestoreV1::Document::Representation + command.response_class = Google::Apis::FirestoreV1::Document + command.params['parent'] = parent unless parent.nil? + command.params['collectionId'] = collection_id unless collection_id.nil? + command.query['documentId'] = document_id unless document_id.nil? + command.query['mask.fieldPaths'] = mask_field_paths unless mask_field_paths.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a document. + # @param [String] name + # The resource name of the Document to delete. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # @param [Boolean] current_document_exists + # When set to `true`, the target document must exist. + # When set to `false`, the target document must not exist. + # @param [String] current_document_update_time + # When set, the target document must exist and have been last updated at + # that time. + # @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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::Empty] + # + # @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_project_database_document(name, current_document_exists: nil, current_document_update_time: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::FirestoreV1::Empty::Representation + command.response_class = Google::Apis::FirestoreV1::Empty + command.params['name'] = name unless name.nil? + command.query['currentDocument.exists'] = current_document_exists unless current_document_exists.nil? + command.query['currentDocument.updateTime'] = current_document_update_time unless current_document_update_time.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets a single document. + # @param [String] name + # The resource name of the Document to get. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # @param [Array, String] mask_field_paths + # The list of field paths in the mask. See Document.fields for a field + # path syntax reference. + # @param [String] read_time + # Reads the version of the document at the given time. + # This may not be older than 60 seconds. + # @param [String] transaction + # Reads the document in a transaction. + # @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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::Document] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::Document] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_database_document(name, mask_field_paths: nil, read_time: nil, transaction: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::FirestoreV1::Document::Representation + command.response_class = Google::Apis::FirestoreV1::Document + command.params['name'] = name unless name.nil? + command.query['mask.fieldPaths'] = mask_field_paths unless mask_field_paths.nil? + command.query['readTime'] = read_time unless read_time.nil? + command.query['transaction'] = transaction unless transaction.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists documents. + # @param [String] parent + # The parent resource name. In the format: + # `projects/`project_id`/databases/`database_id`/documents` or + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # For example: + # `projects/my-project/databases/my-database/documents` or + # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + # @param [String] collection_id + # The collection ID, relative to `parent`, to list. For example: `chatrooms` + # or `messages`. + # @param [Array, String] mask_field_paths + # The list of field paths in the mask. See Document.fields for a field + # path syntax reference. + # @param [String] order_by + # The order to sort results by. For example: `priority desc, name`. + # @param [Fixnum] page_size + # The maximum number of documents to return. + # @param [String] page_token + # The `next_page_token` value returned from a previous List request, if any. + # @param [String] read_time + # Reads documents as they were at the given time. + # This may not be older than 60 seconds. + # @param [Boolean] show_missing + # If the list should show missing documents. A missing document is a + # document that does not exist but has sub-documents. These documents will + # be returned with a key but will not have fields, Document.create_time, + # or Document.update_time set. + # Requests with `show_missing` may not specify `where` or + # `order_by`. + # @param [String] transaction + # Reads documents in a transaction. + # @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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::ListDocumentsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::ListDocumentsResponse] + # + # @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_project_database_documents(parent, collection_id, mask_field_paths: nil, order_by: nil, page_size: nil, page_token: nil, read_time: nil, show_missing: nil, transaction: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/{collectionId}', options) + command.response_representation = Google::Apis::FirestoreV1::ListDocumentsResponse::Representation + command.response_class = Google::Apis::FirestoreV1::ListDocumentsResponse + command.params['parent'] = parent unless parent.nil? + command.params['collectionId'] = collection_id unless collection_id.nil? + command.query['mask.fieldPaths'] = mask_field_paths unless mask_field_paths.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['readTime'] = read_time unless read_time.nil? + command.query['showMissing'] = show_missing unless show_missing.nil? + command.query['transaction'] = transaction unless transaction.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists all the collection IDs underneath a document. + # @param [String] parent + # The parent document. In the format: + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # For example: + # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + # @param [Google::Apis::FirestoreV1::ListCollectionIdsRequest] list_collection_ids_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::ListCollectionIdsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::ListCollectionIdsResponse] + # + # @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_document_collection_ids(parent, list_collection_ids_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}:listCollectionIds', options) + command.request_representation = Google::Apis::FirestoreV1::ListCollectionIdsRequest::Representation + command.request_object = list_collection_ids_request_object + command.response_representation = Google::Apis::FirestoreV1::ListCollectionIdsResponse::Representation + command.response_class = Google::Apis::FirestoreV1::ListCollectionIdsResponse + command.params['parent'] = parent unless parent.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Listens to changes. + # @param [String] database + # The database name. In the format: + # `projects/`project_id`/databases/`database_id``. + # @param [Google::Apis::FirestoreV1::ListenRequest] listen_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::ListenResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::ListenResponse] + # + # @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 listen_document(database, listen_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+database}/documents:listen', options) + command.request_representation = Google::Apis::FirestoreV1::ListenRequest::Representation + command.request_object = listen_request_object + command.response_representation = Google::Apis::FirestoreV1::ListenResponse::Representation + command.response_class = Google::Apis::FirestoreV1::ListenResponse + command.params['database'] = database unless database.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates or inserts a document. + # @param [String] name + # The resource name of the document, for example + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # @param [Google::Apis::FirestoreV1::Document] document_object + # @param [Boolean] current_document_exists + # When set to `true`, the target document must exist. + # When set to `false`, the target document must not exist. + # @param [String] current_document_update_time + # When set, the target document must exist and have been last updated at + # that time. + # @param [Array, String] mask_field_paths + # The list of field paths in the mask. See Document.fields for a field + # path syntax reference. + # @param [Array, String] update_mask_field_paths + # The list of field paths in the mask. See Document.fields for a field + # path syntax reference. + # @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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::Document] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::Document] + # + # @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_project_database_document(name, document_object = nil, current_document_exists: nil, current_document_update_time: nil, mask_field_paths: nil, update_mask_field_paths: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1/{+name}', options) + command.request_representation = Google::Apis::FirestoreV1::Document::Representation + command.request_object = document_object + command.response_representation = Google::Apis::FirestoreV1::Document::Representation + command.response_class = Google::Apis::FirestoreV1::Document + command.params['name'] = name unless name.nil? + command.query['currentDocument.exists'] = current_document_exists unless current_document_exists.nil? + command.query['currentDocument.updateTime'] = current_document_update_time unless current_document_update_time.nil? + command.query['mask.fieldPaths'] = mask_field_paths unless mask_field_paths.nil? + command.query['updateMask.fieldPaths'] = update_mask_field_paths unless update_mask_field_paths.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Rolls back a transaction. + # @param [String] database + # The database name. In the format: + # `projects/`project_id`/databases/`database_id``. + # @param [Google::Apis::FirestoreV1::RollbackRequest] rollback_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::Empty] + # + # @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 rollback_document(database, rollback_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+database}/documents:rollback', options) + command.request_representation = Google::Apis::FirestoreV1::RollbackRequest::Representation + command.request_object = rollback_request_object + command.response_representation = Google::Apis::FirestoreV1::Empty::Representation + command.response_class = Google::Apis::FirestoreV1::Empty + command.params['database'] = database unless database.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Runs a query. + # @param [String] parent + # The parent resource name. In the format: + # `projects/`project_id`/databases/`database_id`/documents` or + # `projects/`project_id`/databases/`database_id`/documents/`document_path``. + # For example: + # `projects/my-project/databases/my-database/documents` or + # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` + # @param [Google::Apis::FirestoreV1::RunQueryRequest] run_query_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::RunQueryResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::RunQueryResponse] + # + # @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 run_document_query(parent, run_query_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}:runQuery', options) + command.request_representation = Google::Apis::FirestoreV1::RunQueryRequest::Representation + command.request_object = run_query_request_object + command.response_representation = Google::Apis::FirestoreV1::RunQueryResponse::Representation + command.response_class = Google::Apis::FirestoreV1::RunQueryResponse + command.params['parent'] = parent unless parent.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Streams batches of document updates and deletes, in order. + # @param [String] database + # The database name. In the format: + # `projects/`project_id`/databases/`database_id``. + # This is only required in the first message. + # @param [Google::Apis::FirestoreV1::WriteRequest] write_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. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::FirestoreV1::WriteResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::FirestoreV1::WriteResponse] + # + # @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 write_document(database, write_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+database}/documents:write', options) + command.request_representation = Google::Apis::FirestoreV1::WriteRequest::Representation + command.request_object = write_request_object + command.response_representation = Google::Apis::FirestoreV1::WriteResponse::Representation + command.response_class = Google::Apis::FirestoreV1::WriteResponse + command.params['database'] = database unless database.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Starts asynchronous cancellation on a long-running operation. The server # makes a best effort to cancel the operation, but success is not # guaranteed. If the server doesn't support this method, it returns