diff --git a/api_names_out.yaml b/api_names_out.yaml index 9432dbc325b..8e457674b8d 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -107345,6 +107345,23 @@ "/compute:beta/GlobalVmExtensionPolicyLabelSelector": global_vm_extension_policy_label_selector "/compute:beta/GlobalVmExtensionPolicyLabelSelector/inclusionLabels": inclusion_labels "/compute:beta/GlobalVmExtensionPolicyLabelSelector/inclusionLabels/inclusion_label": inclusion_label +"/compute:beta/GlobalVmExtensionPolicyList": global_vm_extension_policy_list +"/compute:beta/GlobalVmExtensionPolicyList/etag": etag +"/compute:beta/GlobalVmExtensionPolicyList/id": id +"/compute:beta/GlobalVmExtensionPolicyList/items": items +"/compute:beta/GlobalVmExtensionPolicyList/items/item": item +"/compute:beta/GlobalVmExtensionPolicyList/kind": kind +"/compute:beta/GlobalVmExtensionPolicyList/nextPageToken": next_page_token +"/compute:beta/GlobalVmExtensionPolicyList/selfLink": self_link +"/compute:beta/GlobalVmExtensionPolicyList/unreachables": unreachables +"/compute:beta/GlobalVmExtensionPolicyList/unreachables/unreachable": unreachable +"/compute:beta/GlobalVmExtensionPolicyList/warning": warning +"/compute:beta/GlobalVmExtensionPolicyList/warning/code": code +"/compute:beta/GlobalVmExtensionPolicyList/warning/data": data +"/compute:beta/GlobalVmExtensionPolicyList/warning/data/datum": datum +"/compute:beta/GlobalVmExtensionPolicyList/warning/data/datum/key": key +"/compute:beta/GlobalVmExtensionPolicyList/warning/data/datum/value": value +"/compute:beta/GlobalVmExtensionPolicyList/warning/message": message "/compute:beta/GlobalVmExtensionPolicyRolloutOperation": global_vm_extension_policy_rollout_operation "/compute:beta/GlobalVmExtensionPolicyRolloutOperation/rolloutInput": rollout_input "/compute:beta/GlobalVmExtensionPolicyRolloutOperation/rolloutStatus": rollout_status @@ -108083,8 +108100,11 @@ "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicy/instanceSelections/instance_selection": instance_selection "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicy/provisioningModelMix": provisioning_model_mix "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": instance_group_manager_instance_flexibility_policy_instance_selection +"/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection/disks": disks +"/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection/disks/disk": disk "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection/machineTypes": machine_types "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection/machineTypes/machine_type": machine_type +"/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection/minCpuPlatform": min_cpu_platform "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection/rank": rank "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix": instance_group_manager_instance_flexibility_policy_provisioning_model_mix "/compute:beta/InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix/standardCapacityBase": standard_capacity_base @@ -109440,7 +109460,10 @@ "/compute:beta/ManagedInstanceLastAttempt/errors/errors/error/location": location "/compute:beta/ManagedInstanceLastAttempt/errors/errors/error/message": message "/compute:beta/ManagedInstancePropertiesFromFlexibilityPolicy": managed_instance_properties_from_flexibility_policy +"/compute:beta/ManagedInstancePropertiesFromFlexibilityPolicy/disks": disks +"/compute:beta/ManagedInstancePropertiesFromFlexibilityPolicy/disks/disk": disk "/compute:beta/ManagedInstancePropertiesFromFlexibilityPolicy/machineType": machine_type +"/compute:beta/ManagedInstancePropertiesFromFlexibilityPolicy/minCpuPlatform": min_cpu_platform "/compute:beta/ManagedInstancePropertiesFromFlexibilityPolicy/provisioningModel": provisioning_model "/compute:beta/ManagedInstanceScheduling": managed_instance_scheduling "/compute:beta/ManagedInstanceScheduling/terminationTimestamp": termination_timestamp @@ -111429,10 +111452,120 @@ "/compute:beta/ResourceStatusShutdownDetails/requestTimestamp": request_timestamp "/compute:beta/ResourceStatusShutdownDetails/stopState": stop_state "/compute:beta/ResourceStatusShutdownDetails/targetState": target_state +"/compute:beta/Rollout": rollout +"/compute:beta/Rollout/cancellationTime": cancellation_time +"/compute:beta/Rollout/completionTime": completion_time +"/compute:beta/Rollout/creationTimestamp": creation_timestamp +"/compute:beta/Rollout/currentWaveNumber": current_wave_number +"/compute:beta/Rollout/description": description +"/compute:beta/Rollout/etag": etag +"/compute:beta/Rollout/id": id +"/compute:beta/Rollout/kind": kind +"/compute:beta/Rollout/name": name +"/compute:beta/Rollout/rolloutEntity": rollout_entity +"/compute:beta/Rollout/rolloutPlan": rollout_plan +"/compute:beta/Rollout/selfLink": self_link +"/compute:beta/Rollout/selfLinkWithId": self_link_with_id +"/compute:beta/Rollout/state": state +"/compute:beta/Rollout/waveDetails": wave_details +"/compute:beta/Rollout/waveDetails/wave_detail": wave_detail +"/compute:beta/RolloutPlan": rollout_plan +"/compute:beta/RolloutPlan/creationTimestamp": creation_timestamp +"/compute:beta/RolloutPlan/description": description +"/compute:beta/RolloutPlan/id": id +"/compute:beta/RolloutPlan/kind": kind +"/compute:beta/RolloutPlan/locationScope": location_scope +"/compute:beta/RolloutPlan/name": name +"/compute:beta/RolloutPlan/selfLink": self_link +"/compute:beta/RolloutPlan/selfLinkWithId": self_link_with_id +"/compute:beta/RolloutPlan/waves": waves +"/compute:beta/RolloutPlan/waves/wafe": wafe +"/compute:beta/RolloutPlanWave": rollout_plan_wave +"/compute:beta/RolloutPlanWave/displayName": display_name +"/compute:beta/RolloutPlanWave/number": number +"/compute:beta/RolloutPlanWave/orchestrationOptions": orchestration_options +"/compute:beta/RolloutPlanWave/selectors": selectors +"/compute:beta/RolloutPlanWave/selectors/selector": selector +"/compute:beta/RolloutPlanWave/validation": validation +"/compute:beta/RolloutPlanWaveOrchestrationOptions": rollout_plan_wave_orchestration_options +"/compute:beta/RolloutPlanWaveOrchestrationOptions/delays": delays +"/compute:beta/RolloutPlanWaveOrchestrationOptions/delays/delay": delay +"/compute:beta/RolloutPlanWaveOrchestrationOptions/maxConcurrentLocations": max_concurrent_locations +"/compute:beta/RolloutPlanWaveOrchestrationOptions/maxConcurrentResourcesPerLocation": max_concurrent_resources_per_location +"/compute:beta/RolloutPlanWaveOrchestrationOptionsDelay": rollout_plan_wave_orchestration_options_delay +"/compute:beta/RolloutPlanWaveOrchestrationOptionsDelay/delimiter": delimiter +"/compute:beta/RolloutPlanWaveOrchestrationOptionsDelay/duration": duration +"/compute:beta/RolloutPlanWaveOrchestrationOptionsDelay/type": type +"/compute:beta/RolloutPlanWaveSelector": rollout_plan_wave_selector +"/compute:beta/RolloutPlanWaveSelector/locationSelector": location_selector +"/compute:beta/RolloutPlanWaveSelector/resourceHierarchySelector": resource_hierarchy_selector +"/compute:beta/RolloutPlanWaveSelectorLocationSelector": rollout_plan_wave_selector_location_selector +"/compute:beta/RolloutPlanWaveSelectorLocationSelector/includedLocations": included_locations +"/compute:beta/RolloutPlanWaveSelectorLocationSelector/includedLocations/included_location": included_location +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector": rollout_plan_wave_selector_resource_hierarchy_selector +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector/includedFolders": included_folders +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector/includedFolders/included_folder": included_folder +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector/includedOrganizations": included_organizations +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector/includedOrganizations/included_organization": included_organization +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector/includedProjects": included_projects +"/compute:beta/RolloutPlanWaveSelectorResourceHierarchySelector/includedProjects/included_project": included_project +"/compute:beta/RolloutPlanWaveValidation": rollout_plan_wave_validation +"/compute:beta/RolloutPlanWaveValidation/timeBasedValidationMetadata": time_based_validation_metadata +"/compute:beta/RolloutPlanWaveValidation/type": type +"/compute:beta/RolloutPlanWaveValidationTimeBasedValidationMetadata": rollout_plan_wave_validation_time_based_validation_metadata +"/compute:beta/RolloutPlanWaveValidationTimeBasedValidationMetadata/waitDuration": wait_duration +"/compute:beta/RolloutPlansListResponse": rollout_plans_list_response +"/compute:beta/RolloutPlansListResponse/etag": etag +"/compute:beta/RolloutPlansListResponse/id": id +"/compute:beta/RolloutPlansListResponse/items": items +"/compute:beta/RolloutPlansListResponse/items/item": item +"/compute:beta/RolloutPlansListResponse/nextPageToken": next_page_token +"/compute:beta/RolloutPlansListResponse/selfLink": self_link +"/compute:beta/RolloutPlansListResponse/unreachables": unreachables +"/compute:beta/RolloutPlansListResponse/unreachables/unreachable": unreachable +"/compute:beta/RolloutPlansListResponse/warning": warning +"/compute:beta/RolloutPlansListResponse/warning/code": code +"/compute:beta/RolloutPlansListResponse/warning/data": data +"/compute:beta/RolloutPlansListResponse/warning/data/datum": datum +"/compute:beta/RolloutPlansListResponse/warning/data/datum/key": key +"/compute:beta/RolloutPlansListResponse/warning/data/datum/value": value +"/compute:beta/RolloutPlansListResponse/warning/message": message "/compute:beta/RolloutPolicy": rollout_policy "/compute:beta/RolloutPolicy/defaultRolloutTime": default_rollout_time "/compute:beta/RolloutPolicy/locationRolloutPolicies": location_rollout_policies "/compute:beta/RolloutPolicy/locationRolloutPolicies/location_rollout_policy": location_rollout_policy +"/compute:beta/RolloutRolloutEntity": rollout_rollout_entity +"/compute:beta/RolloutRolloutEntity/orchestratedEntity": orchestrated_entity +"/compute:beta/RolloutRolloutEntityOrchestratedEntity": rollout_rollout_entity_orchestrated_entity +"/compute:beta/RolloutRolloutEntityOrchestratedEntity/conflictBehavior": conflict_behavior +"/compute:beta/RolloutRolloutEntityOrchestratedEntity/orchestrationAction": orchestration_action +"/compute:beta/RolloutRolloutEntityOrchestratedEntity/orchestrationSource": orchestration_source +"/compute:beta/RolloutWaveDetails": rollout_wave_details +"/compute:beta/RolloutWaveDetails/orchestratedWaveDetails": orchestrated_wave_details +"/compute:beta/RolloutWaveDetails/waveDisplayName": wave_display_name +"/compute:beta/RolloutWaveDetails/waveNumber": wave_number +"/compute:beta/RolloutWaveDetailsOrchestratedWaveDetails": rollout_wave_details_orchestrated_wave_details +"/compute:beta/RolloutWaveDetailsOrchestratedWaveDetails/completedResourcesCount": completed_resources_count +"/compute:beta/RolloutWaveDetailsOrchestratedWaveDetails/estimatedTotalResourcesCount": estimated_total_resources_count +"/compute:beta/RolloutWaveDetailsOrchestratedWaveDetails/failedLocations": failed_locations +"/compute:beta/RolloutWaveDetailsOrchestratedWaveDetails/failedLocations/failed_location": failed_location +"/compute:beta/RolloutWaveDetailsOrchestratedWaveDetails/failedResourcesCount": failed_resources_count +"/compute:beta/RolloutsListResponse": rollouts_list_response +"/compute:beta/RolloutsListResponse/etag": etag +"/compute:beta/RolloutsListResponse/id": id +"/compute:beta/RolloutsListResponse/items": items +"/compute:beta/RolloutsListResponse/items/item": item +"/compute:beta/RolloutsListResponse/nextPageToken": next_page_token +"/compute:beta/RolloutsListResponse/selfLink": self_link +"/compute:beta/RolloutsListResponse/unreachables": unreachables +"/compute:beta/RolloutsListResponse/unreachables/unreachable": unreachable +"/compute:beta/RolloutsListResponse/warning": warning +"/compute:beta/RolloutsListResponse/warning/code": code +"/compute:beta/RolloutsListResponse/warning/data": data +"/compute:beta/RolloutsListResponse/warning/data/datum": datum +"/compute:beta/RolloutsListResponse/warning/data/datum/key": key +"/compute:beta/RolloutsListResponse/warning/data/datum/value": value +"/compute:beta/RolloutsListResponse/warning/message": message "/compute:beta/Route": route "/compute:beta/Route/asPaths": as_paths "/compute:beta/Route/asPaths/as_path": as_path @@ -114673,9 +114806,27 @@ "/compute:beta/compute.globalVmExtensionPolicies.aggregatedList/project": project "/compute:beta/compute.globalVmExtensionPolicies.aggregatedList/returnPartialSuccess": return_partial_success "/compute:beta/compute.globalVmExtensionPolicies.aggregatedList/serviceProjectNumber": service_project_number +"/compute:beta/compute.globalVmExtensionPolicies.delete": delete_global_vm_extension_policy +"/compute:beta/compute.globalVmExtensionPolicies.delete/globalVmExtensionPolicy": global_vm_extension_policy +"/compute:beta/compute.globalVmExtensionPolicies.delete/project": project +"/compute:beta/compute.globalVmExtensionPolicies.delete/requestId": request_id "/compute:beta/compute.globalVmExtensionPolicies.get": get_global_vm_extension_policy "/compute:beta/compute.globalVmExtensionPolicies.get/globalVmExtensionPolicy": global_vm_extension_policy "/compute:beta/compute.globalVmExtensionPolicies.get/project": project +"/compute:beta/compute.globalVmExtensionPolicies.insert": insert_global_vm_extension_policy +"/compute:beta/compute.globalVmExtensionPolicies.insert/project": project +"/compute:beta/compute.globalVmExtensionPolicies.insert/requestId": request_id +"/compute:beta/compute.globalVmExtensionPolicies.list": list_global_vm_extension_policies +"/compute:beta/compute.globalVmExtensionPolicies.list/filter": filter +"/compute:beta/compute.globalVmExtensionPolicies.list/maxResults": max_results +"/compute:beta/compute.globalVmExtensionPolicies.list/orderBy": order_by +"/compute:beta/compute.globalVmExtensionPolicies.list/pageToken": page_token +"/compute:beta/compute.globalVmExtensionPolicies.list/project": project +"/compute:beta/compute.globalVmExtensionPolicies.list/returnPartialSuccess": return_partial_success +"/compute:beta/compute.globalVmExtensionPolicies.update": update_global_vm_extension_policy +"/compute:beta/compute.globalVmExtensionPolicies.update/globalVmExtensionPolicy": global_vm_extension_policy +"/compute:beta/compute.globalVmExtensionPolicies.update/project": project +"/compute:beta/compute.globalVmExtensionPolicies.update/requestId": request_id "/compute:beta/compute.healthChecks.aggregatedList": aggregated_health_check_list "/compute:beta/compute.healthChecks.aggregatedList/filter": filter "/compute:beta/compute.healthChecks.aggregatedList/includeAllScopes": include_all_scopes @@ -117960,6 +118111,42 @@ "/compute:beta/compute.resourcePolicies.testIamPermissions/project": project "/compute:beta/compute.resourcePolicies.testIamPermissions/region": region "/compute:beta/compute.resourcePolicies.testIamPermissions/resource": resource +"/compute:beta/compute.rolloutPlans.delete": delete_rollout_plan +"/compute:beta/compute.rolloutPlans.delete/project": project +"/compute:beta/compute.rolloutPlans.delete/requestId": request_id +"/compute:beta/compute.rolloutPlans.delete/rolloutPlan": rollout_plan +"/compute:beta/compute.rolloutPlans.get": get_rollout_plan +"/compute:beta/compute.rolloutPlans.get/project": project +"/compute:beta/compute.rolloutPlans.get/rolloutPlan": rollout_plan +"/compute:beta/compute.rolloutPlans.insert": insert_rollout_plan +"/compute:beta/compute.rolloutPlans.insert/project": project +"/compute:beta/compute.rolloutPlans.insert/requestId": request_id +"/compute:beta/compute.rolloutPlans.list": list_rollout_plans +"/compute:beta/compute.rolloutPlans.list/filter": filter +"/compute:beta/compute.rolloutPlans.list/maxResults": max_results +"/compute:beta/compute.rolloutPlans.list/orderBy": order_by +"/compute:beta/compute.rolloutPlans.list/pageToken": page_token +"/compute:beta/compute.rolloutPlans.list/project": project +"/compute:beta/compute.rolloutPlans.list/returnPartialSuccess": return_partial_success +"/compute:beta/compute.rollouts.cancel": cancel_rollout +"/compute:beta/compute.rollouts.cancel/project": project +"/compute:beta/compute.rollouts.cancel/requestId": request_id +"/compute:beta/compute.rollouts.cancel/rollback": rollback +"/compute:beta/compute.rollouts.cancel/rollout": rollout +"/compute:beta/compute.rollouts.delete": delete_rollout +"/compute:beta/compute.rollouts.delete/project": project +"/compute:beta/compute.rollouts.delete/requestId": request_id +"/compute:beta/compute.rollouts.delete/rollout": rollout +"/compute:beta/compute.rollouts.get": get_rollout +"/compute:beta/compute.rollouts.get/project": project +"/compute:beta/compute.rollouts.get/rollout": rollout +"/compute:beta/compute.rollouts.list": list_rollouts +"/compute:beta/compute.rollouts.list/filter": filter +"/compute:beta/compute.rollouts.list/maxResults": max_results +"/compute:beta/compute.rollouts.list/orderBy": order_by +"/compute:beta/compute.rollouts.list/pageToken": page_token +"/compute:beta/compute.rollouts.list/project": project +"/compute:beta/compute.rollouts.list/returnPartialSuccess": return_partial_success "/compute:beta/compute.routers.aggregatedList": list_aggregated_routers "/compute:beta/compute.routers.aggregatedList/filter": filter "/compute:beta/compute.routers.aggregatedList/includeAllScopes": include_all_scopes diff --git a/generated/google-apis-compute_beta/CHANGELOG.md b/generated/google-apis-compute_beta/CHANGELOG.md index 1a49a33f437..579d79475e5 100644 --- a/generated/google-apis-compute_beta/CHANGELOG.md +++ b/generated/google-apis-compute_beta/CHANGELOG.md @@ -1,5 +1,9 @@ # Release history for google-apis-compute_beta +### v0.127.0 (2025-11-09) + +* Regenerated from discovery document revision 20251031 + ### v0.126.0 (2025-10-26) * Regenerated from discovery document revision 20251019 diff --git a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/classes.rb b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/classes.rb index cb185ba0921..2dee83afad8 100644 --- a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/classes.rb +++ b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/classes.rb @@ -10479,8 +10479,21 @@ def update!(**args) class DiskSettings include Google::Apis::Core::Hashable - # Policy of which locations are allowed to create regional - # snapshots. + # AccessLocation is only used for regional snapshot. It contains which + # regions are allowed to create a regional snapshot from disks located in the + # given region/zone. + # It includes key-value pairs designed to store the following structure. The + # keys should match their corresponding values, which must be provided: + # access_location: ` + # locations ` + # us-central1 ` + # region: "us-central1" + # `, + # asia-west2 ` + # region: "asia-west2" + # ` + # ` + # ` # Corresponds to the JSON property `accessLocation` # @return [Google::Apis::ComputeBeta::DiskSettingsAccessLocation] attr_accessor :access_location @@ -10495,16 +10508,31 @@ def update!(**args) end end - # + # AccessLocation is only used for regional snapshot. It contains which + # regions are allowed to create a regional snapshot from disks located in the + # given region/zone. + # It includes key-value pairs designed to store the following structure. The + # keys should match their corresponding values, which must be provided: + # access_location: ` + # locations ` + # us-central1 ` + # region: "us-central1" + # `, + # asia-west2 ` + # region: "asia-west2" + # ` + # ` + # ` class DiskSettingsAccessLocation include Google::Apis::Core::Hashable - # + # List of regions that can create a regional + # snapshot from the current region # Corresponds to the JSON property `locations` # @return [Hash] attr_accessor :locations - # + # Policy of which location is allowed to access snapshot. # Corresponds to the JSON property `policy` # @return [String] attr_accessor :policy @@ -10520,11 +10548,11 @@ def update!(**args) end end - # + # A structure for specifying an allowed target region to create snapshot. class DiskSettingsAccessLocationAccessLocationPreference include Google::Apis::Core::Hashable - # + # Accessible region name # Corresponds to the JSON property `region` # @return [String] attr_accessor :region @@ -16055,6 +16083,142 @@ def update!(**args) end end + # Response to list global VM extension policy resources. + class GlobalVmExtensionPolicyList + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `etag` + # @return [String] + attr_accessor :etag + + # [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 GlobalVmExtensionPolicy resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # Type of resource. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for + # list requests. If the number of results is larger thanmaxResults, 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] Unreachable resources. + # Corresponds to the JSON property `unreachables` + # @return [Array] + attr_accessor :unreachables + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @etag = args[:etag] if args.key?(:etag) + @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) + @unreachables = args[:unreachables] if args.key?(:unreachables) + @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 the rollout operation class GlobalVmExtensionPolicyRolloutOperation include Google::Apis::Core::Hashable @@ -19011,7 +19175,7 @@ class HttpHeaderMatch # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or # rangeMatch must be set. # Regular expressions can only be used when the loadBalancingScheme is - # set to INTERNAL_SELF_MANAGED. + # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match @@ -19349,7 +19513,7 @@ class HttpQueryParameterMatch # more information about regular expression syntax, see Syntax. # Only one of presentMatch, exactMatch, orregexMatch must be set. # Regular expressions can only be used when the loadBalancingScheme is - # set to INTERNAL_SELF_MANAGED. + # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match @@ -19741,7 +19905,8 @@ class HttpRouteRuleMatch # any query parameters and anchor # that may be part of the original URL. # fullPathMatch must be from 1 to 1024 characters. - # Only one of prefixMatch, fullPathMatch or regexMatch must be + # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must + # be # specified. # Corresponds to the JSON property `fullPathMatch` # @return [String] @@ -19805,7 +19970,9 @@ class HttpRouteRuleMatch # For satisfying the matchRule condition, the request's # path must begin with the specified prefixMatch.prefixMatch must begin with a /. # The value must be from 1 to 1024 characters. - # Only one of prefixMatch, fullPathMatch or regexMatch must be + # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must + # be + # specified. # specified. # Corresponds to the JSON property `prefixMatch` # @return [String] @@ -19823,10 +19990,11 @@ class HttpRouteRuleMatch # removing any query parameters and anchor # supplied with the original URL. For # more information about regular expression syntax, see Syntax. - # Only one of prefixMatch, fullPathMatch orregexMatch must be + # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must + # be # specified. # Regular expressions can only be used when the loadBalancingScheme is - # set to INTERNAL_SELF_MANAGED. + # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match @@ -22352,11 +22520,23 @@ def update!(**args) class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection include Google::Apis::Core::Hashable + # List of disks to be attached to the instances created from this + # selection. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + # Full machine-type names, e.g. "n1-standard-16". # Corresponds to the JSON property `machineTypes` # @return [Array] attr_accessor :machine_types + # Name of the minimum CPU platform to be used by this instance selection. + # e.g. 'Intel Ice Lake'. + # Corresponds to the JSON property `minCpuPlatform` + # @return [String] + attr_accessor :min_cpu_platform + # Preference of this instance selection. Lower number means higher # preference. MIG will first try to create a VM based on the machine-type # with lowest rank and fallback to next rank based on availability. @@ -22372,7 +22552,9 @@ def initialize(**args) # Update properties of this object def update!(**args) + @disks = args[:disks] if args.key?(:disks) @machine_types = args[:machine_types] if args.key?(:machine_types) + @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @rank = args[:rank] if args.key?(:rank) end end @@ -33377,11 +33559,22 @@ def update!(**args) class ManagedInstancePropertiesFromFlexibilityPolicy include Google::Apis::Core::Hashable + # List of disks to be attached to the instance. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + # The machine type to be used for this instance. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type + # Name of the minimum CPU platform to be used by this instance. + # e.g. 'Intel Ice Lake'. + # Corresponds to the JSON property `minCpuPlatform` + # @return [String] + attr_accessor :min_cpu_platform + # The provisioning model to be used for this instance. # Corresponds to the JSON property `provisioningModel` # @return [String] @@ -33393,7 +33586,9 @@ def initialize(**args) # Update properties of this object def update!(**args) + @disks = args[:disks] if args.key?(:disks) @machine_type = args[:machine_type] if args.key?(:machine_type) + @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model) end end @@ -49452,6 +49647,585 @@ def update!(**args) end end + # Represent a Rollout resource. + class Rollout + include Google::Apis::Core::Hashable + + # Output only. The timestamp at which the Rollout was cancelled. + # Corresponds to the JSON property `cancellationTime` + # @return [String] + attr_accessor :cancellation_time + + # Output only. The timestamp at which the Rollout was completed. + # Corresponds to the JSON property `completionTime` + # @return [String] + attr_accessor :completion_time + + # [Output Only] Creation timestamp inRFC3339 + # text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # Output only. The number of the currently running wave. + # Ex. 1 + # Corresponds to the JSON property `currentWaveNumber` + # @return [Fixnum] + attr_accessor :current_wave_number + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Output only. etag of the Rollout + # Ex. abc1234 + # Corresponds to the JSON property `etag` + # @return [String] + attr_accessor :etag + + # [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#rollout + # for rollouts. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Name of the resource. Provided by the client when the resource is created. + # The name must be 1-63 characters long, and comply withRFC1035. + # 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 + + # Specifications of the resource to roll out. + # Corresponds to the JSON property `rolloutEntity` + # @return [Google::Apis::ComputeBeta::RolloutRolloutEntity] + attr_accessor :rollout_entity + + # Required. Rollout Plan used to model the Rollout. + # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1 + # Corresponds to the JSON property `rolloutPlan` + # @return [String] + attr_accessor :rollout_plan + + # [Output Only] Server-defined fully-qualified URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] Server-defined URL for this resource's resource id. + # Corresponds to the JSON property `selfLinkWithId` + # @return [String] + attr_accessor :self_link_with_id + + # Output only. The current state of the Rollout. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Details about each wave of the rollout. + # Corresponds to the JSON property `waveDetails` + # @return [Array] + attr_accessor :wave_details + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cancellation_time = args[:cancellation_time] if args.key?(:cancellation_time) + @completion_time = args[:completion_time] if args.key?(:completion_time) + @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @current_wave_number = args[:current_wave_number] if args.key?(:current_wave_number) + @description = args[:description] if args.key?(:description) + @etag = args[:etag] if args.key?(:etag) + @id = args[:id] if args.key?(:id) + @kind = args[:kind] if args.key?(:kind) + @name = args[:name] if args.key?(:name) + @rollout_entity = args[:rollout_entity] if args.key?(:rollout_entity) + @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan) + @self_link = args[:self_link] if args.key?(:self_link) + @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) + @state = args[:state] if args.key?(:state) + @wave_details = args[:wave_details] if args.key?(:wave_details) + end + end + + # Message describing RolloutPlan object + class RolloutPlan + include Google::Apis::Core::Hashable + + # [Output Only] Creation timestamp inRFC3339 + # text format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # An optional description of this resource. Provide this property when you + # create the resource. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # [Output Only] The unique identifier for the resource. This identifier is + # defined by the server. + # Corresponds to the JSON property `id` + # @return [Fixnum] + attr_accessor :id + + # [Output Only] Type of the resource. Always compute#rolloutPlan + # for rolloutPlans. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The location scope of the rollout plan. If not specified, the location + # scope is considered as ZONAL. + # Corresponds to the JSON property `locationScope` + # @return [String] + attr_accessor :location_scope + + # Name of the resource. Provided by the client when the resource is created. + # The name must be 1-63 characters long, and comply withRFC1035. + # 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 + + # [Output Only] Server-defined URL for this resource's resource id. + # Corresponds to the JSON property `selfLinkWithId` + # @return [String] + attr_accessor :self_link_with_id + + # Required. The waves included in this rollout plan. + # Corresponds to the JSON property `waves` + # @return [Array] + attr_accessor :waves + + 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) + @location_scope = args[:location_scope] if args.key?(:location_scope) + @name = args[:name] if args.key?(:name) + @self_link = args[:self_link] if args.key?(:self_link) + @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) + @waves = args[:waves] if args.key?(:waves) + end + end + + # A single wave in a rollout plan. + class RolloutPlanWave + include Google::Apis::Core::Hashable + + # Optional. The display name of this wave of the rollout plan. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Output only. The wave number. + # Corresponds to the JSON property `number` + # @return [Fixnum] + attr_accessor :number + + # Options to control the pace of orchestration of a wave. These options are + # required only if the resource being rolled out follows the Orchestrated + # pattern. + # Corresponds to the JSON property `orchestrationOptions` + # @return [Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptions] + attr_accessor :orchestration_options + + # Required. The selectors for this wave. There is a logical AND between each + # selector + # defined in a wave, so a resource must satisfy the criteria of *all* the + # specified selectors to be in scope for the wave. + # Corresponds to the JSON property `selectors` + # @return [Array] + attr_accessor :selectors + + # The validation to be performed before progressing to the next wave. + # Corresponds to the JSON property `validation` + # @return [Google::Apis::ComputeBeta::RolloutPlanWaveValidation] + attr_accessor :validation + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @number = args[:number] if args.key?(:number) + @orchestration_options = args[:orchestration_options] if args.key?(:orchestration_options) + @selectors = args[:selectors] if args.key?(:selectors) + @validation = args[:validation] if args.key?(:validation) + end + end + + # Options to control the pace of orchestration of a wave. These options are + # required only if the resource being rolled out follows the Orchestrated + # pattern. + class RolloutPlanWaveOrchestrationOptions + include Google::Apis::Core::Hashable + + # Optional. Delays, if any, to be added between batches of projects. We allow + # multiple Delays to be specified, letting users set separate delays + # between batches of projects corresponding to different locations and + # batches of projects corresponding to the same location. + # Corresponds to the JSON property `delays` + # @return [Array] + attr_accessor :delays + + # Optional. Maximum number of locations to be orchestrated in parallel. + # Corresponds to the JSON property `maxConcurrentLocations` + # @return [Fixnum] + attr_accessor :max_concurrent_locations + + # Optional. Maximum number of resources to be orchestrated per location in + # parallel. + # Corresponds to the JSON property `maxConcurrentResourcesPerLocation` + # @return [Fixnum] + attr_accessor :max_concurrent_resources_per_location + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @delays = args[:delays] if args.key?(:delays) + @max_concurrent_locations = args[:max_concurrent_locations] if args.key?(:max_concurrent_locations) + @max_concurrent_resources_per_location = args[:max_concurrent_resources_per_location] if args.key?(:max_concurrent_resources_per_location) + end + end + + # Options to control the delay, if any, between batches of projects. + class RolloutPlanWaveOrchestrationOptionsDelay + include Google::Apis::Core::Hashable + + # Optional. Controls whether the delay should only be added between batches of + # projects corresponding to different locations, or also between + # batches of projects corresponding to the same location. + # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added. + # Corresponds to the JSON property `delimiter` + # @return [String] + attr_accessor :delimiter + + # Optional. The duration of the delay, if any, to be added between batches of + # projects. A zero duration corresponds to no delay. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # Optional. Controls whether the specified duration is to be added at the end of + # each batch, or if the total processing time for each batch will be + # padded if needed to meet the specified duration. + # Must be set to TYPE_UNSPECIFIED if no delay is to be added. + # 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) + @delimiter = args[:delimiter] if args.key?(:delimiter) + @duration = args[:duration] if args.key?(:duration) + @type = args[:type] if args.key?(:type) + end + end + + # A selector which specifies what resource(s) are included in a given wave. + class RolloutPlanWaveSelector + include Google::Apis::Core::Hashable + + # Roll out to resources by location. + # Corresponds to the JSON property `locationSelector` + # @return [Google::Apis::ComputeBeta::RolloutPlanWaveSelectorLocationSelector] + attr_accessor :location_selector + + # Roll out to resources by Cloud Resource Manager resource hierarchy + # nodes such as projects, folders, orgs. + # Corresponds to the JSON property `resourceHierarchySelector` + # @return [Google::Apis::ComputeBeta::RolloutPlanWaveSelectorResourceHierarchySelector] + attr_accessor :resource_hierarchy_selector + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @location_selector = args[:location_selector] if args.key?(:location_selector) + @resource_hierarchy_selector = args[:resource_hierarchy_selector] if args.key?(:resource_hierarchy_selector) + end + end + + # Roll out to resources by location. + class RolloutPlanWaveSelectorLocationSelector + include Google::Apis::Core::Hashable + + # Optional. Example: "us-central1-a" + # Corresponds to the JSON property `includedLocations` + # @return [Array] + attr_accessor :included_locations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @included_locations = args[:included_locations] if args.key?(:included_locations) + end + end + + # Roll out to resources by Cloud Resource Manager resource hierarchy + # nodes such as projects, folders, orgs. + class RolloutPlanWaveSelectorResourceHierarchySelector + include Google::Apis::Core::Hashable + + # Optional. Format: "folders/`folder_id`" + # Corresponds to the JSON property `includedFolders` + # @return [Array] + attr_accessor :included_folders + + # Optional. Format: "organizations/`organization_id`" + # Corresponds to the JSON property `includedOrganizations` + # @return [Array] + attr_accessor :included_organizations + + # Optional. Format: "projects/`project_id`" + # Corresponds to the JSON property `includedProjects` + # @return [Array] + attr_accessor :included_projects + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @included_folders = args[:included_folders] if args.key?(:included_folders) + @included_organizations = args[:included_organizations] if args.key?(:included_organizations) + @included_projects = args[:included_projects] if args.key?(:included_projects) + end + end + + # The validation to be performed before progressing to the next wave. + class RolloutPlanWaveValidation + include Google::Apis::Core::Hashable + + # Metadata required if type = "time". + # Corresponds to the JSON property `timeBasedValidationMetadata` + # @return [Google::Apis::ComputeBeta::RolloutPlanWaveValidationTimeBasedValidationMetadata] + attr_accessor :time_based_validation_metadata + + # Required. The type of the validation. If a type of validation is associated + # with + # a metadata object, the appropriate metadata field mapping to the + # validation type must be provided in the validation message. Possible + # values are in quotes below alongside an explanation: + # "manual": The system waits for an end-user approval API before + # progressing to the next wave. + # "time": The system waits for a user specified duration before + # progressing to the next wave. TimeBasedValidation must be provided. + # 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) + @time_based_validation_metadata = args[:time_based_validation_metadata] if args.key?(:time_based_validation_metadata) + @type = args[:type] if args.key?(:type) + end + end + + # Metadata required if type = "time". + class RolloutPlanWaveValidationTimeBasedValidationMetadata + include Google::Apis::Core::Hashable + + # Optional. The duration that the system waits in between waves. This wait + # starts + # after all changes in the wave are rolled out. + # Corresponds to the JSON property `waitDuration` + # @return [String] + attr_accessor :wait_duration + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @wait_duration = args[:wait_duration] if args.key?(:wait_duration) + end + end + + # Contains a list of RolloutPlan resources. + class RolloutPlansListResponse + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `etag` + # @return [String] + attr_accessor :etag + + # [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 RolloutPlan resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] This token allows you to get the next page of results for + # list requests. If the number of results is larger thanmaxResults, 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] Unreachable resources. + # end_interface: MixerListResponseWithEtagBuilder + # Corresponds to the JSON property `unreachables` + # @return [Array] + attr_accessor :unreachables + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::RolloutPlansListResponse::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @etag = args[:etag] if args.key?(:etag) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @unreachables = args[:unreachables] if args.key?(:unreachables) + @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 + # A rollout policy configuration. class RolloutPolicy include Google::Apis::Core::Hashable @@ -49482,6 +50256,281 @@ def update!(**args) end end + # Specifications of the resource to roll out. + class RolloutRolloutEntity + include Google::Apis::Core::Hashable + + # This message is used if the resource type follows the Orchestrated + # integration model with ProgressiveRollout. + # Corresponds to the JSON property `orchestratedEntity` + # @return [Google::Apis::ComputeBeta::RolloutRolloutEntityOrchestratedEntity] + attr_accessor :orchestrated_entity + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @orchestrated_entity = args[:orchestrated_entity] if args.key?(:orchestrated_entity) + end + end + + # This message is used if the resource type follows the Orchestrated + # integration model with ProgressiveRollout. + class RolloutRolloutEntityOrchestratedEntity + include Google::Apis::Core::Hashable + + # Required. Specifies the behavior of the Rollout if an out of band update is + # detected in a project during a Rollout. It can be one of the following + # values: + # 1) overwrite : Overwrite the local value with the rollout value. + # 2) no_overwrite : Do not overwrite the local value with the rollout + # value. + # Corresponds to the JSON property `conflictBehavior` + # @return [String] + attr_accessor :conflict_behavior + + # Required. Orchestration action during the Rollout. It can be one of the + # following + # values: + # 1) "update": Resources will be updated by the rollout. + # 2) "delete": Resources will be deleted by the rollout. + # Corresponds to the JSON property `orchestrationAction` + # @return [String] + attr_accessor :orchestration_action + + # Required. Fully qualified resource name of the resource which contains the + # source + # of truth of the configuration being rolled out across + # locations/projects. For example, in the case of a global Rollout which + # is applied across regions, this contains the name of the global + # resource created by the user which contains a payload for a resource + # that is orchestrated across regions. This follows the following format: + # //.googleapis.com/projects//locations/global// + # e.g. + # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1 + # Corresponds to the JSON property `orchestrationSource` + # @return [String] + attr_accessor :orchestration_source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @conflict_behavior = args[:conflict_behavior] if args.key?(:conflict_behavior) + @orchestration_action = args[:orchestration_action] if args.key?(:orchestration_action) + @orchestration_source = args[:orchestration_source] if args.key?(:orchestration_source) + end + end + + # Additional metadata about the status of each wave provided by the server. + class RolloutWaveDetails + include Google::Apis::Core::Hashable + + # Details of the wave for products using the Orchestrated integration + # model. + # Corresponds to the JSON property `orchestratedWaveDetails` + # @return [Google::Apis::ComputeBeta::RolloutWaveDetailsOrchestratedWaveDetails] + attr_accessor :orchestrated_wave_details + + # Output only. Wave name. + # Ex. wave1 + # Corresponds to the JSON property `waveDisplayName` + # @return [String] + attr_accessor :wave_display_name + + # Output only. System generated number for the wave. + # Corresponds to the JSON property `waveNumber` + # @return [Fixnum] + attr_accessor :wave_number + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @orchestrated_wave_details = args[:orchestrated_wave_details] if args.key?(:orchestrated_wave_details) + @wave_display_name = args[:wave_display_name] if args.key?(:wave_display_name) + @wave_number = args[:wave_number] if args.key?(:wave_number) + end + end + + # Details of the wave for products using the Orchestrated integration + # model. + class RolloutWaveDetailsOrchestratedWaveDetails + include Google::Apis::Core::Hashable + + # Output only. Resource completed so far. + # Corresponds to the JSON property `completedResourcesCount` + # @return [Fixnum] + attr_accessor :completed_resources_count + + # Output only. Estimated total count of resources. + # Corresponds to the JSON property `estimatedTotalResourcesCount` + # @return [Fixnum] + attr_accessor :estimated_total_resources_count + + # Output only. Locations that failed during orchestration, and + # ProgressiveRollout + # stopped retrying. There may be some successful resources rolled out in + # the wave as the location may have failed later in the Rollout. + # Corresponds to the JSON property `failedLocations` + # @return [Array] + attr_accessor :failed_locations + + # Output only. Resources failed. + # Corresponds to the JSON property `failedResourcesCount` + # @return [Fixnum] + attr_accessor :failed_resources_count + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @completed_resources_count = args[:completed_resources_count] if args.key?(:completed_resources_count) + @estimated_total_resources_count = args[:estimated_total_resources_count] if args.key?(:estimated_total_resources_count) + @failed_locations = args[:failed_locations] if args.key?(:failed_locations) + @failed_resources_count = args[:failed_resources_count] if args.key?(:failed_resources_count) + end + end + + # + class RolloutsListResponse + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `etag` + # @return [String] + attr_accessor :etag + + # [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 Rollout resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] This token allows you to get the next page of results for + # list requests. If the number of results is larger thanmaxResults, 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] Unreachable resources. + # end_interface: MixerListResponseWithEtagBuilder + # Corresponds to the JSON property `unreachables` + # @return [Array] + attr_accessor :unreachables + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::RolloutsListResponse::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @etag = args[:etag] if args.key?(:etag) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @unreachables = args[:unreachables] if args.key?(:unreachables) + @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 a Route resource. # A route defines a path from VM instances in the VPC network to a specific # destination. This destination can be inside or outside the VPC network. diff --git a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/gem_version.rb b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/gem_version.rb index b5ff08bf263..b8c2a2e0af4 100644 --- a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/gem_version.rb +++ b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/gem_version.rb @@ -16,13 +16,13 @@ module Google module Apis module ComputeBeta # Version of the google-apis-compute_beta gem - GEM_VERSION = "0.126.0" + GEM_VERSION = "0.127.0" # Version of the code generator used to generate this client GENERATOR_VERSION = "0.18.0" # Revision of the discovery document this client was generated from - REVISION = "20251019" + REVISION = "20251031" end end end diff --git a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/representations.rb b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/representations.rb index b45a5593742..9096620b831 100644 --- a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/representations.rb +++ b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/representations.rb @@ -1828,6 +1828,24 @@ class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class GlobalVmExtensionPolicyList + 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 GlobalVmExtensionPolicyRolloutOperation class Representation < Google::Apis::Core::JsonRepresentation; end @@ -6172,12 +6190,132 @@ class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class Rollout + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlan + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWave + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveOrchestrationOptions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveOrchestrationOptionsDelay + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveSelector + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveSelectorLocationSelector + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveSelectorResourceHierarchySelector + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveValidation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlanWaveValidationTimeBasedValidationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutPlansListResponse + 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 RolloutPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class RolloutRolloutEntity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutRolloutEntityOrchestratedEntity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutWaveDetails + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutWaveDetailsOrchestratedWaveDetails + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RolloutsListResponse + 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 Route class Representation < Google::Apis::Core::JsonRepresentation; end @@ -12057,6 +12195,40 @@ class Representation < Google::Apis::Core::JsonRepresentation end end + class GlobalVmExtensionPolicyList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :etag, as: 'etag' + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::GlobalVmExtensionPolicy, decorator: Google::Apis::ComputeBeta::GlobalVmExtensionPolicy::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + collection :unreachables, as: 'unreachables' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Warning, decorator: Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Warning::Datum, decorator: Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::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 GlobalVmExtensionPolicyRolloutOperation # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -13413,7 +13585,10 @@ class Representation < Google::Apis::Core::JsonRepresentation class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection # @private class Representation < Google::Apis::Core::JsonRepresentation + collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation + collection :machine_types, as: 'machineTypes' + property :min_cpu_platform, as: 'minCpuPlatform' property :rank, as: 'rank' end end @@ -16150,7 +16325,10 @@ class Representation < Google::Apis::Core::JsonRepresentation class ManagedInstancePropertiesFromFlexibilityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation + collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::AttachedDisk, decorator: Google::Apis::ComputeBeta::AttachedDisk::Representation + property :machine_type, as: 'machineType' + property :min_cpu_platform, as: 'minCpuPlatform' property :provisioning_model, as: 'provisioningModel' end end @@ -20113,6 +20291,153 @@ class Representation < Google::Apis::Core::JsonRepresentation end end + class Rollout + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cancellation_time, as: 'cancellationTime' + property :completion_time, as: 'completionTime' + property :creation_timestamp, as: 'creationTimestamp' + property :current_wave_number, :numeric_string => true, as: 'currentWaveNumber' + property :description, as: 'description' + property :etag, as: 'etag' + property :id, :numeric_string => true, as: 'id' + property :kind, as: 'kind' + property :name, as: 'name' + property :rollout_entity, as: 'rolloutEntity', class: Google::Apis::ComputeBeta::RolloutRolloutEntity, decorator: Google::Apis::ComputeBeta::RolloutRolloutEntity::Representation + + property :rollout_plan, as: 'rolloutPlan' + property :self_link, as: 'selfLink' + property :self_link_with_id, as: 'selfLinkWithId' + property :state, as: 'state' + collection :wave_details, as: 'waveDetails', class: Google::Apis::ComputeBeta::RolloutWaveDetails, decorator: Google::Apis::ComputeBeta::RolloutWaveDetails::Representation + + end + end + + class RolloutPlan + # @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 :location_scope, as: 'locationScope' + property :name, as: 'name' + property :self_link, as: 'selfLink' + property :self_link_with_id, as: 'selfLinkWithId' + collection :waves, as: 'waves', class: Google::Apis::ComputeBeta::RolloutPlanWave, decorator: Google::Apis::ComputeBeta::RolloutPlanWave::Representation + + end + end + + class RolloutPlanWave + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + property :number, :numeric_string => true, as: 'number' + property :orchestration_options, as: 'orchestrationOptions', class: Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptions, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptions::Representation + + collection :selectors, as: 'selectors', class: Google::Apis::ComputeBeta::RolloutPlanWaveSelector, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveSelector::Representation + + property :validation, as: 'validation', class: Google::Apis::ComputeBeta::RolloutPlanWaveValidation, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveValidation::Representation + + end + end + + class RolloutPlanWaveOrchestrationOptions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :delays, as: 'delays', class: Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptionsDelay, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptionsDelay::Representation + + property :max_concurrent_locations, :numeric_string => true, as: 'maxConcurrentLocations' + property :max_concurrent_resources_per_location, :numeric_string => true, as: 'maxConcurrentResourcesPerLocation' + end + end + + class RolloutPlanWaveOrchestrationOptionsDelay + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :delimiter, as: 'delimiter' + property :duration, as: 'duration' + property :type, as: 'type' + end + end + + class RolloutPlanWaveSelector + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :location_selector, as: 'locationSelector', class: Google::Apis::ComputeBeta::RolloutPlanWaveSelectorLocationSelector, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveSelectorLocationSelector::Representation + + property :resource_hierarchy_selector, as: 'resourceHierarchySelector', class: Google::Apis::ComputeBeta::RolloutPlanWaveSelectorResourceHierarchySelector, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveSelectorResourceHierarchySelector::Representation + + end + end + + class RolloutPlanWaveSelectorLocationSelector + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :included_locations, as: 'includedLocations' + end + end + + class RolloutPlanWaveSelectorResourceHierarchySelector + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :included_folders, as: 'includedFolders' + collection :included_organizations, as: 'includedOrganizations' + collection :included_projects, as: 'includedProjects' + end + end + + class RolloutPlanWaveValidation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :time_based_validation_metadata, as: 'timeBasedValidationMetadata', class: Google::Apis::ComputeBeta::RolloutPlanWaveValidationTimeBasedValidationMetadata, decorator: Google::Apis::ComputeBeta::RolloutPlanWaveValidationTimeBasedValidationMetadata::Representation + + property :type, as: 'type' + end + end + + class RolloutPlanWaveValidationTimeBasedValidationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :wait_duration, as: 'waitDuration' + end + end + + class RolloutPlansListResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :etag, as: 'etag' + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::RolloutPlan, decorator: Google::Apis::ComputeBeta::RolloutPlan::Representation + + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + collection :unreachables, as: 'unreachables' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::RolloutPlansListResponse::Warning, decorator: Google::Apis::ComputeBeta::RolloutPlansListResponse::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::RolloutPlansListResponse::Warning::Datum, decorator: Google::Apis::ComputeBeta::RolloutPlansListResponse::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 RolloutPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -20121,6 +20446,76 @@ class Representation < Google::Apis::Core::JsonRepresentation end end + class RolloutRolloutEntity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :orchestrated_entity, as: 'orchestratedEntity', class: Google::Apis::ComputeBeta::RolloutRolloutEntityOrchestratedEntity, decorator: Google::Apis::ComputeBeta::RolloutRolloutEntityOrchestratedEntity::Representation + + end + end + + class RolloutRolloutEntityOrchestratedEntity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :conflict_behavior, as: 'conflictBehavior' + property :orchestration_action, as: 'orchestrationAction' + property :orchestration_source, as: 'orchestrationSource' + end + end + + class RolloutWaveDetails + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :orchestrated_wave_details, as: 'orchestratedWaveDetails', class: Google::Apis::ComputeBeta::RolloutWaveDetailsOrchestratedWaveDetails, decorator: Google::Apis::ComputeBeta::RolloutWaveDetailsOrchestratedWaveDetails::Representation + + property :wave_display_name, as: 'waveDisplayName' + property :wave_number, :numeric_string => true, as: 'waveNumber' + end + end + + class RolloutWaveDetailsOrchestratedWaveDetails + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :completed_resources_count, :numeric_string => true, as: 'completedResourcesCount' + property :estimated_total_resources_count, :numeric_string => true, as: 'estimatedTotalResourcesCount' + collection :failed_locations, as: 'failedLocations' + property :failed_resources_count, :numeric_string => true, as: 'failedResourcesCount' + end + end + + class RolloutsListResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :etag, as: 'etag' + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::Rollout, decorator: Google::Apis::ComputeBeta::Rollout::Representation + + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + collection :unreachables, as: 'unreachables' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::RolloutsListResponse::Warning, decorator: Google::Apis::ComputeBeta::RolloutsListResponse::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::RolloutsListResponse::Warning::Datum, decorator: Google::Apis::ComputeBeta::RolloutsListResponse::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 Route # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/service.rb b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/service.rb index 68afef0211d..1b2cc5dc667 100644 --- a/generated/google-apis-compute_beta/lib/google/apis/compute_beta/service.rb +++ b/generated/google-apis-compute_beta/lib/google/apis/compute_beta/service.rb @@ -10396,6 +10396,63 @@ def aggregated_global_vm_extension_policy_list(project, filter: nil, include_all execute_or_queue_command(command, &block) end + # Purge scoped resources (zonal policies) from a global VM extension + # policy, and then delete the global VM extension policy. Purge of the scoped + # resources is a pre-condition of the global VM extension policy deletion. + # The deletion of the global VM extension policy happens after the purge + # rollout is done, so it's not a part of the LRO. It's an automatic process + # that triggers in the backend. + # @param [String] project + # Project ID for this request. + # @param [String] global_vm_extension_policy + # Name of the global VM extension policy to purge scoped resources for. + # @param [Google::Apis::ComputeBeta::GlobalVmExtensionPolicyRolloutOperationRolloutInput] global_vm_extension_policy_rollout_operation_rollout_input_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and + # the request times out. If you make the request again with the same + # request ID, the server can check if original operation with the same + # request ID was received, and if so, will ignore the second request. This + # prevents clients from accidentally creating duplicate commitments. + # The request ID must be + # a valid UUID with the exception that zero UUID is not supported + # (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_global_vm_extension_policy(project, global_vm_extension_policy, global_vm_extension_policy_rollout_operation_rollout_input_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}/delete', options) + command.request_representation = Google::Apis::ComputeBeta::GlobalVmExtensionPolicyRolloutOperationRolloutInput::Representation + command.request_object = global_vm_extension_policy_rollout_operation_rollout_input_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['globalVmExtensionPolicy'] = global_vm_extension_policy unless global_vm_extension_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 + # Gets details of a global VM extension policy. # @param [String] project # Project ID for this request. @@ -10432,6 +10489,221 @@ def get_global_vm_extension_policy(project, global_vm_extension_policy, fields: execute_or_queue_command(command, &block) end + # Creates a new project level GlobalVmExtensionPolicy. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::GlobalVmExtensionPolicy] global_vm_extension_policy_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and + # the request times out. If you make the request again with the same + # request ID, the server can check if original operation with the same + # request ID was received, and if so, will ignore the second request. This + # prevents clients from accidentally creating duplicate commitments. + # The request ID must be + # a valid UUID with the exception that zero UUID is not supported + # (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def insert_global_vm_extension_policy(project, global_vm_extension_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'projects/{project}/global/vmExtensionPolicies', options) + command.request_representation = Google::Apis::ComputeBeta::GlobalVmExtensionPolicy::Representation + command.request_object = global_vm_extension_policy_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['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 + + # Lists global VM extension policies. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # A filter expression that filters resources listed in the response. Most + # Compute resources support two types of filter expressions: + # expressions that support regular expressions and expressions that follow + # API improvement proposal AIP-160. + # These two types of filter expressions cannot be mixed in one request. + # If you want to use AIP-160, your expression must specify the field name, an + # operator, and the value that you want to use for filtering. The value + # must be a string, a number, or a boolean. The 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`. + # The `:*` comparison can be used to test whether a key has been defined. + # For example, to find all objects with `owner` label use: + # ``` + # labels.owner:* + # ``` + # 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 onresource 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) + # ``` + # If you want to use a regular expression, use the `eq` (equal) or `ne` + # (not equal) operator against a single un-parenthesized expression with or + # without quotes or against multiple parenthesized expressions. Examples: + # `fieldname eq unquoted literal` + # `fieldname eq 'single quoted literal'` + # `fieldname eq "double quoted literal"` + # `(fieldname1 eq literal) (fieldname2 ne "literal")` + # The literal value is interpreted as a regular expression using GoogleRE2 + # library syntax. + # The literal value must match the entire field. + # For example, to filter for instances that do not end with name "instance", + # you would use `name ne .*instance`. + # You cannot combine constraints on multiple fields using regular + # expressions. + # @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 [Boolean] return_partial_success + # Opt-in for partial success behavior which provides partial results in case + # of failure. The default value is false. + # For example, when partial success behavior is enabled, aggregatedList for a + # single zone scope either returns all resources in the zone or no resources, + # with an error code. + # @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 [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_global_vm_extension_policies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'projects/{project}/global/vmExtensionPolicies', options) + command.response_representation = Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Representation + command.response_class = Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList + 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['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Updates a global VM extension policy. + # @param [String] project + # Project ID for this request. + # @param [String] global_vm_extension_policy + # Name of the global VM extension policy to update. + # @param [Google::Apis::ComputeBeta::GlobalVmExtensionPolicy] global_vm_extension_policy_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and + # the request times out. If you make the request again with the same + # request ID, the server can check if original operation with the same + # request ID was received, and if so, will ignore the second request. This + # prevents clients from accidentally creating duplicate commitments. + # The request ID must be + # a valid UUID with the exception that zero UUID is not supported + # (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @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_global_vm_extension_policy(project, global_vm_extension_policy, global_vm_extension_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, 'projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}', options) + command.request_representation = Google::Apis::ComputeBeta::GlobalVmExtensionPolicy::Representation + command.request_object = global_vm_extension_policy_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['globalVmExtensionPolicy'] = global_vm_extension_policy unless global_vm_extension_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 + # Retrieves the list of all HealthCheck resources, regional and global, # available to the specified project. # To prevent failure, Google recommends that you set the @@ -29026,8 +29298,10 @@ def list_node_types(project, zone, filter: nil, max_results: nil, order_by: nil, # This has billing implications. Projects in the hierarchy with effective # hierarchical security policies will be automatically enrolled into Cloud # Armor Enterprise if not already enrolled. - # Use of this API to modify firewall policies is deprecated. Use - # firewallPolicies.addAssociation instead if possible. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.addAssociation + # instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeBeta::SecurityPolicyAssociation] security_policy_association_object @@ -29082,6 +29356,9 @@ def add_organization_security_policy_association(security_policy, security_polic end # Inserts a rule into a security policy. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.addRule instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeBeta::SecurityPolicyRule] security_policy_rule_object @@ -29131,8 +29408,10 @@ def add_organization_security_policy_rule(security_policy, security_policy_rule_ end # Copies rules to the specified security policy. - # Use of this API to modify firewall policies is deprecated. Use - # firewallPolicies.copyRules instead. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.cloneRules + # instead. # @param [String] security_policy # Name of the security policy to update. # @param [String] request_id @@ -29182,8 +29461,9 @@ def copy_organization_security_policy_rules(security_policy, request_id: nil, so end # Deletes the specified policy. - # Use of this API to remove firewall policies is deprecated. Use - # firewallPolicies.delete instead. + # Use this API to remove Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to remove firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.delete instead. # @param [String] security_policy # Name of the security policy to delete. # @param [String] request_id @@ -29230,8 +29510,9 @@ def delete_organization_security_policy(security_policy, request_id: nil, fields end # List all of the ordered rules present in a single specified policy. - # Use of this API to read firewall policies is deprecated. Use - # firewallPolicies.get instead. + # Use this API to read Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to read firewall policies. This usage is now + # disabled for most organizations. Use firewallPolicies.get instead. # @param [String] security_policy # Name of the security policy to get. # @param [String] fields @@ -29265,8 +29546,10 @@ def get_organization_security_policy(security_policy, fields: nil, quota_user: n end # Gets an association with the specified name. - # Use of this API to read firewall policies is deprecated. Use - # firewallPolicies.getAssociation instead if possible. + # Use this API to read Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to read firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.getAssociation + # instead. # @param [String] security_policy # Name of the security policy to which the queried rule belongs. # @param [String] name @@ -29303,8 +29586,9 @@ def get_organization_security_policy_association(security_policy, name: nil, fie end # Gets a rule at the specified priority. - # Use of this API to read firewall policies is deprecated. Use - # firewallPolicies.getRule instead. + # Use this API to read Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to read firewall policies. This usage is now + # disabled for most organizations. Use firewallPolicies.getRule instead. # @param [String] security_policy # Name of the security policy to which the queried rule belongs. # @param [Fixnum] priority @@ -29342,8 +29626,9 @@ def get_organization_security_policy_rule(security_policy, priority: nil, fields # Creates a new policy in the specified organization using the data included # in the request. - # Use of this API to insert firewall policies is deprecated. Use - # firewallPolicies.insert instead. + # Use this API to add Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to add firewall policies. This usage is now + # disabled for most organizations. Use firewallPolicies.insert instead. # @param [Google::Apis::ComputeBeta::SecurityPolicy] security_policy_object # @param [String] parent_id # Parent ID for this request. The ID can be either be "folders/[FOLDER_ID]" @@ -29396,8 +29681,9 @@ def insert_organization_security_policy(security_policy_object = nil, parent_id: # List all the policies that have been configured for the specified # organization. - # Use of this API to read firewall policies is deprecated. Use - # firewallPolicies.list instead. + # Use this API to read Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to read firewall policies. This usage is now + # disabled for most organizations. Use firewallPolicies.list instead. # @param [String] filter # A filter expression that filters resources listed in the response. Most # Compute resources support two types of filter expressions: @@ -29512,8 +29798,10 @@ def list_organization_security_policies(filter: nil, max_results: nil, order_by: end # Lists associations of a specified target, i.e., organization or folder. - # Use of this API to read firewall policies is deprecated. Use - # firewallPolicies.listAssociations instead if possible. + # Use this API to read Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to read firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.listAssociations + # instead. # @param [String] target_resource # The target resource to list associations. It is an organization, or a # folder. @@ -29663,8 +29951,9 @@ def list_organization_security_policy_preconfigured_expression_sets(filter: nil, end # Moves the specified security policy. - # Use of this API to modify firewall policies is deprecated. Use - # firewallPolicies.move instead. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.move instead. # @param [String] security_policy # Name of the security policy to update. # @param [String] parent_id @@ -29714,8 +30003,9 @@ def move_organization_security_policy(security_policy, parent_id: nil, request_i end # Patches the specified policy with the data included in the request. - # Use of this API to modify firewall policies is deprecated. Use - # firewallPolicies.patch instead. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.patch instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeBeta::SecurityPolicy] security_policy_object @@ -29768,8 +30058,10 @@ def patch_organization_security_policy(security_policy, security_policy_object = end # Patches a rule at the specified priority. - # Use of this API to modify firewall policies is deprecated. Use - # firewallPolicies.patchRule instead. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.patchRule + # instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeBeta::SecurityPolicyRule] security_policy_rule_object @@ -29825,8 +30117,10 @@ def patch_organization_security_policy_rule(security_policy, security_policy_rul end # Removes an association for the specified security policy. - # Use of this API to modify firewall policies is deprecated. Use - # firewallPolicies.removeAssociation instead if possible. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.removeAssociation + # instead. # @param [String] security_policy # Name of the security policy to update. # @param [String] name @@ -29876,6 +30170,10 @@ def remove_organization_security_policy_association(security_policy, name: nil, end # Deletes a rule at the specified priority. + # Use this API to modify Cloud Armor policies. Previously, alpha and beta + # versions of this API were used to modify firewall policies. This usage is + # now disabled for most organizations. Use firewallPolicies.removeRule + # instead. # @param [String] security_policy # Name of the security policy to update. # @param [Fixnum] priority @@ -50488,6 +50786,509 @@ def test_resource_policy_iam_permissions(project, region, resource, test_permiss execute_or_queue_command(command, &block) end + # Deletes a RolloutPlan. + # @param [String] project + # Project ID for this request. + # @param [String] rollout_plan + # Name of the RolloutPlan resource to delete. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and + # the request times out. If you make the request again with the same + # request ID, the server can check if original operation with the same + # request ID was received, and if so, will ignore the second request. This + # prevents clients from accidentally creating duplicate commitments. + # The request ID must be + # a valid UUID with the exception that zero UUID is not supported + # (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @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_rollout_plan(project, rollout_plan, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, 'projects/{project}/global/rolloutPlans/{rolloutPlan}', 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['rolloutPlan'] = rollout_plan unless rollout_plan.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 + + # Gets details of a single project-scoped RolloutPlan. + # @param [String] project + # Project ID for this request. + # @param [String] rollout_plan + # Name of the persistent rollout plan to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::RolloutPlan] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::RolloutPlan] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_rollout_plan(project, rollout_plan, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'projects/{project}/global/rolloutPlans/{rolloutPlan}', options) + command.response_representation = Google::Apis::ComputeBeta::RolloutPlan::Representation + command.response_class = Google::Apis::ComputeBeta::RolloutPlan + command.params['project'] = project unless project.nil? + command.params['rolloutPlan'] = rollout_plan unless rollout_plan.nil? + command.query['fields'] = fields unless fields.nil? + command.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 RolloutPlan in a given project and location. + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::RolloutPlan] rollout_plan_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and + # the request times out. If you make the request again with the same + # request ID, the server can check if original operation with the same + # request ID was received, and if so, will ignore the second request. This + # prevents clients from accidentally creating duplicate commitments. + # The request ID must be + # a valid UUID with the exception that zero UUID is not supported + # (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @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_rollout_plan(project, rollout_plan_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, 'projects/{project}/global/rolloutPlans', options) + command.request_representation = Google::Apis::ComputeBeta::RolloutPlan::Representation + command.request_object = rollout_plan_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['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 + + # Lists RolloutPlans in a given project and location. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # A filter expression that filters resources listed in the response. Most + # Compute resources support two types of filter expressions: + # expressions that support regular expressions and expressions that follow + # API improvement proposal AIP-160. + # These two types of filter expressions cannot be mixed in one request. + # If you want to use AIP-160, your expression must specify the field name, an + # operator, and the value that you want to use for filtering. The value + # must be a string, a number, or a boolean. The 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`. + # The `:*` comparison can be used to test whether a key has been defined. + # For example, to find all objects with `owner` label use: + # ``` + # labels.owner:* + # ``` + # 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 onresource 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) + # ``` + # If you want to use a regular expression, use the `eq` (equal) or `ne` + # (not equal) operator against a single un-parenthesized expression with or + # without quotes or against multiple parenthesized expressions. Examples: + # `fieldname eq unquoted literal` + # `fieldname eq 'single quoted literal'` + # `fieldname eq "double quoted literal"` + # `(fieldname1 eq literal) (fieldname2 ne "literal")` + # The literal value is interpreted as a regular expression using GoogleRE2 + # library syntax. + # The literal value must match the entire field. + # For example, to filter for instances that do not end with name "instance", + # you would use `name ne .*instance`. + # You cannot combine constraints on multiple fields using regular + # expressions. + # @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 [Boolean] return_partial_success + # Opt-in for partial success behavior which provides partial results in case + # of failure. The default value is false. + # For example, when partial success behavior is enabled, aggregatedList for a + # single zone scope either returns all resources in the zone or no resources, + # with an error code. + # @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 [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::RolloutPlansListResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::RolloutPlansListResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_rollout_plans(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'projects/{project}/global/rolloutPlans', options) + command.response_representation = Google::Apis::ComputeBeta::RolloutPlansListResponse::Representation + command.response_class = Google::Apis::ComputeBeta::RolloutPlansListResponse + 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['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Cancels a Rollout. + # @param [String] project + # Project ID for this request. + # @param [String] rollout + # Name of the Rollout resource to cancel. + # @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 [Boolean] rollback + # Optional. If true, then the ongoing rollout must be rolled back. Else, just + # cancel + # the rollout without taking any further actions. Note that products must + # support at least one of these options, however, it does not need to support + # both. + # @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 [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @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 cancel_rollout(project, rollout, request_id: nil, rollback: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, 'projects/{project}/global/rollouts/{rollout}', 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['rollout'] = rollout unless rollout.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['rollback'] = rollback unless rollback.nil? + command.query['fields'] = fields unless fields.nil? + command.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 Rollout. + # @param [String] project + # Project ID for this request. + # @param [String] rollout + # Name of the Rollout resource to delete. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and + # the request times out. If you make the request again with the same + # request ID, the server can check if original operation with the same + # request ID was received, and if so, will ignore the second request. This + # prevents clients from accidentally creating duplicate commitments. + # The request ID must be + # a valid UUID with the exception that zero UUID is not supported + # (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @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_rollout(project, rollout, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, 'projects/{project}/global/rollouts/{rollout}', 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['rollout'] = rollout unless rollout.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 + + # Gets details of a single project-scoped Rollout. + # @param [String] project + # Project ID for this request. + # @param [String] rollout + # Name of the persistent rollout to return. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Rollout] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Rollout] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_rollout(project, rollout, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'projects/{project}/global/rollouts/{rollout}', options) + command.response_representation = Google::Apis::ComputeBeta::Rollout::Representation + command.response_class = Google::Apis::ComputeBeta::Rollout + command.params['project'] = project unless project.nil? + command.params['rollout'] = rollout unless rollout.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Lists Rollouts in a given project and location. + # @param [String] project + # Project ID for this request. + # @param [String] filter + # A filter expression that filters resources listed in the response. Most + # Compute resources support two types of filter expressions: + # expressions that support regular expressions and expressions that follow + # API improvement proposal AIP-160. + # These two types of filter expressions cannot be mixed in one request. + # If you want to use AIP-160, your expression must specify the field name, an + # operator, and the value that you want to use for filtering. The value + # must be a string, a number, or a boolean. The 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`. + # The `:*` comparison can be used to test whether a key has been defined. + # For example, to find all objects with `owner` label use: + # ``` + # labels.owner:* + # ``` + # 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 onresource 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) + # ``` + # If you want to use a regular expression, use the `eq` (equal) or `ne` + # (not equal) operator against a single un-parenthesized expression with or + # without quotes or against multiple parenthesized expressions. Examples: + # `fieldname eq unquoted literal` + # `fieldname eq 'single quoted literal'` + # `fieldname eq "double quoted literal"` + # `(fieldname1 eq literal) (fieldname2 ne "literal")` + # The literal value is interpreted as a regular expression using GoogleRE2 + # library syntax. + # The literal value must match the entire field. + # For example, to filter for instances that do not end with name "instance", + # you would use `name ne .*instance`. + # You cannot combine constraints on multiple fields using regular + # expressions. + # @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 [Boolean] return_partial_success + # Opt-in for partial success behavior which provides partial results in case + # of failure. The default value is false. + # For example, when partial success behavior is enabled, aggregatedList for a + # single zone scope either returns all resources in the zone or no resources, + # with an error code. + # @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 [String] user_ip + # Legacy name for parameter that has been superseded by `quotaUser`. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::RolloutsListResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::RolloutsListResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_rollouts(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, 'projects/{project}/global/rollouts', options) + command.response_representation = Google::Apis::ComputeBeta::RolloutsListResponse::Representation + command.response_class = Google::Apis::ComputeBeta::RolloutsListResponse + 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['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? + command.query['fields'] = fields unless fields.nil? + command.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 routers. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`.