From 01a8bd6540bb06229cb64835a7557909838b1c85 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Fri, 28 Feb 2020 00:38:47 +0000 Subject: [PATCH] Autogenerated update (2020-02-28) Update: - accesscontextmanager_v1 - accesscontextmanager_v1beta - appengine_v1 - appengine_v1alpha - binaryauthorization_v1 - binaryauthorization_v1beta1 - cloudasset_v1 - cloudasset_v1beta1 - clouddebugger_v2 - cloudiot_v1 - genomics_v1 - genomics_v1alpha2 - secretmanager_v1 - secretmanager_v1beta1 - serviceconsumermanagement_v1 - servicenetworking_v1 - servicenetworking_v1beta - serviceusage_v1 - serviceusage_v1beta1 --- .../google/apis/accesscontextmanager_v1.rb | 2 +- .../apis/accesscontextmanager_v1/classes.rb | 4 +- .../apis/accesscontextmanager_v1/service.rb | 18 +- .../apis/accesscontextmanager_v1beta.rb | 2 +- .../accesscontextmanager_v1beta/classes.rb | 38 - .../representations.rb | 16 - generated/google/apis/appengine_v1.rb | 2 +- generated/google/apis/appengine_v1alpha.rb | 2 +- .../google/apis/binaryauthorization_v1.rb | 2 +- .../apis/binaryauthorization_v1beta1.rb | 2 +- generated/google/apis/cloudasset_v1.rb | 2 +- generated/google/apis/cloudasset_v1beta1.rb | 2 +- generated/google/apis/clouddebugger_v2.rb | 2 +- generated/google/apis/cloudiot_v1.rb | 2 +- generated/google/apis/displayvideo_v1.rb | 38 + .../google/apis/displayvideo_v1/classes.rb | 382 ++++ .../apis/displayvideo_v1/representations.rb | 167 ++ .../google/apis/displayvideo_v1/service.rb | 176 ++ generated/google/apis/genomics_v1.rb | 2 +- generated/google/apis/genomics_v1alpha2.rb | 2 +- generated/google/apis/managedidentities_v1.rb | 35 + .../apis/managedidentities_v1/classes.rb | 1662 +++++++++++++++++ .../managedidentities_v1/representations.rb | 576 ++++++ .../apis/managedidentities_v1/service.rb | 779 ++++++++ .../google/apis/managedidentities_v1alpha1.rb | 35 + .../managedidentities_v1alpha1/classes.rb | 1661 ++++++++++++++++ .../representations.rb | 576 ++++++ .../managedidentities_v1alpha1/service.rb | 782 ++++++++ .../google/apis/managedidentities_v1beta1.rb | 35 + .../apis/managedidentities_v1beta1/classes.rb | 1659 ++++++++++++++++ .../representations.rb | 576 ++++++ .../apis/managedidentities_v1beta1/service.rb | 778 ++++++++ generated/google/apis/secretmanager_v1.rb | 6 +- .../google/apis/secretmanager_v1/service.rb | 4 +- .../google/apis/secretmanager_v1beta1.rb | 6 +- .../apis/secretmanager_v1beta1/service.rb | 4 +- .../apis/serviceconsumermanagement_v1.rb | 2 +- .../serviceconsumermanagement_v1/classes.rb | 56 + .../representations.rb | 17 + generated/google/apis/servicenetworking_v1.rb | 2 +- .../apis/servicenetworking_v1/classes.rb | 56 + .../servicenetworking_v1/representations.rb | 17 + .../google/apis/servicenetworking_v1beta.rb | 2 +- .../apis/servicenetworking_v1beta/classes.rb | 56 + .../representations.rb | 17 + generated/google/apis/serviceusage_v1.rb | 2 +- .../google/apis/serviceusage_v1/classes.rb | 56 + .../apis/serviceusage_v1/representations.rb | 17 + generated/google/apis/serviceusage_v1beta1.rb | 2 +- .../apis/serviceusage_v1beta1/classes.rb | 56 + .../serviceusage_v1beta1/representations.rb | 17 + 51 files changed, 10321 insertions(+), 91 deletions(-) create mode 100644 generated/google/apis/displayvideo_v1.rb create mode 100644 generated/google/apis/displayvideo_v1/classes.rb create mode 100644 generated/google/apis/displayvideo_v1/representations.rb create mode 100644 generated/google/apis/displayvideo_v1/service.rb create mode 100644 generated/google/apis/managedidentities_v1.rb create mode 100644 generated/google/apis/managedidentities_v1/classes.rb create mode 100644 generated/google/apis/managedidentities_v1/representations.rb create mode 100644 generated/google/apis/managedidentities_v1/service.rb create mode 100644 generated/google/apis/managedidentities_v1alpha1.rb create mode 100644 generated/google/apis/managedidentities_v1alpha1/classes.rb create mode 100644 generated/google/apis/managedidentities_v1alpha1/representations.rb create mode 100644 generated/google/apis/managedidentities_v1alpha1/service.rb create mode 100644 generated/google/apis/managedidentities_v1beta1.rb create mode 100644 generated/google/apis/managedidentities_v1beta1/classes.rb create mode 100644 generated/google/apis/managedidentities_v1beta1/representations.rb create mode 100644 generated/google/apis/managedidentities_v1beta1/service.rb diff --git a/generated/google/apis/accesscontextmanager_v1.rb b/generated/google/apis/accesscontextmanager_v1.rb index f09c27481..598ab6e0f 100644 --- a/generated/google/apis/accesscontextmanager_v1.rb +++ b/generated/google/apis/accesscontextmanager_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/access-context-manager/docs/reference/rest/ module AccesscontextmanagerV1 VERSION = 'V1' - REVISION = '20200215' + REVISION = '20200224' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/accesscontextmanager_v1/classes.rb b/generated/google/apis/accesscontextmanager_v1/classes.rb index 05329f03e..3077eeb6c 100644 --- a/generated/google/apis/accesscontextmanager_v1/classes.rb +++ b/generated/google/apis/accesscontextmanager_v1/classes.rb @@ -693,7 +693,7 @@ module Google end # A request to replace all existing Access Levels in an Access Policy with - # the Access Levels provided. This is done within one transaction. + # the Access Levels provided. This is done atomically. class ReplaceAccessLevelsRequest include Google::Apis::Core::Hashable @@ -746,7 +746,7 @@ module Google end # A request to replace all existing Service Perimeters in an Access Policy - # with the Service Perimeters provided. This is done within one transaction. + # with the Service Perimeters provided. This is done atomically. class ReplaceServicePerimetersRequest include Google::Apis::Core::Hashable diff --git a/generated/google/apis/accesscontextmanager_v1/service.rb b/generated/google/apis/accesscontextmanager_v1/service.rb index a0a343783..6fa7a7d4d 100644 --- a/generated/google/apis/accesscontextmanager_v1/service.rb +++ b/generated/google/apis/accesscontextmanager_v1/service.rb @@ -435,11 +435,12 @@ module Google # Replace all existing Access Levels in an Access # Policy with # the Access Levels provided. This - # is done within one transaction. The longrunning operation from this RPC - # will have a successful status once all replacements have propagated to - # long-lasting storage. Replacements containing errors will result in an - # error response for the first error encountered and the transaction will be - # cancelled. Operation.response field will contain + # is done atomically. The longrunning operation from this RPC will have a + # successful status once all replacements have propagated to long-lasting + # storage. Replacements containing errors will result in an error response + # for the first error encountered. Replacement will be cancelled on error, + # existing Access Levels will not be + # affected. Operation.response field will contain # ReplaceAccessLevelsResponse. Removing Access Levels contained in existing # Service Perimeters will result in # error. @@ -717,11 +718,12 @@ module Google # Replace all existing Service Perimeters in an # Access Policy # with the Service Perimeters provided. - # This is done within one transaction. The longrunning operation from this + # This is done atomically. The longrunning operation from this # RPC will have a successful status once all replacements have propagated to # long-lasting storage. Replacements containing errors will result in an - # error response for the first error encountered and the transaction will be - # cancelled. Operation.response field will contain + # error response for the first error encountered. Replacement will be + # cancelled on error, existing Service Perimeters will not be + # affected. Operation.response field will contain # ReplaceServicePerimetersResponse. # @param [String] parent # Required. Resource name for the access policy which owns these diff --git a/generated/google/apis/accesscontextmanager_v1beta.rb b/generated/google/apis/accesscontextmanager_v1beta.rb index 3ac11f301..f7ff9168b 100644 --- a/generated/google/apis/accesscontextmanager_v1beta.rb +++ b/generated/google/apis/accesscontextmanager_v1beta.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/access-context-manager/docs/reference/rest/ module AccesscontextmanagerV1beta VERSION = 'V1beta' - REVISION = '20200215' + REVISION = '20200224' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/accesscontextmanager_v1beta/classes.rb b/generated/google/apis/accesscontextmanager_v1beta/classes.rb index ca2445f84..f4bdd4243 100644 --- a/generated/google/apis/accesscontextmanager_v1beta/classes.rb +++ b/generated/google/apis/accesscontextmanager_v1beta/classes.rb @@ -707,13 +707,6 @@ module Google # @return [Google::Apis::AccesscontextmanagerV1beta::VpcAccessibleServices] attr_accessor :vpc_accessible_services - # Alpha. Specifies how APIs are allowed to communicate within the Service - # Perimeter. - # This message is DEPRECATED and had been renamed to VpcAccessibleServices - # Corresponds to the JSON property `vpcServiceRestriction` - # @return [Google::Apis::AccesscontextmanagerV1beta::VpcServiceRestriction] - attr_accessor :vpc_service_restriction - def initialize(**args) update!(**args) end @@ -725,7 +718,6 @@ module Google @restricted_services = args[:restricted_services] if args.key?(:restricted_services) @unrestricted_services = args[:unrestricted_services] if args.key?(:unrestricted_services) @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services) - @vpc_service_restriction = args[:vpc_service_restriction] if args.key?(:vpc_service_restriction) end end @@ -796,36 +788,6 @@ module Google @enable_restriction = args[:enable_restriction] if args.key?(:enable_restriction) end end - - # Alpha. Specifies how APIs are allowed to communicate within the Service - # Perimeter. - # This message is DEPRECATED and had been renamed to VpcAccessibleServices - class VpcServiceRestriction - include Google::Apis::Core::Hashable - - # The list of APIs usable within the Service Perimeter. Must be empty - # unless 'enable_restriction' is True. - # Corresponds to the JSON property `allowedServices` - # @return [Array] - attr_accessor :allowed_services - - # Whether to restrict API calls within the Service Perimeter to the list of - # APIs specified in 'allowed_services'. - # Corresponds to the JSON property `enableRestriction` - # @return [Boolean] - attr_accessor :enable_restriction - alias_method :enable_restriction?, :enable_restriction - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @allowed_services = args[:allowed_services] if args.key?(:allowed_services) - @enable_restriction = args[:enable_restriction] if args.key?(:enable_restriction) - end - end end end end diff --git a/generated/google/apis/accesscontextmanager_v1beta/representations.rb b/generated/google/apis/accesscontextmanager_v1beta/representations.rb index 590763ada..983acf814 100644 --- a/generated/google/apis/accesscontextmanager_v1beta/representations.rb +++ b/generated/google/apis/accesscontextmanager_v1beta/representations.rb @@ -118,12 +118,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class VpcServiceRestriction - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class AccessLevel # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -274,8 +268,6 @@ module Google collection :unrestricted_services, as: 'unrestrictedServices' property :vpc_accessible_services, as: 'vpcAccessibleServices', class: Google::Apis::AccesscontextmanagerV1beta::VpcAccessibleServices, decorator: Google::Apis::AccesscontextmanagerV1beta::VpcAccessibleServices::Representation - property :vpc_service_restriction, as: 'vpcServiceRestriction', class: Google::Apis::AccesscontextmanagerV1beta::VpcServiceRestriction, decorator: Google::Apis::AccesscontextmanagerV1beta::VpcServiceRestriction::Representation - end end @@ -295,14 +287,6 @@ module Google property :enable_restriction, as: 'enableRestriction' end end - - class VpcServiceRestriction - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :allowed_services, as: 'allowedServices' - property :enable_restriction, as: 'enableRestriction' - end - end end end end diff --git a/generated/google/apis/appengine_v1.rb b/generated/google/apis/appengine_v1.rb index 287ae0cf4..353583d25 100644 --- a/generated/google/apis/appengine_v1.rb +++ b/generated/google/apis/appengine_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/appengine/docs/admin-api/ module AppengineV1 VERSION = 'V1' - REVISION = '20191114' + REVISION = '20200215' # View and manage your applications deployed on Google App Engine AUTH_APPENGINE_ADMIN = 'https://www.googleapis.com/auth/appengine.admin' diff --git a/generated/google/apis/appengine_v1alpha.rb b/generated/google/apis/appengine_v1alpha.rb index 286a8ea27..7248b26c3 100644 --- a/generated/google/apis/appengine_v1alpha.rb +++ b/generated/google/apis/appengine_v1alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/appengine/docs/admin-api/ module AppengineV1alpha VERSION = 'V1alpha' - REVISION = '20190531' + REVISION = '20200215' # View and manage your applications deployed on Google App Engine AUTH_APPENGINE_ADMIN = 'https://www.googleapis.com/auth/appengine.admin' diff --git a/generated/google/apis/binaryauthorization_v1.rb b/generated/google/apis/binaryauthorization_v1.rb index 5cd8c141b..b7904dce5 100644 --- a/generated/google/apis/binaryauthorization_v1.rb +++ b/generated/google/apis/binaryauthorization_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/binary-authorization/ module BinaryauthorizationV1 VERSION = 'V1' - REVISION = '20200214' + REVISION = '20200221' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/binaryauthorization_v1beta1.rb b/generated/google/apis/binaryauthorization_v1beta1.rb index fd02a8063..5e74610dd 100644 --- a/generated/google/apis/binaryauthorization_v1beta1.rb +++ b/generated/google/apis/binaryauthorization_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/binary-authorization/ module BinaryauthorizationV1beta1 VERSION = 'V1beta1' - REVISION = '20200214' + REVISION = '20200221' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudasset_v1.rb b/generated/google/apis/cloudasset_v1.rb index b2c45117a..558a6502a 100644 --- a/generated/google/apis/cloudasset_v1.rb +++ b/generated/google/apis/cloudasset_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/asset-inventory/docs/quickstart module CloudassetV1 VERSION = 'V1' - REVISION = '20200219' + REVISION = '20200221' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudasset_v1beta1.rb b/generated/google/apis/cloudasset_v1beta1.rb index 038cb3f62..e3a266b8d 100644 --- a/generated/google/apis/cloudasset_v1beta1.rb +++ b/generated/google/apis/cloudasset_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/asset-inventory/docs/quickstart module CloudassetV1beta1 VERSION = 'V1beta1' - REVISION = '20200219' + REVISION = '20200221' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/clouddebugger_v2.rb b/generated/google/apis/clouddebugger_v2.rb index 85fc2f122..9cd0c565e 100644 --- a/generated/google/apis/clouddebugger_v2.rb +++ b/generated/google/apis/clouddebugger_v2.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/debugger module ClouddebuggerV2 VERSION = 'V2' - REVISION = '20200102' + REVISION = '20200221' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudiot_v1.rb b/generated/google/apis/cloudiot_v1.rb index 0d2522893..7407e8a81 100644 --- a/generated/google/apis/cloudiot_v1.rb +++ b/generated/google/apis/cloudiot_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/iot module CloudiotV1 VERSION = 'V1' - REVISION = '20200120' + REVISION = '20200220' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/displayvideo_v1.rb b/generated/google/apis/displayvideo_v1.rb new file mode 100644 index 000000000..d44bbacbf --- /dev/null +++ b/generated/google/apis/displayvideo_v1.rb @@ -0,0 +1,38 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/displayvideo_v1/service.rb' +require 'google/apis/displayvideo_v1/classes.rb' +require 'google/apis/displayvideo_v1/representations.rb' + +module Google + module Apis + # Display & Video 360 API + # + # Display & Video 360 API allows users to manage and create campaigns and + # reports. + # + # @see https://developers.google.com/display-video/ + module DisplayvideoV1 + VERSION = 'V1' + REVISION = '20200226' + + # Create, see, edit, and permanently delete your Display & Video 360 entities and reports + AUTH_DISPLAY_VIDEO = 'https://www.googleapis.com/auth/display-video' + + # View and manage your reports in DoubleClick Bid Manager + AUTH_DOUBLECLICKBIDMANAGER = 'https://www.googleapis.com/auth/doubleclickbidmanager' + end + end +end diff --git a/generated/google/apis/displayvideo_v1/classes.rb b/generated/google/apis/displayvideo_v1/classes.rb new file mode 100644 index 000000000..d51489fce --- /dev/null +++ b/generated/google/apis/displayvideo_v1/classes.rb @@ -0,0 +1,382 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module DisplayvideoV1 + + # Request message for [SdfDownloadTaskService.CreateSdfDownloadTask]. + class CreateSdfDownloadTaskRequest + include Google::Apis::Core::Hashable + + # The ID of the advertiser to download SDF for. + # Corresponds to the JSON property `advertiserId` + # @return [Fixnum] + attr_accessor :advertiser_id + + # A filtering option that filters entities by their entity IDs. + # Corresponds to the JSON property `idFilter` + # @return [Google::Apis::DisplayvideoV1::IdFilter] + attr_accessor :id_filter + + # A filtering option for filtering on Inventory Source entities. + # Corresponds to the JSON property `inventorySourceFilter` + # @return [Google::Apis::DisplayvideoV1::InventorySourceFilter] + attr_accessor :inventory_source_filter + + # A filtering option that filters on selected file types belonging to a chosen + # set of filter entities. + # Corresponds to the JSON property `parentEntityFilter` + # @return [Google::Apis::DisplayvideoV1::ParentEntityFilter] + attr_accessor :parent_entity_filter + + # The ID of the partner to download SDF for. + # Corresponds to the JSON property `partnerId` + # @return [Fixnum] + attr_accessor :partner_id + + # Required. The SDF version of the downloaded file. If set to + # `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by + # the advertiser or partner identified by `root_id`. An advertiser inherits + # its SDF version from its partner unless configured otherwise. + # Corresponds to the JSON property `version` + # @return [String] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id) + @id_filter = args[:id_filter] if args.key?(:id_filter) + @inventory_source_filter = args[:inventory_source_filter] if args.key?(:inventory_source_filter) + @parent_entity_filter = args[:parent_entity_filter] if args.key?(:parent_entity_filter) + @partner_id = args[:partner_id] if args.key?(:partner_id) + @version = args[:version] if args.key?(:version) + end + end + + # Media resource. + class GoogleBytestreamMedia + include Google::Apis::Core::Hashable + + # Name of the media resource. + # Corresponds to the JSON property `resourceName` + # @return [String] + attr_accessor :resource_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_name = args[:resource_name] if args.key?(:resource_name) + end + end + + # A filtering option that filters entities by their entity IDs. + class IdFilter + include Google::Apis::Core::Hashable + + # TrueView Ads to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. + # Corresponds to the JSON property `adGroupAdIds` + # @return [Array] + attr_accessor :ad_group_ad_ids + + # TrueView Ad Groups to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. + # Corresponds to the JSON property `adGroupIds` + # @return [Array] + attr_accessor :ad_group_ids + + # Campaigns to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. + # Corresponds to the JSON property `campaignIds` + # @return [Array] + attr_accessor :campaign_ids + + # Insertion Orders to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. + # Corresponds to the JSON property `insertionOrderIds` + # @return [Array] + attr_accessor :insertion_order_ids + + # Line Items to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. + # Corresponds to the JSON property `lineItemIds` + # @return [Array] + attr_accessor :line_item_ids + + # Media Products to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. + # Corresponds to the JSON property `mediaProductIds` + # @return [Array] + attr_accessor :media_product_ids + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ad_group_ad_ids = args[:ad_group_ad_ids] if args.key?(:ad_group_ad_ids) + @ad_group_ids = args[:ad_group_ids] if args.key?(:ad_group_ids) + @campaign_ids = args[:campaign_ids] if args.key?(:campaign_ids) + @insertion_order_ids = args[:insertion_order_ids] if args.key?(:insertion_order_ids) + @line_item_ids = args[:line_item_ids] if args.key?(:line_item_ids) + @media_product_ids = args[:media_product_ids] if args.key?(:media_product_ids) + end + end + + # A filtering option for filtering on Inventory Source entities. + class InventorySourceFilter + include Google::Apis::Core::Hashable + + # Inventory Sources to download by ID. All IDs must belong to the same + # Advertiser or + # Partner specified in + # CreateSdfDownloadTaskRequest. Leave empty to download all Inventory + # Sources for the selected Advertiser or Partner. + # Corresponds to the JSON property `inventorySourceIds` + # @return [Array] + attr_accessor :inventory_source_ids + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @inventory_source_ids = args[:inventory_source_ids] if args.key?(:inventory_source_ids) + end + end + + # This resource represents a long-running operation that is the result of a + # network API call. + class Operation + include Google::Apis::Core::Hashable + + # If the value is `false`, it means the operation is still in progress. + # If `true`, the operation is completed, and either `error` or `response` is + # available. + # Corresponds to the JSON property `done` + # @return [Boolean] + attr_accessor :done + alias_method :done?, :done + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::DisplayvideoV1::Status] + attr_accessor :error + + # Service-specific metadata associated with the operation. It typically + # contains progress information and common metadata such as create time. + # Some services might not provide such metadata. Any method that returns a + # long-running operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # The server-assigned name, which is only unique within the same service that + # originally returns it. If you use the default HTTP mapping, the + # `name` should be a resource name ending with `operations/`unique_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The normal response of the operation in case of success. If the original + # method returns no data on success, such as `Delete`, the response is + # `google.protobuf.Empty`. If the original method is standard + # `Get`/`Create`/`Update`, the response should be the resource. For other + # methods, the response should have the type `XxxResponse`, where `Xxx` + # is the original method name. For example, if the original method name + # is `TakeSnapshot()`, the inferred response type is + # `TakeSnapshotResponse`. + # Corresponds to the JSON property `response` + # @return [Hash] + attr_accessor :response + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @done = args[:done] if args.key?(:done) + @error = args[:error] if args.key?(:error) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + @response = args[:response] if args.key?(:response) + end + end + + # A filtering option that filters on selected file types belonging to a chosen + # set of filter entities. + class ParentEntityFilter + include Google::Apis::Core::Hashable + + # Required. File types that will be returned. + # Corresponds to the JSON property `fileType` + # @return [Array] + attr_accessor :file_type + + # The IDs of the specified filter type. This is used to filter entities to + # fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID must be + # specified. + # Corresponds to the JSON property `filterIds` + # @return [Array] + attr_accessor :filter_ids + + # Required. Filter type used to filter fetched entities. + # Corresponds to the JSON property `filterType` + # @return [String] + attr_accessor :filter_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @file_type = args[:file_type] if args.key?(:file_type) + @filter_ids = args[:filter_ids] if args.key?(:filter_ids) + @filter_type = args[:filter_type] if args.key?(:filter_type) + end + end + + # Type for the response returned + # by [SdfDownloadTaskService.CreateSdfDownloadTask]. + class SdfDownloadTask + include Google::Apis::Core::Hashable + + # A resource name to be used in + # media.download to Download the prepared + # files. Resource names have the format + # `download/sdfdownloadtasks/media/`media_id``. `media_id` will be made + # available by the long running operation service once the task status is + # done. + # Corresponds to the JSON property `resourceName` + # @return [String] + attr_accessor :resource_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_name = args[:resource_name] if args.key?(:resource_name) + end + end + + # Type for the metadata returned + # by [SdfDownloadTaskService.CreateSdfDownloadTask]. + class SdfDownloadTaskMetadata + include Google::Apis::Core::Hashable + + # The time when the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # The time when execution was completed. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The SDF version used to execute this download task. + # Corresponds to the JSON property `version` + # @return [String] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @version = args[:version] if args.key?(:version) + end + end + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + class Status + include Google::Apis::Core::Hashable + + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code + + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + # Corresponds to the JSON property `details` + # @return [Array>] + attr_accessor :details + + # A developer-facing error message, which should be in English. Any + # user-facing error message should be localized and sent in the + # google.rpc.Status.details field, or localized by the client. + # 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) + @details = args[:details] if args.key?(:details) + @message = args[:message] if args.key?(:message) + end + end + end + end +end diff --git a/generated/google/apis/displayvideo_v1/representations.rb b/generated/google/apis/displayvideo_v1/representations.rb new file mode 100644 index 000000000..5a26bc950 --- /dev/null +++ b/generated/google/apis/displayvideo_v1/representations.rb @@ -0,0 +1,167 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module DisplayvideoV1 + + class CreateSdfDownloadTaskRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleBytestreamMedia + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class IdFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class InventorySourceFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Operation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ParentEntityFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SdfDownloadTask + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SdfDownloadTaskMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Status + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CreateSdfDownloadTaskRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :advertiser_id, :numeric_string => true, as: 'advertiserId' + property :id_filter, as: 'idFilter', class: Google::Apis::DisplayvideoV1::IdFilter, decorator: Google::Apis::DisplayvideoV1::IdFilter::Representation + + property :inventory_source_filter, as: 'inventorySourceFilter', class: Google::Apis::DisplayvideoV1::InventorySourceFilter, decorator: Google::Apis::DisplayvideoV1::InventorySourceFilter::Representation + + property :parent_entity_filter, as: 'parentEntityFilter', class: Google::Apis::DisplayvideoV1::ParentEntityFilter, decorator: Google::Apis::DisplayvideoV1::ParentEntityFilter::Representation + + property :partner_id, :numeric_string => true, as: 'partnerId' + property :version, as: 'version' + end + end + + class GoogleBytestreamMedia + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource_name, as: 'resourceName' + end + end + + class IdFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :ad_group_ad_ids, as: 'adGroupAdIds' + collection :ad_group_ids, as: 'adGroupIds' + collection :campaign_ids, as: 'campaignIds' + collection :insertion_order_ids, as: 'insertionOrderIds' + collection :line_item_ids, as: 'lineItemIds' + collection :media_product_ids, as: 'mediaProductIds' + end + end + + class InventorySourceFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :inventory_source_ids, as: 'inventorySourceIds' + end + end + + class Operation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :done, as: 'done' + property :error, as: 'error', class: Google::Apis::DisplayvideoV1::Status, decorator: Google::Apis::DisplayvideoV1::Status::Representation + + hash :metadata, as: 'metadata' + property :name, as: 'name' + hash :response, as: 'response' + end + end + + class ParentEntityFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :file_type, as: 'fileType' + collection :filter_ids, as: 'filterIds' + property :filter_type, as: 'filterType' + end + end + + class SdfDownloadTask + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource_name, as: 'resourceName' + end + end + + class SdfDownloadTaskMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :version, as: 'version' + end + end + + class Status + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :details, as: 'details' + property :message, as: 'message' + end + end + end + end +end diff --git a/generated/google/apis/displayvideo_v1/service.rb b/generated/google/apis/displayvideo_v1/service.rb new file mode 100644 index 000000000..573013c21 --- /dev/null +++ b/generated/google/apis/displayvideo_v1/service.rb @@ -0,0 +1,176 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module DisplayvideoV1 + # Display & Video 360 API + # + # Display & Video 360 API allows users to manage and create campaigns and + # reports. + # + # @example + # require 'google/apis/displayvideo_v1' + # + # Displayvideo = Google::Apis::DisplayvideoV1 # Alias the module + # service = Displayvideo::DisplayVideoService.new + # + # @see https://developers.google.com/display-video/ + class DisplayVideoService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://displayvideo.googleapis.com/', '') + @batch_path = 'batch' + end + + # Downloads media. Download is supported on the URI `/download/`resource_name=**` + # ?alt=media.` + # **Note**: Download requests will not be successful without including `alt= + # media` query string. + # @param [String] resource_name + # Name of the media that is being downloaded. See + # ReadRequest.resource_name. + # @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 [IO, String] download_dest + # IO stream or filename to receive content download + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DisplayvideoV1::GoogleBytestreamMedia] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DisplayvideoV1::GoogleBytestreamMedia] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def download_medium(resource_name, fields: nil, quota_user: nil, download_dest: nil, options: nil, &block) + if download_dest.nil? + command = make_simple_command(:get, 'download/{+resourceName}', options) + else + command = make_download_command(:get, 'download/{+resourceName}', options) + command.download_dest = download_dest + end + command.response_representation = Google::Apis::DisplayvideoV1::GoogleBytestreamMedia::Representation + command.response_class = Google::Apis::DisplayvideoV1::GoogleBytestreamMedia + command.params['resourceName'] = resource_name unless resource_name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates an SDF Download Task. Returns an + # Operation. + # An SDF Download Task is a long-running, asynchronous operation. The + # metadata type of this operation is + # SdfDownloadTaskMetadata. If the request is successful, the + # response type of the operation is + # SdfDownloadTask. The response will not include the download files, + # which must be retrieved with + # media.download. The state of + # operation can be retrieved with + # sdfdownloadtask.operations.get. + # Any errors can be found in the + # error.message. Note + # that error.details is expected to be + # empty. + # @param [Google::Apis::DisplayvideoV1::CreateSdfDownloadTaskRequest] create_sdf_download_task_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DisplayvideoV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DisplayvideoV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_sdfdownloadtask_sdf_download_task(create_sdf_download_task_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/sdfdownloadtasks', options) + command.request_representation = Google::Apis::DisplayvideoV1::CreateSdfDownloadTaskRequest::Representation + command.request_object = create_sdf_download_task_request_object + command.response_representation = Google::Apis::DisplayvideoV1::Operation::Representation + command.response_class = Google::Apis::DisplayvideoV1::Operation + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the latest state of an asynchronous SDF download task operation. Clients + # should poll this method at intervals of 30 seconds. + # @param [String] name + # The name of the operation resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DisplayvideoV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DisplayvideoV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_sdfdownloadtask_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::DisplayvideoV1::Operation::Representation + command.response_class = Google::Apis::DisplayvideoV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/genomics_v1.rb b/generated/google/apis/genomics_v1.rb index ef9ca19ef..db411eaf9 100644 --- a/generated/google/apis/genomics_v1.rb +++ b/generated/google/apis/genomics_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/genomics module GenomicsV1 VERSION = 'V1' - REVISION = '20200210' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/genomics_v1alpha2.rb b/generated/google/apis/genomics_v1alpha2.rb index 5d78cf893..d48cb4390 100644 --- a/generated/google/apis/genomics_v1alpha2.rb +++ b/generated/google/apis/genomics_v1alpha2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/genomics module GenomicsV1alpha2 VERSION = 'V1alpha2' - REVISION = '20200210' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/managedidentities_v1.rb b/generated/google/apis/managedidentities_v1.rb new file mode 100644 index 000000000..db11194ff --- /dev/null +++ b/generated/google/apis/managedidentities_v1.rb @@ -0,0 +1,35 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/managedidentities_v1/service.rb' +require 'google/apis/managedidentities_v1/classes.rb' +require 'google/apis/managedidentities_v1/representations.rb' + +module Google + module Apis + # Managed Service for Microsoft Active Directory API + # + # The Managed Service for Microsoft Active Directory API is used for managing a + # highly available, hardened service running Microsoft Active Directory (AD). + # + # @see https://cloud.google.com/managed-microsoft-ad/ + module ManagedidentitiesV1 + VERSION = 'V1' + REVISION = '20200219' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + end + end +end diff --git a/generated/google/apis/managedidentities_v1/classes.rb b/generated/google/apis/managedidentities_v1/classes.rb new file mode 100644 index 000000000..1ae2728cf --- /dev/null +++ b/generated/google/apis/managedidentities_v1/classes.rb @@ -0,0 +1,1662 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1 + + # Request message for + # AttachTrust + class AttachTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # Associates `members` with a `role`. + class Binding + include Google::Apis::Core::Hashable + + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + # Corresponds to the JSON property `condition` + # @return [Google::Apis::ManagedidentitiesV1::Expr] + attr_accessor :condition + + # Specifies the identities requesting access for a Cloud Platform resource. + # `members` can have the following values: + # * `allUsers`: A special identifier that represents anyone who is + # on the internet; with or without a Google account. + # * `allAuthenticatedUsers`: A special identifier that represents anyone + # who is authenticated with a Google account or a service account. + # * `user:`emailid``: An email address that represents a specific Google + # account. For example, `alice@example.com` . + # * `serviceAccount:`emailid``: An email address that represents a service + # account. For example, `my-other-app@appspot.gserviceaccount.com`. + # * `group:`emailid``: An email address that represents a Google group. + # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. + # * `domain:`domain``: The G Suite domain (primary) that represents all the + # users of that domain. For example, `google.com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Role that is assigned to `members`. + # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @condition = args[:condition] if args.key?(:condition) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + + # The request message for Operations.CancelOperation. + class CancelOperationRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Request message for + # DetachTrust + class DetachTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # Represents a managed Microsoft Active Directory domain. + class Domain + include Google::Apis::Core::Hashable + + # Optional. The name of delegated administrator account used to perform + # Active Directory operations. If not specified, `setupadmin` will be used. + # Corresponds to the JSON property `admin` + # @return [String] + attr_accessor :admin + + # Optional. The full names of the Google Compute Engine + # [networks](/compute/docs/networks-and-firewalls#networks) the domain + # instance is connected to. Networks can be added using UpdateDomain. + # The domain is only available on networks listed in `authorized_networks`. + # If CIDR subnets overlap between networks, domain creation will fail. + # Corresponds to the JSON property `authorizedNetworks` + # @return [Array] + attr_accessor :authorized_networks + + # Output only. The time the instance was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The fully-qualified domain name of the exposed domain used by + # clients to connect to the service. Similar to what would be chosen for an + # Active Directory set up on an internal network. + # Corresponds to the JSON property `fqdn` + # @return [String] + attr_accessor :fqdn + + # Optional. Resource labels that can contain user-provided metadata. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Required. Locations where domain needs to be provisioned. + # regions + # e.g. us-west1 or us-east4 + # Service supports up to 4 locations at once. Each location will use a /26 + # block. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Required. The unique name of the domain using the form: + # `projects/`project_id`/locations/global/domains/`domain_name``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Required. The CIDR range of internal addresses that are reserved for this + # domain. Reserved networks must be /24 or larger. Ranges must be + # unique and non-overlapping with existing subnets in + # [Domain].[authorized_networks]. + # Corresponds to the JSON property `reservedIpRange` + # @return [String] + attr_accessor :reserved_ip_range + + # Output only. The current state of this domain. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Additional information about the current status of this + # domain, if available. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # Output only. The current trusts associated with the domain. + # Corresponds to the JSON property `trusts` + # @return [Array] + attr_accessor :trusts + + # Output only. The last update time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @admin = args[:admin] if args.key?(:admin) + @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks) + @create_time = args[:create_time] if args.key?(:create_time) + @fqdn = args[:fqdn] if args.key?(:fqdn) + @labels = args[:labels] if args.key?(:labels) + @locations = args[:locations] if args.key?(:locations) + @name = args[:name] if args.key?(:name) + @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range) + @state = args[:state] if args.key?(:state) + @status_message = args[:status_message] if args.key?(:status_message) + @trusts = args[:trusts] if args.key?(:trusts) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A generic empty message that you can re-use to avoid defining duplicated + # empty messages in your APIs. A typical example is to use it as the request + # or the response type of an API method. For instance: + # service Foo ` + # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + # ` + # The JSON representation for `Empty` is empty JSON object ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + class Expr + include Google::Apis::Core::Hashable + + # Optional. Description of the expression. This is a longer text which + # describes the expression, e.g. when hovered over it in a UI. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Textual representation of an expression in Common Expression Language + # syntax. + # Corresponds to the JSON property `expression` + # @return [String] + attr_accessor :expression + + # Optional. String indicating the location of the expression for error + # reporting, e.g. a file name and a position in the file. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # Optional. Title for the expression, i.e. a short string describing + # its purpose. This can be used e.g. in UIs which allow to enter the + # expression. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @expression = args[:expression] if args.key?(:expression) + @location = args[:location] if args.key?(:location) + @title = args[:title] if args.key?(:title) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudManagedidentitiesV1OpMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudManagedidentitiesV1beta1OpMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Instance represents the interface for SLM services to actuate the state + # of control plane resources. + # Example Instance in JSON, where + # consumer-project=snapchat, + # producer-project=cloud-sql: + # ```json + # Instance: + # ` + # "name": + # "projects/snapchat/locations/us-east1/instances/prod-instance", + # "create_time": ` + # "seconds": 1526406431, + # `, + # "labels": ` + # "env": "prod", + # "foo": "bar" + # `, + # "state": READY, + # "software_versions": ` + # "software_update": "cloud-sql-09-28-2018", + # `, + # "maintenance_policy_names": ` + # "UpdatePolicy": + # "projects/snapchat/locations/us-east1/maintenancePolicies/prod-update- + # policy", + # ` + # "tenant_project_id": "cloud-sql-test-tenant", + # "producer_metadata": ` + # "cloud-sql-tier": "basic", + # "cloud-sql-instance-size": "1G", + # `, + # "provisioned_resources": [ + # ` + # "resource-type": "compute-instance", + # "resource-url": + # "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1- + # b/instances/vm-1", + # ` + # ], + # "maintenance_schedules": ` + # "csa_rollout": ` + # "start_time": ` + # "seconds": 1526406431, + # `, + # "end_time": ` + # "seconds": 1535406431, + # `, + # `, + # "ncsa_rollout": ` + # "start_time": ` + # "seconds": 1526406431, + # `, + # "end_time": ` + # "seconds": 1535406431, + # `, + # ` + # `, + # "consumer_defined_name": "my-sql-instance1", + # ` + # ``` + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + include Google::Apis::Core::Hashable + + # consumer_defined_name is the name that is set by the consumer. On the other + # hand Name field represents system-assigned id of an instance so consumers + # are not necessarily aware of it. + # consumer_defined_name is used for notification/UI purposes for consumer to + # recognize their instances. + # Corresponds to the JSON property `consumerDefinedName` + # @return [String] + attr_accessor :consumer_defined_name + + # Output only. Timestamp when the resource was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. Resource labels to represent user provided metadata. Each label + # is a key-value pair, where both the key and the value are arbitrary strings + # provided by the user. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The MaintenancePolicies that have been attached to the instance. + # The key must be of the type name of the oneof policy name defined in + # MaintenancePolicy, and the referenced policy must define the same policy + # type. For complete details of MaintenancePolicy, please refer to + # go/cloud-saas-mw-ug. + # Corresponds to the JSON property `maintenancePolicyNames` + # @return [Hash] + attr_accessor :maintenance_policy_names + + # The MaintenanceSchedule contains the scheduling information of published + # maintenance schedule. + # Corresponds to the JSON property `maintenanceSchedules` + # @return [Hash] + attr_accessor :maintenance_schedules + + # Unique name of the resource. It uses the form: + # `projects/`project_id`/locations/`location_id`/instances/`instance_id`` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. Custom string attributes used primarily to expose + # producer-specific information in monitoring dashboards. + # See go/get-instance-metadata. + # Corresponds to the JSON property `producerMetadata` + # @return [Hash] + attr_accessor :producer_metadata + + # Output only. The list of data plane resources provisioned for this + # instance, e.g. compute VMs. See go/get-instance-metadata. + # Corresponds to the JSON property `provisionedResources` + # @return [Array] + attr_accessor :provisioned_resources + + # The map between RolloutType and the corresponding RolloutMetadata. + # This is only mutated by rollout service. For actuation implementation, + # this information is pass-through for Rollout management. Producer shall + # not modify by itself. + # For update of a single entry in this map, the update field mask shall + # follow this sementics: go/advanced-field-masks + # Corresponds to the JSON property `rolloutMetadata` + # @return [Hash] + attr_accessor :rollout_metadata + + # Link to the SLM instance template. Only populated when updating SLM + # instances via SSA's Actuation service adaptor. + # Service producers with custom control plane (e.g. Cloud SQL) doesn't + # need to populate this field. Instead they should use software_versions. + # Corresponds to the JSON property `slmInstanceTemplate` + # @return [String] + attr_accessor :slm_instance_template + + # SloMetadata contains resources required for proper SLO classification of the + # instance. + # Corresponds to the JSON property `sloMetadata` + # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata] + attr_accessor :slo_metadata + + # Software versions that are used to deploy this instance. This can be + # mutated by rollout services. + # Corresponds to the JSON property `softwareVersions` + # @return [Hash] + attr_accessor :software_versions + + # Output only. Current lifecycle state of the resource (e.g. if it's being + # created or ready to use). + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. ID of the associated GCP tenant project. + # See go/get-instance-metadata. + # Corresponds to the JSON property `tenantProjectId` + # @return [String] + attr_accessor :tenant_project_id + + # Output only. Timestamp when the resource was last modified. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name) + @create_time = args[:create_time] if args.key?(:create_time) + @labels = args[:labels] if args.key?(:labels) + @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names) + @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules) + @name = args[:name] if args.key?(:name) + @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata) + @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources) + @rollout_metadata = args[:rollout_metadata] if args.key?(:rollout_metadata) + @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template) + @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata) + @software_versions = args[:software_versions] if args.key?(:software_versions) + @state = args[:state] if args.key?(:state) + @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Maintenance schedule which is exposed to customer and potentially end user, + # indicating published upcoming future maintenance schedule + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + include Google::Apis::Core::Hashable + + # Can this scheduled update be rescheduled? + # By default, it's true and API needs to do explicitly check whether it's + # set, if it's set as false explicitly, it's false + # Corresponds to the JSON property `canReschedule` + # @return [Boolean] + attr_accessor :can_reschedule + alias_method :can_reschedule?, :can_reschedule + + # The scheduled end time for the maintenance. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The rollout management policy this maintenance schedule is associated + # with. When doing reschedule update request, the reschedule should be + # against this given policy. + # Corresponds to the JSON property `rolloutManagementPolicy` + # @return [String] + attr_accessor :rollout_management_policy + + # The scheduled start time for the maintenance. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule) + @end_time = args[:end_time] if args.key?(:end_time) + @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy) + @start_time = args[:start_time] if args.key?(:start_time) + end + end + + # Node information for custom per-node SLO implementations. + # SSA does not support per-node SLO, but producers can populate per-node + # information in SloMetadata for custom precomputations. + # SSA Eligibility Exporter will emit per-node metric based on this information. + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + include Google::Apis::Core::Hashable + + # By default node is eligible if instance is eligible. + # But individual node might be excluded from SLO by adding entry here. + # For semantic see SloMetadata.exclusions. + # If both instance and node level exclusions are present for time period, + # the node level's reason will be reported by Eligibility Exporter. + # Corresponds to the JSON property `exclusions` + # @return [Array] + attr_accessor :exclusions + + # The location of the node, if different from instance location. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # The id of the node. + # This should be equal to SaasInstanceNode.node_id. + # Corresponds to the JSON property `nodeId` + # @return [String] + attr_accessor :node_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exclusions = args[:exclusions] if args.key?(:exclusions) + @location = args[:location] if args.key?(:location) + @node_id = args[:node_id] if args.key?(:node_id) + end + end + + # This message has been deprecated. + # NotificationMetadata is the notification state for an instance. + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + include Google::Apis::Core::Hashable + + # Whether the instance update has been rescheduled. + # Corresponds to the JSON property `rescheduled` + # @return [Boolean] + attr_accessor :rescheduled + alias_method :rescheduled?, :rescheduled + + # The scheduled end time for the maintenance window during which update + # can be performed on the instance. + # Corresponds to the JSON property `scheduledEndTime` + # @return [String] + attr_accessor :scheduled_end_time + + # The scheduled start time for the maintenance window during which + # update can be performed on the instance. + # Corresponds to the JSON property `scheduledStartTime` + # @return [String] + attr_accessor :scheduled_start_time + + # The target release to be applied to the instance. + # Corresponds to the JSON property `targetRelease` + # @return [String] + attr_accessor :target_release + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @rescheduled = args[:rescheduled] if args.key?(:rescheduled) + @scheduled_end_time = args[:scheduled_end_time] if args.key?(:scheduled_end_time) + @scheduled_start_time = args[:scheduled_start_time] if args.key?(:scheduled_start_time) + @target_release = args[:target_release] if args.key?(:target_release) + end + end + + # Describes provisioned dataplane resources. + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + include Google::Apis::Core::Hashable + + # Type of the resource. This can be either a GCP resource or a custom one + # (e.g. another cloud provider's VM). For GCP compute resources use singular + # form of the names listed in GCP compute API documentation + # (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with + # 'compute-', for example: 'compute-instance', 'compute-disk', + # 'compute-autoscaler'. + # Corresponds to the JSON property `resourceType` + # @return [String] + attr_accessor :resource_type + + # URL identifying the resource, e.g. + # "https://www.googleapis.com/compute/v1/projects/...)". + # Corresponds to the JSON property `resourceUrl` + # @return [String] + attr_accessor :resource_url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_type = args[:resource_type] if args.key?(:resource_type) + @resource_url = args[:resource_url] if args.key?(:resource_url) + end + end + + # This message has been deprecated. + # RolloutMetadata for an actuation instance. It maps to a single RolloutType. + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + include Google::Apis::Core::Hashable + + # This message has been deprecated. + # NotificationMetadata is the notification state for an instance. + # Corresponds to the JSON property `notification` + # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata] + attr_accessor :notification + + # The last Release that has been applied to the instance. + # Corresponds to the JSON property `releaseName` + # @return [String] + attr_accessor :release_name + + # The last rollout that has been applied to the instance. + # Corresponds to the JSON property `rolloutName` + # @return [String] + attr_accessor :rollout_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @notification = args[:notification] if args.key?(:notification) + @release_name = args[:release_name] if args.key?(:release_name) + @rollout_name = args[:rollout_name] if args.key?(:rollout_name) + end + end + + # SloEligibility is a tuple containing eligibility value: true if an instance + # is eligible for SLO calculation or false if it should be excluded from all + # SLO-related calculations along with a user-defined reason. + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + include Google::Apis::Core::Hashable + + # Whether an instance is eligible or ineligible. + # Corresponds to the JSON property `eligible` + # @return [Boolean] + attr_accessor :eligible + alias_method :eligible?, :eligible + + # User-defined reason for the current value of instance eligibility. Usually, + # this can be directly mapped to the internal state. An empty reason is + # allowed. + # Corresponds to the JSON property `reason` + # @return [String] + attr_accessor :reason + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @eligible = args[:eligible] if args.key?(:eligible) + @reason = args[:reason] if args.key?(:reason) + end + end + + # SloExclusion represents an exclusion in SLI calculation applies to all SLOs. + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + include Google::Apis::Core::Hashable + + # Exclusion duration. No restrictions on the possible values. + # When an ongoing operation is taking longer than initially expected, + # an existing entry in the exclusion list can be updated by extending the + # duration. This is supported by the subsystem exporting eligibility data + # as long as such extension is committed at least 10 minutes before the + # original exclusion expiration - otherwise it is possible that there will + # be "gaps" in the exclusion application in the exported timeseries. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # Human-readable reason for the exclusion. + # This should be a static string (e.g. "Disruptive update in progress") + # and should not contain dynamically generated data (e.g. instance name). + # Can be left empty. + # Corresponds to the JSON property `reason` + # @return [String] + attr_accessor :reason + + # Name of an SLI that this exclusion applies to. Can be left empty, + # signaling that the instance should be excluded from all SLIs defined + # in the service SLO configuration. + # Corresponds to the JSON property `sliName` + # @return [String] + attr_accessor :sli_name + + # Start time of the exclusion. No alignment (e.g. to a full minute) needed. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @duration = args[:duration] if args.key?(:duration) + @reason = args[:reason] if args.key?(:reason) + @sli_name = args[:sli_name] if args.key?(:sli_name) + @start_time = args[:start_time] if args.key?(:start_time) + end + end + + # SloMetadata contains resources required for proper SLO classification of the + # instance. + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + include Google::Apis::Core::Hashable + + # SloEligibility is a tuple containing eligibility value: true if an instance + # is eligible for SLO calculation or false if it should be excluded from all + # SLO-related calculations along with a user-defined reason. + # Corresponds to the JSON property `eligibility` + # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility] + attr_accessor :eligibility + + # List of SLO exclusion windows. When multiple entries in the list match + # (matching the exclusion time-window against current time point) + # the exclusion reason used in the first matching entry will be published. + # It is not needed to include expired exclusion in this list, as only the + # currently applicable exclusions are taken into account by the eligibility + # exporting subsystem (the historical state of exclusions will be reflected + # in the historically produced timeseries regardless of the current state). + # This field can be used to mark the instance as temporary ineligible + # for the purpose of SLO calculation. For permanent instance SLO exclusion, + # use of custom instance eligibility is recommended. See 'eligibility' field + # below. + # Corresponds to the JSON property `exclusions` + # @return [Array] + attr_accessor :exclusions + + # Optional. List of nodes. + # Some producers need to use per-node metadata to calculate SLO. + # This field allows such producers to publish per-node SLO meta data, + # which will be consumed by SSA Eligibility Exporter and published in the + # form of per node metric to Monarch. + # Corresponds to the JSON property `nodes` + # @return [Array] + attr_accessor :nodes + + # Name of the SLO tier the Instance belongs to. This name will be expected to + # match the tiers specified in the service SLO configuration. + # Field is mandatory and must not be empty. + # Corresponds to the JSON property `tier` + # @return [String] + attr_accessor :tier + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @eligibility = args[:eligibility] if args.key?(:eligibility) + @exclusions = args[:exclusions] if args.key?(:exclusions) + @nodes = args[:nodes] if args.key?(:nodes) + @tier = args[:tier] if args.key?(:tier) + end + end + + # Response message for + # ListDomains + class ListDomainsResponse + include Google::Apis::Core::Hashable + + # A list of Managed Identities Service domains in the project. + # Corresponds to the JSON property `domains` + # @return [Array] + attr_accessor :domains + + # A token to retrieve the next page of results, or empty if there are no more + # results in the list. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of locations that could not be reached. + # Corresponds to the JSON property `unreachable` + # @return [Array] + attr_accessor :unreachable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @domains = args[:domains] if args.key?(:domains) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable = args[:unreachable] if args.key?(:unreachable) + end + end + + # The response message for Locations.ListLocations. + class ListLocationsResponse + include Google::Apis::Core::Hashable + + # A list of locations that matches the specified filter in the request. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @locations = args[:locations] if args.key?(:locations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # The response message for Operations.ListOperations. + class ListOperationsResponse + include Google::Apis::Core::Hashable + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of operations that matches the specified filter in the request. + # Corresponds to the JSON property `operations` + # @return [Array] + attr_accessor :operations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operations = args[:operations] if args.key?(:operations) + end + end + + # A resource that represents Google Cloud Platform location. + class Location + include Google::Apis::Core::Hashable + + # The friendly name for this location, typically a nearby city name. + # For example, "Tokyo". + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Cross-service attributes for the location. For example + # `"cloud.googleapis.com/region": "us-east1"` + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The canonical id for this location. For example: `"us-east1"`. + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id + + # Service-specific metadata. For example the available capacity at the given + # location. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # Resource name for the location, which may vary between implementations. + # For example: `"projects/example-project/locations/us-east1"` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @location_id = args[:location_id] if args.key?(:location_id) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + end + end + + # This resource represents a long-running operation that is the result of a + # network API call. + class Operation + include Google::Apis::Core::Hashable + + # If the value is `false`, it means the operation is still in progress. + # If `true`, the operation is completed, and either `error` or `response` is + # available. + # Corresponds to the JSON property `done` + # @return [Boolean] + attr_accessor :done + alias_method :done?, :done + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::ManagedidentitiesV1::Status] + attr_accessor :error + + # Service-specific metadata associated with the operation. It typically + # contains progress information and common metadata such as create time. + # Some services might not provide such metadata. Any method that returns a + # long-running operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # The server-assigned name, which is only unique within the same service that + # originally returns it. If you use the default HTTP mapping, the + # `name` should be a resource name ending with `operations/`unique_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The normal response of the operation in case of success. If the original + # method returns no data on success, such as `Delete`, the response is + # `google.protobuf.Empty`. If the original method is standard + # `Get`/`Create`/`Update`, the response should be the resource. For other + # methods, the response should have the type `XxxResponse`, where `Xxx` + # is the original method name. For example, if the original method name + # is `TakeSnapshot()`, the inferred response type is + # `TakeSnapshotResponse`. + # Corresponds to the JSON property `response` + # @return [Hash] + attr_accessor :response + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @done = args[:done] if args.key?(:done) + @error = args[:error] if args.key?(:error) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + @response = args[:response] if args.key?(:response) + end + end + + # Represents the metadata of the long-running operation. + class OperationMetadata + include Google::Apis::Core::Hashable + + # [Output only] API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # [Output only] Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `cancelRequested` + # @return [Boolean] + attr_accessor :cancel_requested + alias_method :cancel_requested?, :cancel_requested + + # [Output only] The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # [Output only] The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # [Output only] Human-readable status of the operation, if any. + # Corresponds to the JSON property `statusDetail` + # @return [String] + attr_accessor :status_detail + + # [Output only] Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # [Output only] Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @status_detail = args[:status_detail] if args.key?(:status_detail) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + class Policy + include Google::Apis::Core::Hashable + + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # `etag` is used for optimistic concurrency control as a way to help + # prevent simultaneous updates of a policy from overwriting each other. + # It is strongly suggested that systems make use of the `etag` in the + # read-modify-write cycle to perform policy updates in order to avoid race + # conditions: An `etag` is returned in the response to `getIamPolicy`, and + # systems are expected to put that etag in the request to `setIamPolicy` to + # ensure that their change will be applied to the same version of the policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Specifies the format of the policy. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. + # Corresponds to the JSON property `version` + # @return [Fixnum] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @version = args[:version] if args.key?(:version) + end + end + + # Request message for + # ReconfigureTrust + class ReconfigureTrustRequest + include Google::Apis::Core::Hashable + + # Required. The target DNS server IP addresses to resolve the remote domain + # involved + # in the trust. + # Corresponds to the JSON property `targetDnsIpAddresses` + # @return [Array] + attr_accessor :target_dns_ip_addresses + + # Required. The fully-qualified target domain name which will be in trust with + # current + # domain. + # Corresponds to the JSON property `targetDomainName` + # @return [String] + attr_accessor :target_domain_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses) + @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name) + end + end + + # Request message for + # ResetAdminPassword + class ResetAdminPasswordRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Response message for + # ResetAdminPassword + class ResetAdminPasswordResponse + include Google::Apis::Core::Hashable + + # A random password. See admin for more information. + # Corresponds to the JSON property `password` + # @return [String] + attr_accessor :password + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @password = args[:password] if args.key?(:password) + end + end + + # Request message for `SetIamPolicy` method. + class SetIamPolicyRequest + include Google::Apis::Core::Hashable + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ManagedidentitiesV1::Policy] + attr_accessor :policy + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @policy = args[:policy] if args.key?(:policy) + end + end + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + class Status + include Google::Apis::Core::Hashable + + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code + + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + # Corresponds to the JSON property `details` + # @return [Array>] + attr_accessor :details + + # A developer-facing error message, which should be in English. Any + # user-facing error message should be localized and sent in the + # google.rpc.Status.details field, or localized by the client. + # 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) + @details = args[:details] if args.key?(:details) + @message = args[:message] if args.key?(:message) + end + end + + # Request message for `TestIamPermissions` method. + class TestIamPermissionsRequest + include Google::Apis::Core::Hashable + + # The set of permissions to check for the `resource`. Permissions with + # wildcards (such as '*' or 'storage.*') are not allowed. For more + # information see + # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Response message for `TestIamPermissions` method. + class TestIamPermissionsResponse + include Google::Apis::Core::Hashable + + # A subset of `TestPermissionsRequest.permissions` that the caller is + # allowed. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + class TrustProp + include Google::Apis::Core::Hashable + + # Output only. The time the instance was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The last heartbeat time when the trust was known to be connected. + # Corresponds to the JSON property `lastTrustHeartbeatTime` + # @return [String] + attr_accessor :last_trust_heartbeat_time + + # Optional. The trust authentication type, which decides whether the trusted + # side has + # forest/domain wide access or selective access to an approved set of + # resources. + # Corresponds to the JSON property `selectiveAuthentication` + # @return [Boolean] + attr_accessor :selective_authentication + alias_method :selective_authentication?, :selective_authentication + + # Output only. The current state of the trust. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Additional information about the current state of the trust, if + # available. + # Corresponds to the JSON property `stateDescription` + # @return [String] + attr_accessor :state_description + + # Required. The target DNS server IP addresses which can resolve the remote + # domain + # involved in the trust. + # Corresponds to the JSON property `targetDnsIpAddresses` + # @return [Array] + attr_accessor :target_dns_ip_addresses + + # Required. The fully qualified target domain name which will be in trust with + # the + # current domain. + # Corresponds to the JSON property `targetDomainName` + # @return [String] + attr_accessor :target_domain_name + + # Required. The trust direction, which decides if the current domain is trusted, + # trusting, or both. + # Corresponds to the JSON property `trustDirection` + # @return [String] + attr_accessor :trust_direction + + # Required. The trust secret used for the handshake with the target domain. This + # will + # not be stored. + # Corresponds to the JSON property `trustHandshakeSecret` + # @return [String] + attr_accessor :trust_handshake_secret + + # Required. The type of trust represented by the trust resource. + # Corresponds to the JSON property `trustType` + # @return [String] + attr_accessor :trust_type + + # Output only. The last update time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @last_trust_heartbeat_time = args[:last_trust_heartbeat_time] if args.key?(:last_trust_heartbeat_time) + @selective_authentication = args[:selective_authentication] if args.key?(:selective_authentication) + @state = args[:state] if args.key?(:state) + @state_description = args[:state_description] if args.key?(:state_description) + @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses) + @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name) + @trust_direction = args[:trust_direction] if args.key?(:trust_direction) + @trust_handshake_secret = args[:trust_handshake_secret] if args.key?(:trust_handshake_secret) + @trust_type = args[:trust_type] if args.key?(:trust_type) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Request message for + # ValidateTrust + class ValidateTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1/representations.rb b/generated/google/apis/managedidentities_v1/representations.rb new file mode 100644 index 000000000..de782f0a9 --- /dev/null +++ b/generated/google/apis/managedidentities_v1/representations.rb @@ -0,0 +1,576 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1 + + class AttachTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Binding + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CancelOperationRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DetachTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Domain + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Empty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Expr + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudManagedidentitiesV1OpMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudManagedidentitiesV1beta1OpMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListDomainsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListLocationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListOperationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Location + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Operation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Policy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReconfigureTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResetAdminPasswordRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResetAdminPasswordResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SetIamPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Status + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TrustProp + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ValidateTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AttachTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1::TrustProp::Representation + + end + end + + class Binding + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :condition, as: 'condition', class: Google::Apis::ManagedidentitiesV1::Expr, decorator: Google::Apis::ManagedidentitiesV1::Expr::Representation + + collection :members, as: 'members' + property :role, as: 'role' + end + end + + class CancelOperationRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class DetachTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1::TrustProp::Representation + + end + end + + class Domain + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :admin, as: 'admin' + collection :authorized_networks, as: 'authorizedNetworks' + property :create_time, as: 'createTime' + property :fqdn, as: 'fqdn' + hash :labels, as: 'labels' + collection :locations, as: 'locations' + property :name, as: 'name' + property :reserved_ip_range, as: 'reservedIpRange' + property :state, as: 'state' + property :status_message, as: 'statusMessage' + collection :trusts, as: 'trusts', class: Google::Apis::ManagedidentitiesV1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1::TrustProp::Representation + + property :update_time, as: 'updateTime' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class Expr + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :expression, as: 'expression' + property :location, as: 'location' + property :title, as: 'title' + end + end + + class GoogleCloudManagedidentitiesV1OpMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class GoogleCloudManagedidentitiesV1beta1OpMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :consumer_defined_name, as: 'consumerDefinedName' + property :create_time, as: 'createTime' + hash :labels, as: 'labels' + hash :maintenance_policy_names, as: 'maintenancePolicyNames' + hash :maintenance_schedules, as: 'maintenanceSchedules', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule::Representation + + property :name, as: 'name' + hash :producer_metadata, as: 'producerMetadata' + collection :provisioned_resources, as: 'provisionedResources', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource::Representation + + hash :rollout_metadata, as: 'rolloutMetadata', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata::Representation + + property :slm_instance_template, as: 'slmInstanceTemplate' + property :slo_metadata, as: 'sloMetadata', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata::Representation + + hash :software_versions, as: 'softwareVersions' + property :state, as: 'state' + property :tenant_project_id, as: 'tenantProjectId' + property :update_time, as: 'updateTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :can_reschedule, as: 'canReschedule' + property :end_time, as: 'endTime' + property :rollout_management_policy, as: 'rolloutManagementPolicy' + property :start_time, as: 'startTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :exclusions, as: 'exclusions', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion::Representation + + property :location, as: 'location' + property :node_id, as: 'nodeId' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :rescheduled, as: 'rescheduled' + property :scheduled_end_time, as: 'scheduledEndTime' + property :scheduled_start_time, as: 'scheduledStartTime' + property :target_release, as: 'targetRelease' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource_type, as: 'resourceType' + property :resource_url, as: 'resourceUrl' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :notification, as: 'notification', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata::Representation + + property :release_name, as: 'releaseName' + property :rollout_name, as: 'rolloutName' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :eligible, as: 'eligible' + property :reason, as: 'reason' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :duration, as: 'duration' + property :reason, as: 'reason' + property :sli_name, as: 'sliName' + property :start_time, as: 'startTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :eligibility, as: 'eligibility', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility::Representation + + collection :exclusions, as: 'exclusions', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion::Representation + + collection :nodes, as: 'nodes', class: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata, decorator: Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata::Representation + + property :tier, as: 'tier' + end + end + + class ListDomainsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :domains, as: 'domains', class: Google::Apis::ManagedidentitiesV1::Domain, decorator: Google::Apis::ManagedidentitiesV1::Domain::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable, as: 'unreachable' + end + end + + class ListLocationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :locations, as: 'locations', class: Google::Apis::ManagedidentitiesV1::Location, decorator: Google::Apis::ManagedidentitiesV1::Location::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ListOperationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :operations, as: 'operations', class: Google::Apis::ManagedidentitiesV1::Operation, decorator: Google::Apis::ManagedidentitiesV1::Operation::Representation + + end + end + + class Location + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :location_id, as: 'locationId' + hash :metadata, as: 'metadata' + property :name, as: 'name' + end + end + + class Operation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :done, as: 'done' + property :error, as: 'error', class: Google::Apis::ManagedidentitiesV1::Status, decorator: Google::Apis::ManagedidentitiesV1::Status::Representation + + hash :metadata, as: 'metadata' + property :name, as: 'name' + hash :response, as: 'response' + end + end + + class OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :cancel_requested, as: 'cancelRequested' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :status_detail, as: 'statusDetail' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class Policy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bindings, as: 'bindings', class: Google::Apis::ManagedidentitiesV1::Binding, decorator: Google::Apis::ManagedidentitiesV1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :version, as: 'version' + end + end + + class ReconfigureTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :target_dns_ip_addresses, as: 'targetDnsIpAddresses' + property :target_domain_name, as: 'targetDomainName' + end + end + + class ResetAdminPasswordRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ResetAdminPasswordResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :password, as: 'password' + end + end + + class SetIamPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :policy, as: 'policy', class: Google::Apis::ManagedidentitiesV1::Policy, decorator: Google::Apis::ManagedidentitiesV1::Policy::Representation + + end + end + + class Status + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :details, as: 'details' + property :message, as: 'message' + end + end + + class TestIamPermissionsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TestIamPermissionsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TrustProp + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :last_trust_heartbeat_time, as: 'lastTrustHeartbeatTime' + property :selective_authentication, as: 'selectiveAuthentication' + property :state, as: 'state' + property :state_description, as: 'stateDescription' + collection :target_dns_ip_addresses, as: 'targetDnsIpAddresses' + property :target_domain_name, as: 'targetDomainName' + property :trust_direction, as: 'trustDirection' + property :trust_handshake_secret, as: 'trustHandshakeSecret' + property :trust_type, as: 'trustType' + property :update_time, as: 'updateTime' + end + end + + class ValidateTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1::TrustProp::Representation + + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1/service.rb b/generated/google/apis/managedidentities_v1/service.rb new file mode 100644 index 000000000..e7c000d2a --- /dev/null +++ b/generated/google/apis/managedidentities_v1/service.rb @@ -0,0 +1,779 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1 + # Managed Service for Microsoft Active Directory API + # + # The Managed Service for Microsoft Active Directory API is used for managing a + # highly available, hardened service running Microsoft Active Directory (AD). + # + # @example + # require 'google/apis/managedidentities_v1' + # + # Managedidentities = Google::Apis::ManagedidentitiesV1 # Alias the module + # service = Managedidentities::ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService.new + # + # @see https://cloud.google.com/managed-microsoft-ad/ + class ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://managedidentities.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets information about a location. + # @param [String] name + # Resource name for the location. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Location] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Location] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::Location::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Location + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists information about the supported locations for this service. + # @param [String] name + # The resource that owns the locations collection, if applicable. + # @param [String] filter + # The standard list filter. + # @param [Boolean] include_unrevealed_locations + # If true, the returned list will include locations which are not yet + # revealed. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::ListLocationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::ListLocationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_locations(name, filter: nil, include_unrevealed_locations: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}/locations', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::ListLocationsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::ListLocationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['includeUnrevealedLocations'] = include_unrevealed_locations unless include_unrevealed_locations.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Adds an AD trust to a domain. + # @param [String] name + # Required. The resource domain name, project name and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1::AttachTrustRequest] attach_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def attach_domain_trust(name, attach_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:attachTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::AttachTrustRequest::Representation + command.request_object = attach_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a Microsoft AD domain. + # @param [String] parent + # Required. The resource project name and location using the form: + # `projects/`project_id`/locations/global` + # @param [Google::Apis::ManagedidentitiesV1::Domain] domain_object + # @param [String] domain_name + # Required. The fully qualified domain name. + # e.g. mydomain.myorganization.com, with the following restrictions: + # * Must contain only lowercase letters, numbers, periods and hyphens. + # * Must start with a letter. + # * Must contain between 2-64 characters. + # * Must end with a number or a letter. + # * Must not start with period. + # * First segement length (mydomain form example above) shouldn't exceed + # 15 chars. + # * The last segment cannot be fully numeric. + # * Must be unique within the customer project. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_global_domain(parent, domain_object = nil, domain_name: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/domains', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::Domain::Representation + command.request_object = domain_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['parent'] = parent unless parent.nil? + command.query['domainName'] = domain_name unless domain_name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a domain. + # @param [String] name + # Required. The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::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_project_location_global_domain(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Removes an AD trust. + # @param [String] name + # Required. The resource domain name, project name, and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1::DetachTrustRequest] detach_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def detach_domain_trust(name, detach_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:detachTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::DetachTrustRequest::Representation + command.request_object = detach_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets information about a domain. + # @param [String] name + # Required. The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Domain] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Domain] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_domain(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::Domain::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Domain + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. + # Returns an empty policy if the resource exists and does not have a policy + # set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. + # See the operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_domain_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::Policy::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists domains in a project. + # @param [String] parent + # Required. The resource name of the domain location using the form: + # `projects/`project_id`/locations/global` + # @param [String] filter + # Optional. A filter specifying constraints of a list operation. + # For example, `Domain.fqdn="mydomain.myorginization"`. + # @param [String] order_by + # Optional. Specifies the ordering of results. See + # [Sorting + # order](https://cloud.google.com/apis/design/design_patterns#sorting_order) + # for more information. + # @param [Fixnum] page_size + # Optional. The maximum number of items to return. + # If not specified, a default value of 1000 will be used. + # Regardless of the page_size value, the response may include a partial list. + # Callers should rely on a response's + # next_page_token + # to determine if there are additional results to list. + # @param [String] page_token + # Optional. The `next_page_token` value returned from a previous + # ListDomainsRequest + # request, if any. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::ListDomainsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::ListDomainsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_global_domains(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/domains', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::ListDomainsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::ListDomainsResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the metadata and configuration of a domain. + # @param [String] name + # Required. The unique name of the domain using the form: + # `projects/`project_id`/locations/global/domains/`domain_name``. + # @param [Google::Apis::ManagedidentitiesV1::Domain] domain_object + # @param [String] update_mask + # Required. Mask of fields to update. At least one path must be supplied in this + # field. The elements of the repeated paths field may only include + # fields from Domain: + # * `labels` + # * `locations` + # * `authorized_networks` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_global_domain(name, domain_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1/{+name}', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::Domain::Representation + command.request_object = domain_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the DNS conditional forwarder. + # @param [String] name + # Required. The resource domain name, project name and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1::ReconfigureTrustRequest] reconfigure_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::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 reconfigure_domain_trust(name, reconfigure_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:reconfigureTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::ReconfigureTrustRequest::Representation + command.request_object = reconfigure_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Resets a domain's administrator password. + # @param [String] name + # Required. The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1::ResetAdminPasswordRequest] reset_admin_password_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::ResetAdminPasswordResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::ResetAdminPasswordResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def reset_domain_admin_password(name, reset_admin_password_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:resetAdminPassword', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::ResetAdminPasswordRequest::Representation + command.request_object = reset_admin_password_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::ResetAdminPasswordResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::ResetAdminPasswordResponse + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. + # See the operation documentation for the appropriate value for this field. + # @param [Google::Apis::ManagedidentitiesV1::SetIamPolicyRequest] set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_domain_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::SetIamPolicyRequest::Representation + command.request_object = set_iam_policy_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Policy::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. + # If the resource does not exist, this will return an empty set of + # permissions, not a NOT_FOUND error. + # Note: This operation is designed to be used for building permission-aware + # UIs and command-line tools, not for authorization checking. This operation + # may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. + # See the operation documentation for the appropriate value for this field. + # @param [Google::Apis::ManagedidentitiesV1::TestIamPermissionsRequest] test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::TestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::TestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_domain_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::TestIamPermissionsRequest::Representation + command.request_object = test_iam_permissions_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::TestIamPermissionsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::TestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Validates a trust state, that the target domain is reachable, and that the + # target domain is able to accept incoming trust requests. + # @param [String] name + # Required. The resource domain name, project name, and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1::ValidateTrustRequest] validate_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::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 validate_domain_trust(name, validate_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:validateTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::ValidateTrustRequest::Representation + command.request_object = validate_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts asynchronous cancellation on a long-running operation. The server + # makes a best effort to cancel the operation, but success is not + # guaranteed. If the server doesn't support this method, it returns + # `google.rpc.Code.UNIMPLEMENTED`. Clients can use + # Operations.GetOperation or + # other methods to check whether the cancellation succeeded or whether the + # operation completed despite cancellation. On successful cancellation, + # the operation is not deleted; instead, it becomes an operation with + # an Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # @param [String] name + # The name of the operation resource to be cancelled. + # @param [Google::Apis::ManagedidentitiesV1::CancelOperationRequest] cancel_operation_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:cancel', options) + command.request_representation = Google::Apis::ManagedidentitiesV1::CancelOperationRequest::Representation + command.request_object = cancel_operation_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1::Empty::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a long-running operation. This method indicates that the client is + # no longer interested in the operation result. It does not cancel the + # operation. If the server doesn't support this method, it returns + # `google.rpc.Code.UNIMPLEMENTED`. + # @param [String] name + # The name of the operation resource to be deleted. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_global_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::Empty::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the latest state of a long-running operation. Clients can use this + # method to poll the operation result at intervals as recommended by the API + # service. + # @param [String] name + # The name of the operation resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists operations that match the specified filter in the request. If the + # server doesn't support this method, it returns `UNIMPLEMENTED`. + # NOTE: the `name` binding allows API services to override the binding + # to use different resource name schemes, such as `users/*/operations`. To + # override the binding, API services can add a binding such as + # `"/v1/`name=users/*`/operations"` to their service configuration. + # For backwards compatibility, the default name includes the operations + # collection id, however overriding users must ensure the name binding + # is the parent resource, without the operations collection id. + # @param [String] name + # The name of the operation's parent resource. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1::ListOperationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1::ListOperationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_global_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1::ListOperationsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1::ListOperationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1alpha1.rb b/generated/google/apis/managedidentities_v1alpha1.rb new file mode 100644 index 000000000..a64f8a31b --- /dev/null +++ b/generated/google/apis/managedidentities_v1alpha1.rb @@ -0,0 +1,35 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/managedidentities_v1alpha1/service.rb' +require 'google/apis/managedidentities_v1alpha1/classes.rb' +require 'google/apis/managedidentities_v1alpha1/representations.rb' + +module Google + module Apis + # Managed Service for Microsoft Active Directory API + # + # The Managed Service for Microsoft Active Directory API is used for managing a + # highly available, hardened service running Microsoft Active Directory (AD). + # + # @see https://cloud.google.com/managed-microsoft-ad/ + module ManagedidentitiesV1alpha1 + VERSION = 'V1alpha1' + REVISION = '20200219' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + end + end +end diff --git a/generated/google/apis/managedidentities_v1alpha1/classes.rb b/generated/google/apis/managedidentities_v1alpha1/classes.rb new file mode 100644 index 000000000..c5b96a226 --- /dev/null +++ b/generated/google/apis/managedidentities_v1alpha1/classes.rb @@ -0,0 +1,1661 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1alpha1 + + # + class AttachTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains which makes it possible + # for users in one domain to be authenticated by a dc in another domain. + # Refer + # https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows- + # server-2008-R2-and-2008/cc731335(v%3dws.10) + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1alpha1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # Associates `members` with a `role`. + class Binding + include Google::Apis::Core::Hashable + + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + # Corresponds to the JSON property `condition` + # @return [Google::Apis::ManagedidentitiesV1alpha1::Expr] + attr_accessor :condition + + # Specifies the identities requesting access for a Cloud Platform resource. + # `members` can have the following values: + # * `allUsers`: A special identifier that represents anyone who is + # on the internet; with or without a Google account. + # * `allAuthenticatedUsers`: A special identifier that represents anyone + # who is authenticated with a Google account or a service account. + # * `user:`emailid``: An email address that represents a specific Google + # account. For example, `alice@example.com` . + # * `serviceAccount:`emailid``: An email address that represents a service + # account. For example, `my-other-app@appspot.gserviceaccount.com`. + # * `group:`emailid``: An email address that represents a Google group. + # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. + # * `domain:`domain``: The G Suite domain (primary) that represents all the + # users of that domain. For example, `google.com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Role that is assigned to `members`. + # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @condition = args[:condition] if args.key?(:condition) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + + # The request message for Operations.CancelOperation. + class CancelOperationRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # + class DetachTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains which makes it possible + # for users in one domain to be authenticated by a dc in another domain. + # Refer + # https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows- + # server-2008-R2-and-2008/cc731335(v%3dws.10) + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1alpha1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # + class Domain + include Google::Apis::Core::Hashable + + # Optional. The full names of the Google Compute Engine + # [networks](/compute/docs/networks-and-firewalls#networks) to which the + # instance is connected. Network can be added using UpdateDomain later. + # Domain is only available on network part of authorized_networks. + # Caller needs to make sure that CIDR subnets do not overlap between + # networks, else domain creation will fail. + # Corresponds to the JSON property `authorizedNetworks` + # @return [Array] + attr_accessor :authorized_networks + + # Output only. The time the instance was created. Synthetic field is + # populated automatically by CCFE. go/ccfe-synthetic-field-user-guide + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. Fully-qualified domain name of the exposed domain used by + # clients to connect to the service. Similar to what would be chosen for an + # Active Directory that is set up on an internal network. + # Corresponds to the JSON property `fqdn` + # @return [String] + attr_accessor :fqdn + + # Optional. Resource labels to represent user provided metadata + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Required. Locations where domain needs to be provisioned. + # regions + # e.g. us-west1 or us-east4 + # Service supports up to 4 locations at once. Each location will use a /26 + # block. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Optional. Name of customer-visible admin used to perform Active Directory + # operations. If not specified `setupadmin` would be used. + # Corresponds to the JSON property `managedIdentitiesAdminName` + # @return [String] + attr_accessor :managed_identities_admin_name + + # Output only. Unique name of the domain in this scope including projects and + # location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Required. The CIDR range of internal addresses that are reserved for this + # domain. Reserved networks must be /24 or larger. Ranges must be + # unique and non-overlapping with existing subnets in + # [Domain].[authorized_networks]. + # Corresponds to the JSON property `reservedIpRange` + # @return [String] + attr_accessor :reserved_ip_range + + # Output only. The current state of this domain. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Additional information about the current status of this + # domain, if available. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # Output only. The current trusts associated with the domain. + # Corresponds to the JSON property `trusts` + # @return [Array] + attr_accessor :trusts + + # Output only. Last update time. Synthetic field is populated automatically + # by CCFE. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks) + @create_time = args[:create_time] if args.key?(:create_time) + @fqdn = args[:fqdn] if args.key?(:fqdn) + @labels = args[:labels] if args.key?(:labels) + @locations = args[:locations] if args.key?(:locations) + @managed_identities_admin_name = args[:managed_identities_admin_name] if args.key?(:managed_identities_admin_name) + @name = args[:name] if args.key?(:name) + @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range) + @state = args[:state] if args.key?(:state) + @status_message = args[:status_message] if args.key?(:status_message) + @trusts = args[:trusts] if args.key?(:trusts) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A generic empty message that you can re-use to avoid defining duplicated + # empty messages in your APIs. A typical example is to use it as the request + # or the response type of an API method. For instance: + # service Foo ` + # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + # ` + # The JSON representation for `Empty` is empty JSON object ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + class Expr + include Google::Apis::Core::Hashable + + # Optional. Description of the expression. This is a longer text which + # describes the expression, e.g. when hovered over it in a UI. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Textual representation of an expression in Common Expression Language + # syntax. + # Corresponds to the JSON property `expression` + # @return [String] + attr_accessor :expression + + # Optional. String indicating the location of the expression for error + # reporting, e.g. a file name and a position in the file. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # Optional. Title for the expression, i.e. a short string describing + # its purpose. This can be used e.g. in UIs which allow to enter the + # expression. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @expression = args[:expression] if args.key?(:expression) + @location = args[:location] if args.key?(:location) + @title = args[:title] if args.key?(:title) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudManagedidentitiesV1OpMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudManagedidentitiesV1beta1OpMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Instance represents the interface for SLM services to actuate the state + # of control plane resources. + # Example Instance in JSON, where + # consumer-project=snapchat, + # producer-project=cloud-sql: + # ```json + # Instance: + # ` + # "name": + # "projects/snapchat/locations/us-east1/instances/prod-instance", + # "create_time": ` + # "seconds": 1526406431, + # `, + # "labels": ` + # "env": "prod", + # "foo": "bar" + # `, + # "state": READY, + # "software_versions": ` + # "software_update": "cloud-sql-09-28-2018", + # `, + # "maintenance_policy_names": ` + # "UpdatePolicy": + # "projects/snapchat/locations/us-east1/maintenancePolicies/prod-update- + # policy", + # ` + # "tenant_project_id": "cloud-sql-test-tenant", + # "producer_metadata": ` + # "cloud-sql-tier": "basic", + # "cloud-sql-instance-size": "1G", + # `, + # "provisioned_resources": [ + # ` + # "resource-type": "compute-instance", + # "resource-url": + # "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1- + # b/instances/vm-1", + # ` + # ], + # "maintenance_schedules": ` + # "csa_rollout": ` + # "start_time": ` + # "seconds": 1526406431, + # `, + # "end_time": ` + # "seconds": 1535406431, + # `, + # `, + # "ncsa_rollout": ` + # "start_time": ` + # "seconds": 1526406431, + # `, + # "end_time": ` + # "seconds": 1535406431, + # `, + # ` + # `, + # "consumer_defined_name": "my-sql-instance1", + # ` + # ``` + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + include Google::Apis::Core::Hashable + + # consumer_defined_name is the name that is set by the consumer. On the other + # hand Name field represents system-assigned id of an instance so consumers + # are not necessarily aware of it. + # consumer_defined_name is used for notification/UI purposes for consumer to + # recognize their instances. + # Corresponds to the JSON property `consumerDefinedName` + # @return [String] + attr_accessor :consumer_defined_name + + # Output only. Timestamp when the resource was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. Resource labels to represent user provided metadata. Each label + # is a key-value pair, where both the key and the value are arbitrary strings + # provided by the user. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The MaintenancePolicies that have been attached to the instance. + # The key must be of the type name of the oneof policy name defined in + # MaintenancePolicy, and the referenced policy must define the same policy + # type. For complete details of MaintenancePolicy, please refer to + # go/cloud-saas-mw-ug. + # Corresponds to the JSON property `maintenancePolicyNames` + # @return [Hash] + attr_accessor :maintenance_policy_names + + # The MaintenanceSchedule contains the scheduling information of published + # maintenance schedule. + # Corresponds to the JSON property `maintenanceSchedules` + # @return [Hash] + attr_accessor :maintenance_schedules + + # Unique name of the resource. It uses the form: + # `projects/`project_id`/locations/`location_id`/instances/`instance_id`` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. Custom string attributes used primarily to expose + # producer-specific information in monitoring dashboards. + # See go/get-instance-metadata. + # Corresponds to the JSON property `producerMetadata` + # @return [Hash] + attr_accessor :producer_metadata + + # Output only. The list of data plane resources provisioned for this + # instance, e.g. compute VMs. See go/get-instance-metadata. + # Corresponds to the JSON property `provisionedResources` + # @return [Array] + attr_accessor :provisioned_resources + + # The map between RolloutType and the corresponding RolloutMetadata. + # This is only mutated by rollout service. For actuation implementation, + # this information is pass-through for Rollout management. Producer shall + # not modify by itself. + # For update of a single entry in this map, the update field mask shall + # follow this sementics: go/advanced-field-masks + # Corresponds to the JSON property `rolloutMetadata` + # @return [Hash] + attr_accessor :rollout_metadata + + # Link to the SLM instance template. Only populated when updating SLM + # instances via SSA's Actuation service adaptor. + # Service producers with custom control plane (e.g. Cloud SQL) doesn't + # need to populate this field. Instead they should use software_versions. + # Corresponds to the JSON property `slmInstanceTemplate` + # @return [String] + attr_accessor :slm_instance_template + + # SloMetadata contains resources required for proper SLO classification of the + # instance. + # Corresponds to the JSON property `sloMetadata` + # @return [Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata] + attr_accessor :slo_metadata + + # Software versions that are used to deploy this instance. This can be + # mutated by rollout services. + # Corresponds to the JSON property `softwareVersions` + # @return [Hash] + attr_accessor :software_versions + + # Output only. Current lifecycle state of the resource (e.g. if it's being + # created or ready to use). + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. ID of the associated GCP tenant project. + # See go/get-instance-metadata. + # Corresponds to the JSON property `tenantProjectId` + # @return [String] + attr_accessor :tenant_project_id + + # Output only. Timestamp when the resource was last modified. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name) + @create_time = args[:create_time] if args.key?(:create_time) + @labels = args[:labels] if args.key?(:labels) + @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names) + @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules) + @name = args[:name] if args.key?(:name) + @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata) + @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources) + @rollout_metadata = args[:rollout_metadata] if args.key?(:rollout_metadata) + @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template) + @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata) + @software_versions = args[:software_versions] if args.key?(:software_versions) + @state = args[:state] if args.key?(:state) + @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Maintenance schedule which is exposed to customer and potentially end user, + # indicating published upcoming future maintenance schedule + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + include Google::Apis::Core::Hashable + + # Can this scheduled update be rescheduled? + # By default, it's true and API needs to do explicitly check whether it's + # set, if it's set as false explicitly, it's false + # Corresponds to the JSON property `canReschedule` + # @return [Boolean] + attr_accessor :can_reschedule + alias_method :can_reschedule?, :can_reschedule + + # The scheduled end time for the maintenance. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The rollout management policy this maintenance schedule is associated + # with. When doing reschedule update request, the reschedule should be + # against this given policy. + # Corresponds to the JSON property `rolloutManagementPolicy` + # @return [String] + attr_accessor :rollout_management_policy + + # The scheduled start time for the maintenance. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule) + @end_time = args[:end_time] if args.key?(:end_time) + @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy) + @start_time = args[:start_time] if args.key?(:start_time) + end + end + + # Node information for custom per-node SLO implementations. + # SSA does not support per-node SLO, but producers can populate per-node + # information in SloMetadata for custom precomputations. + # SSA Eligibility Exporter will emit per-node metric based on this information. + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + include Google::Apis::Core::Hashable + + # By default node is eligible if instance is eligible. + # But individual node might be excluded from SLO by adding entry here. + # For semantic see SloMetadata.exclusions. + # If both instance and node level exclusions are present for time period, + # the node level's reason will be reported by Eligibility Exporter. + # Corresponds to the JSON property `exclusions` + # @return [Array] + attr_accessor :exclusions + + # The location of the node, if different from instance location. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # The id of the node. + # This should be equal to SaasInstanceNode.node_id. + # Corresponds to the JSON property `nodeId` + # @return [String] + attr_accessor :node_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exclusions = args[:exclusions] if args.key?(:exclusions) + @location = args[:location] if args.key?(:location) + @node_id = args[:node_id] if args.key?(:node_id) + end + end + + # This message has been deprecated. + # NotificationMetadata is the notification state for an instance. + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + include Google::Apis::Core::Hashable + + # Whether the instance update has been rescheduled. + # Corresponds to the JSON property `rescheduled` + # @return [Boolean] + attr_accessor :rescheduled + alias_method :rescheduled?, :rescheduled + + # The scheduled end time for the maintenance window during which update + # can be performed on the instance. + # Corresponds to the JSON property `scheduledEndTime` + # @return [String] + attr_accessor :scheduled_end_time + + # The scheduled start time for the maintenance window during which + # update can be performed on the instance. + # Corresponds to the JSON property `scheduledStartTime` + # @return [String] + attr_accessor :scheduled_start_time + + # The target release to be applied to the instance. + # Corresponds to the JSON property `targetRelease` + # @return [String] + attr_accessor :target_release + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @rescheduled = args[:rescheduled] if args.key?(:rescheduled) + @scheduled_end_time = args[:scheduled_end_time] if args.key?(:scheduled_end_time) + @scheduled_start_time = args[:scheduled_start_time] if args.key?(:scheduled_start_time) + @target_release = args[:target_release] if args.key?(:target_release) + end + end + + # Describes provisioned dataplane resources. + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + include Google::Apis::Core::Hashable + + # Type of the resource. This can be either a GCP resource or a custom one + # (e.g. another cloud provider's VM). For GCP compute resources use singular + # form of the names listed in GCP compute API documentation + # (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with + # 'compute-', for example: 'compute-instance', 'compute-disk', + # 'compute-autoscaler'. + # Corresponds to the JSON property `resourceType` + # @return [String] + attr_accessor :resource_type + + # URL identifying the resource, e.g. + # "https://www.googleapis.com/compute/v1/projects/...)". + # Corresponds to the JSON property `resourceUrl` + # @return [String] + attr_accessor :resource_url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_type = args[:resource_type] if args.key?(:resource_type) + @resource_url = args[:resource_url] if args.key?(:resource_url) + end + end + + # This message has been deprecated. + # RolloutMetadata for an actuation instance. It maps to a single RolloutType. + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + include Google::Apis::Core::Hashable + + # This message has been deprecated. + # NotificationMetadata is the notification state for an instance. + # Corresponds to the JSON property `notification` + # @return [Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata] + attr_accessor :notification + + # The last Release that has been applied to the instance. + # Corresponds to the JSON property `releaseName` + # @return [String] + attr_accessor :release_name + + # The last rollout that has been applied to the instance. + # Corresponds to the JSON property `rolloutName` + # @return [String] + attr_accessor :rollout_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @notification = args[:notification] if args.key?(:notification) + @release_name = args[:release_name] if args.key?(:release_name) + @rollout_name = args[:rollout_name] if args.key?(:rollout_name) + end + end + + # SloEligibility is a tuple containing eligibility value: true if an instance + # is eligible for SLO calculation or false if it should be excluded from all + # SLO-related calculations along with a user-defined reason. + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + include Google::Apis::Core::Hashable + + # Whether an instance is eligible or ineligible. + # Corresponds to the JSON property `eligible` + # @return [Boolean] + attr_accessor :eligible + alias_method :eligible?, :eligible + + # User-defined reason for the current value of instance eligibility. Usually, + # this can be directly mapped to the internal state. An empty reason is + # allowed. + # Corresponds to the JSON property `reason` + # @return [String] + attr_accessor :reason + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @eligible = args[:eligible] if args.key?(:eligible) + @reason = args[:reason] if args.key?(:reason) + end + end + + # SloExclusion represents an exclusion in SLI calculation applies to all SLOs. + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + include Google::Apis::Core::Hashable + + # Exclusion duration. No restrictions on the possible values. + # When an ongoing operation is taking longer than initially expected, + # an existing entry in the exclusion list can be updated by extending the + # duration. This is supported by the subsystem exporting eligibility data + # as long as such extension is committed at least 10 minutes before the + # original exclusion expiration - otherwise it is possible that there will + # be "gaps" in the exclusion application in the exported timeseries. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # Human-readable reason for the exclusion. + # This should be a static string (e.g. "Disruptive update in progress") + # and should not contain dynamically generated data (e.g. instance name). + # Can be left empty. + # Corresponds to the JSON property `reason` + # @return [String] + attr_accessor :reason + + # Name of an SLI that this exclusion applies to. Can be left empty, + # signaling that the instance should be excluded from all SLIs defined + # in the service SLO configuration. + # Corresponds to the JSON property `sliName` + # @return [String] + attr_accessor :sli_name + + # Start time of the exclusion. No alignment (e.g. to a full minute) needed. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @duration = args[:duration] if args.key?(:duration) + @reason = args[:reason] if args.key?(:reason) + @sli_name = args[:sli_name] if args.key?(:sli_name) + @start_time = args[:start_time] if args.key?(:start_time) + end + end + + # SloMetadata contains resources required for proper SLO classification of the + # instance. + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + include Google::Apis::Core::Hashable + + # SloEligibility is a tuple containing eligibility value: true if an instance + # is eligible for SLO calculation or false if it should be excluded from all + # SLO-related calculations along with a user-defined reason. + # Corresponds to the JSON property `eligibility` + # @return [Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility] + attr_accessor :eligibility + + # List of SLO exclusion windows. When multiple entries in the list match + # (matching the exclusion time-window against current time point) + # the exclusion reason used in the first matching entry will be published. + # It is not needed to include expired exclusion in this list, as only the + # currently applicable exclusions are taken into account by the eligibility + # exporting subsystem (the historical state of exclusions will be reflected + # in the historically produced timeseries regardless of the current state). + # This field can be used to mark the instance as temporary ineligible + # for the purpose of SLO calculation. For permanent instance SLO exclusion, + # use of custom instance eligibility is recommended. See 'eligibility' field + # below. + # Corresponds to the JSON property `exclusions` + # @return [Array] + attr_accessor :exclusions + + # Optional. List of nodes. + # Some producers need to use per-node metadata to calculate SLO. + # This field allows such producers to publish per-node SLO meta data, + # which will be consumed by SSA Eligibility Exporter and published in the + # form of per node metric to Monarch. + # Corresponds to the JSON property `nodes` + # @return [Array] + attr_accessor :nodes + + # Name of the SLO tier the Instance belongs to. This name will be expected to + # match the tiers specified in the service SLO configuration. + # Field is mandatory and must not be empty. + # Corresponds to the JSON property `tier` + # @return [String] + attr_accessor :tier + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @eligibility = args[:eligibility] if args.key?(:eligibility) + @exclusions = args[:exclusions] if args.key?(:exclusions) + @nodes = args[:nodes] if args.key?(:nodes) + @tier = args[:tier] if args.key?(:tier) + end + end + + # + class ListDomainsResponse + include Google::Apis::Core::Hashable + + # A list of Managed Identities Service domains in the project. + # Corresponds to the JSON property `domains` + # @return [Array] + attr_accessor :domains + + # Token to retrieve the next page of results, or empty if there are no more + # results in the list. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # Locations that could not be reached. + # Corresponds to the JSON property `unreachable` + # @return [Array] + attr_accessor :unreachable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @domains = args[:domains] if args.key?(:domains) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable = args[:unreachable] if args.key?(:unreachable) + end + end + + # The response message for Locations.ListLocations. + class ListLocationsResponse + include Google::Apis::Core::Hashable + + # A list of locations that matches the specified filter in the request. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @locations = args[:locations] if args.key?(:locations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # The response message for Operations.ListOperations. + class ListOperationsResponse + include Google::Apis::Core::Hashable + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of operations that matches the specified filter in the request. + # Corresponds to the JSON property `operations` + # @return [Array] + attr_accessor :operations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operations = args[:operations] if args.key?(:operations) + end + end + + # A resource that represents Google Cloud Platform location. + class Location + include Google::Apis::Core::Hashable + + # The friendly name for this location, typically a nearby city name. + # For example, "Tokyo". + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Cross-service attributes for the location. For example + # `"cloud.googleapis.com/region": "us-east1"` + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The canonical id for this location. For example: `"us-east1"`. + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id + + # Service-specific metadata. For example the available capacity at the given + # location. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # Resource name for the location, which may vary between implementations. + # For example: `"projects/example-project/locations/us-east1"` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @location_id = args[:location_id] if args.key?(:location_id) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + end + end + + # This resource represents a long-running operation that is the result of a + # network API call. + class Operation + include Google::Apis::Core::Hashable + + # If the value is `false`, it means the operation is still in progress. + # If `true`, the operation is completed, and either `error` or `response` is + # available. + # Corresponds to the JSON property `done` + # @return [Boolean] + attr_accessor :done + alias_method :done?, :done + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::ManagedidentitiesV1alpha1::Status] + attr_accessor :error + + # Service-specific metadata associated with the operation. It typically + # contains progress information and common metadata such as create time. + # Some services might not provide such metadata. Any method that returns a + # long-running operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # The server-assigned name, which is only unique within the same service that + # originally returns it. If you use the default HTTP mapping, the + # `name` should be a resource name ending with `operations/`unique_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The normal response of the operation in case of success. If the original + # method returns no data on success, such as `Delete`, the response is + # `google.protobuf.Empty`. If the original method is standard + # `Get`/`Create`/`Update`, the response should be the resource. For other + # methods, the response should have the type `XxxResponse`, where `Xxx` + # is the original method name. For example, if the original method name + # is `TakeSnapshot()`, the inferred response type is + # `TakeSnapshotResponse`. + # Corresponds to the JSON property `response` + # @return [Hash] + attr_accessor :response + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @done = args[:done] if args.key?(:done) + @error = args[:error] if args.key?(:error) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + @response = args[:response] if args.key?(:response) + end + end + + # Represents the metadata of the long-running operation. + class OperationMetadata + include Google::Apis::Core::Hashable + + # [Output only] API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # [Output only] Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `cancelRequested` + # @return [Boolean] + attr_accessor :cancel_requested + alias_method :cancel_requested?, :cancel_requested + + # [Output only] The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # [Output only] The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # [Output only] Human-readable status of the operation, if any. + # Corresponds to the JSON property `statusDetail` + # @return [String] + attr_accessor :status_detail + + # [Output only] Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # [Output only] Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @status_detail = args[:status_detail] if args.key?(:status_detail) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + class Policy + include Google::Apis::Core::Hashable + + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # `etag` is used for optimistic concurrency control as a way to help + # prevent simultaneous updates of a policy from overwriting each other. + # It is strongly suggested that systems make use of the `etag` in the + # read-modify-write cycle to perform policy updates in order to avoid race + # conditions: An `etag` is returned in the response to `getIamPolicy`, and + # systems are expected to put that etag in the request to `setIamPolicy` to + # ensure that their change will be applied to the same version of the policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Specifies the format of the policy. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. + # Corresponds to the JSON property `version` + # @return [Fixnum] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @version = args[:version] if args.key?(:version) + end + end + + # + class ReconfigureTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains which makes it possible + # for users in one domain to be authenticated by a dc in another domain. + # Refer + # https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows- + # server-2008-R2-and-2008/cc731335(v%3dws.10) + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1alpha1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # + class ResetAdminPasswordRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # + class ResetAdminPasswordResponse + include Google::Apis::Core::Hashable + + # A random password. See admin for more information. + # Corresponds to the JSON property `password` + # @return [String] + attr_accessor :password + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @password = args[:password] if args.key?(:password) + end + end + + # Request message for `SetIamPolicy` method. + class SetIamPolicyRequest + include Google::Apis::Core::Hashable + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ManagedidentitiesV1alpha1::Policy] + attr_accessor :policy + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @policy = args[:policy] if args.key?(:policy) + end + end + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + class Status + include Google::Apis::Core::Hashable + + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code + + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + # Corresponds to the JSON property `details` + # @return [Array>] + attr_accessor :details + + # A developer-facing error message, which should be in English. Any + # user-facing error message should be localized and sent in the + # google.rpc.Status.details field, or localized by the client. + # 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) + @details = args[:details] if args.key?(:details) + @message = args[:message] if args.key?(:message) + end + end + + # Request message for `TestIamPermissions` method. + class TestIamPermissionsRequest + include Google::Apis::Core::Hashable + + # The set of permissions to check for the `resource`. Permissions with + # wildcards (such as '*' or 'storage.*') are not allowed. For more + # information see + # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Response message for `TestIamPermissions` method. + class TestIamPermissionsResponse + include Google::Apis::Core::Hashable + + # A subset of `TestPermissionsRequest.permissions` that the caller is + # allowed. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Represents a relationship between two domains which makes it possible + # for users in one domain to be authenticated by a dc in another domain. + # Refer + # https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows- + # server-2008-R2-and-2008/cc731335(v%3dws.10) + class TrustProp + include Google::Apis::Core::Hashable + + # Output only. The time the instance was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The last heartbeat time when the trust was known to be + # connected. + # Corresponds to the JSON property `lastKnownTrustConnectedHeartbeatTime` + # @return [String] + attr_accessor :last_known_trust_connected_heartbeat_time + + # The trust authentication type which decides whether the trusted side has + # forest/domain wide access or selective access to approved set of resources. + # Corresponds to the JSON property `selectiveAuthentication` + # @return [Boolean] + attr_accessor :selective_authentication + alias_method :selective_authentication?, :selective_authentication + + # Output only. The current state of this trust. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Additional information about the current state of this + # trust, if available. + # Corresponds to the JSON property `stateDescription` + # @return [String] + attr_accessor :state_description + + # The target dns server ip addresses which can resolve the remote domain + # involved in trust. + # Corresponds to the JSON property `targetDnsIpAddresses` + # @return [Array] + attr_accessor :target_dns_ip_addresses + + # The fully qualified target domain name which will be in trust with current + # domain. + # Corresponds to the JSON property `targetDomainName` + # @return [String] + attr_accessor :target_domain_name + + # The trust direction decides the current domain is trusted, trusting or + # both. + # Corresponds to the JSON property `trustDirection` + # @return [String] + attr_accessor :trust_direction + + # Input only, and will not be stored. The trust secret used for handshake + # with target domain. + # Corresponds to the JSON property `trustHandshakeSecret` + # @return [String] + attr_accessor :trust_handshake_secret + + # The type of trust represented by the trust resource. + # Corresponds to the JSON property `trustType` + # @return [String] + attr_accessor :trust_type + + # Output only. Last update time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @last_known_trust_connected_heartbeat_time = args[:last_known_trust_connected_heartbeat_time] if args.key?(:last_known_trust_connected_heartbeat_time) + @selective_authentication = args[:selective_authentication] if args.key?(:selective_authentication) + @state = args[:state] if args.key?(:state) + @state_description = args[:state_description] if args.key?(:state_description) + @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses) + @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name) + @trust_direction = args[:trust_direction] if args.key?(:trust_direction) + @trust_handshake_secret = args[:trust_handshake_secret] if args.key?(:trust_handshake_secret) + @trust_type = args[:trust_type] if args.key?(:trust_type) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # + class ValidateTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains which makes it possible + # for users in one domain to be authenticated by a dc in another domain. + # Refer + # https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows- + # server-2008-R2-and-2008/cc731335(v%3dws.10) + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1alpha1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1alpha1/representations.rb b/generated/google/apis/managedidentities_v1alpha1/representations.rb new file mode 100644 index 000000000..6a2687ccf --- /dev/null +++ b/generated/google/apis/managedidentities_v1alpha1/representations.rb @@ -0,0 +1,576 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1alpha1 + + class AttachTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Binding + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CancelOperationRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DetachTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Domain + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Empty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Expr + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudManagedidentitiesV1OpMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudManagedidentitiesV1beta1OpMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListDomainsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListLocationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListOperationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Location + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Operation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Policy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReconfigureTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResetAdminPasswordRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResetAdminPasswordResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SetIamPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Status + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TrustProp + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ValidateTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AttachTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1alpha1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1alpha1::TrustProp::Representation + + end + end + + class Binding + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :condition, as: 'condition', class: Google::Apis::ManagedidentitiesV1alpha1::Expr, decorator: Google::Apis::ManagedidentitiesV1alpha1::Expr::Representation + + collection :members, as: 'members' + property :role, as: 'role' + end + end + + class CancelOperationRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class DetachTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1alpha1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1alpha1::TrustProp::Representation + + end + end + + class Domain + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :authorized_networks, as: 'authorizedNetworks' + property :create_time, as: 'createTime' + property :fqdn, as: 'fqdn' + hash :labels, as: 'labels' + collection :locations, as: 'locations' + property :managed_identities_admin_name, as: 'managedIdentitiesAdminName' + property :name, as: 'name' + property :reserved_ip_range, as: 'reservedIpRange' + property :state, as: 'state' + property :status_message, as: 'statusMessage' + collection :trusts, as: 'trusts', class: Google::Apis::ManagedidentitiesV1alpha1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1alpha1::TrustProp::Representation + + property :update_time, as: 'updateTime' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class Expr + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :expression, as: 'expression' + property :location, as: 'location' + property :title, as: 'title' + end + end + + class GoogleCloudManagedidentitiesV1OpMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class GoogleCloudManagedidentitiesV1beta1OpMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :consumer_defined_name, as: 'consumerDefinedName' + property :create_time, as: 'createTime' + hash :labels, as: 'labels' + hash :maintenance_policy_names, as: 'maintenancePolicyNames' + hash :maintenance_schedules, as: 'maintenanceSchedules', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule::Representation + + property :name, as: 'name' + hash :producer_metadata, as: 'producerMetadata' + collection :provisioned_resources, as: 'provisionedResources', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource::Representation + + hash :rollout_metadata, as: 'rolloutMetadata', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata::Representation + + property :slm_instance_template, as: 'slmInstanceTemplate' + property :slo_metadata, as: 'sloMetadata', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata::Representation + + hash :software_versions, as: 'softwareVersions' + property :state, as: 'state' + property :tenant_project_id, as: 'tenantProjectId' + property :update_time, as: 'updateTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :can_reschedule, as: 'canReschedule' + property :end_time, as: 'endTime' + property :rollout_management_policy, as: 'rolloutManagementPolicy' + property :start_time, as: 'startTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :exclusions, as: 'exclusions', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion::Representation + + property :location, as: 'location' + property :node_id, as: 'nodeId' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :rescheduled, as: 'rescheduled' + property :scheduled_end_time, as: 'scheduledEndTime' + property :scheduled_start_time, as: 'scheduledStartTime' + property :target_release, as: 'targetRelease' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource_type, as: 'resourceType' + property :resource_url, as: 'resourceUrl' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :notification, as: 'notification', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata::Representation + + property :release_name, as: 'releaseName' + property :rollout_name, as: 'rolloutName' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :eligible, as: 'eligible' + property :reason, as: 'reason' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :duration, as: 'duration' + property :reason, as: 'reason' + property :sli_name, as: 'sliName' + property :start_time, as: 'startTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :eligibility, as: 'eligibility', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility::Representation + + collection :exclusions, as: 'exclusions', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion::Representation + + collection :nodes, as: 'nodes', class: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata, decorator: Google::Apis::ManagedidentitiesV1alpha1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata::Representation + + property :tier, as: 'tier' + end + end + + class ListDomainsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :domains, as: 'domains', class: Google::Apis::ManagedidentitiesV1alpha1::Domain, decorator: Google::Apis::ManagedidentitiesV1alpha1::Domain::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable, as: 'unreachable' + end + end + + class ListLocationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :locations, as: 'locations', class: Google::Apis::ManagedidentitiesV1alpha1::Location, decorator: Google::Apis::ManagedidentitiesV1alpha1::Location::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ListOperationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :operations, as: 'operations', class: Google::Apis::ManagedidentitiesV1alpha1::Operation, decorator: Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + + end + end + + class Location + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :location_id, as: 'locationId' + hash :metadata, as: 'metadata' + property :name, as: 'name' + end + end + + class Operation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :done, as: 'done' + property :error, as: 'error', class: Google::Apis::ManagedidentitiesV1alpha1::Status, decorator: Google::Apis::ManagedidentitiesV1alpha1::Status::Representation + + hash :metadata, as: 'metadata' + property :name, as: 'name' + hash :response, as: 'response' + end + end + + class OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :cancel_requested, as: 'cancelRequested' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :status_detail, as: 'statusDetail' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class Policy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bindings, as: 'bindings', class: Google::Apis::ManagedidentitiesV1alpha1::Binding, decorator: Google::Apis::ManagedidentitiesV1alpha1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :version, as: 'version' + end + end + + class ReconfigureTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1alpha1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1alpha1::TrustProp::Representation + + end + end + + class ResetAdminPasswordRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ResetAdminPasswordResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :password, as: 'password' + end + end + + class SetIamPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :policy, as: 'policy', class: Google::Apis::ManagedidentitiesV1alpha1::Policy, decorator: Google::Apis::ManagedidentitiesV1alpha1::Policy::Representation + + end + end + + class Status + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :details, as: 'details' + property :message, as: 'message' + end + end + + class TestIamPermissionsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TestIamPermissionsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TrustProp + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :last_known_trust_connected_heartbeat_time, as: 'lastKnownTrustConnectedHeartbeatTime' + property :selective_authentication, as: 'selectiveAuthentication' + property :state, as: 'state' + property :state_description, as: 'stateDescription' + collection :target_dns_ip_addresses, as: 'targetDnsIpAddresses' + property :target_domain_name, as: 'targetDomainName' + property :trust_direction, as: 'trustDirection' + property :trust_handshake_secret, as: 'trustHandshakeSecret' + property :trust_type, as: 'trustType' + property :update_time, as: 'updateTime' + end + end + + class ValidateTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1alpha1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1alpha1::TrustProp::Representation + + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1alpha1/service.rb b/generated/google/apis/managedidentities_v1alpha1/service.rb new file mode 100644 index 000000000..2627a2e87 --- /dev/null +++ b/generated/google/apis/managedidentities_v1alpha1/service.rb @@ -0,0 +1,782 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1alpha1 + # Managed Service for Microsoft Active Directory API + # + # The Managed Service for Microsoft Active Directory API is used for managing a + # highly available, hardened service running Microsoft Active Directory (AD). + # + # @example + # require 'google/apis/managedidentities_v1alpha1' + # + # Managedidentities = Google::Apis::ManagedidentitiesV1alpha1 # Alias the module + # service = Managedidentities::ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService.new + # + # @see https://cloud.google.com/managed-microsoft-ad/ + class ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://managedidentities.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets information about a location. + # @param [String] name + # Resource name for the location. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Location] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Location] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Location::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Location + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists information about the supported locations for this service. + # @param [String] name + # The resource that owns the locations collection, if applicable. + # @param [String] filter + # The standard list filter. + # @param [Boolean] include_unrevealed_locations + # If true, the returned list will include locations which are not yet + # revealed. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::ListLocationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::ListLocationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_locations(name, filter: nil, include_unrevealed_locations: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+name}/locations', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::ListLocationsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::ListLocationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['includeUnrevealedLocations'] = include_unrevealed_locations unless include_unrevealed_locations.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Adds AD trust in a given domain. + # Operation + # @param [String] name + # The resource domain name, project name and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1alpha1::AttachTrustRequest] attach_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def attach_domain_trust(name, attach_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+name}:attachTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::AttachTrustRequest::Representation + command.request_object = attach_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a Microsoft AD Domain in a given project. + # Operation + # @param [String] parent + # Resource project name and location using the form: + # `projects/`project_id`/locations/global` + # @param [Google::Apis::ManagedidentitiesV1alpha1::Domain] domain_object + # @param [String] domain_name + # The fully qualified domain name. + # e.g. mydomain.myorganization.com, with the following restrictions: + # * Must contain only lowercase letters, numbers, periods and hyphens. + # * Must start with a letter. + # * Must contain between 2-64 characters. + # * Must end with a number or a letter. + # * Must not start with period. + # * Must be unique within the project. + # * First segement length (mydomain form example above) shouldn't exceed + # 15 chars. + # * The last segment cannot be fully numeric. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_global_domain(parent, domain_object = nil, domain_name: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+parent}/domains', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::Domain::Representation + command.request_object = domain_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['parent'] = parent unless parent.nil? + command.query['domainName'] = domain_name unless domain_name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes identified domain. + # Operation + # @param [String] name + # Domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::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_project_location_global_domain(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1alpha1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Removes identified trust. + # Operation + # @param [String] name + # The resource domain name, project name, and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1alpha1::DetachTrustRequest] detach_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def detach_domain_trust(name, detach_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+name}:detachTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::DetachTrustRequest::Representation + command.request_object = detach_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets details of a single Domain. + # @param [String] name + # Domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Domain] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Domain] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_domain(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Domain::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Domain + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. + # Returns an empty policy if the resource exists and does not have a policy + # set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. + # See the operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_domain_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Policy::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists Domains in a given project. + # @param [String] parent + # Required. The resource name of the domain location using the form: + # `projects/`project_id`/locations/global` + # @param [String] filter + # Optional. Filter specifying constraints of a list operation. + # For example, `Domain.fqdn="mydomain.myorginization"`. + # @param [String] order_by + # Optional. Specifies the ordering of results following syntax at + # https://cloud.google.com/apis/design/design_patterns#sorting_order. + # @param [Fixnum] page_size + # If not specified, a default value of 1000 will be used by the service. + # Regardless of the page_size value, the response may include a partial list + # and a caller should only rely on response's + # next_page_token + # to determine if there are more instances left to be queried. + # @param [String] page_token + # The next_page_token value returned from a previous List request, if any. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::ListDomainsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::ListDomainsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_global_domains(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+parent}/domains', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::ListDomainsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::ListDomainsResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the metadata and configuration of a specified domain. + # Operation + # @param [String] name + # Output only. Unique name of the domain in this scope including projects and + # location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name``. + # @param [Google::Apis::ManagedidentitiesV1alpha1::Domain] domain_object + # @param [String] update_mask + # Mask of fields to update. At least one path must be supplied in this + # field. The elements of the repeated paths field may only include these + # fields from Domain: + # * `labels` + # * `locations` + # * `authorized_networks` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_global_domain(name, domain_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1alpha1/{+name}', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::Domain::Representation + command.request_object = domain_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the dns conditional forwarder. + # Operation + # @param [String] name + # The resource domain name, project name and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1alpha1::ReconfigureTrustRequest] reconfigure_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::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 reconfigure_domain_trust(name, reconfigure_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+name}:reconfigureTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::ReconfigureTrustRequest::Representation + command.request_object = reconfigure_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Resets managed identities admin password identified by + # managed_identities_admin_name + # @param [String] name + # The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1alpha1::ResetAdminPasswordRequest] reset_admin_password_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::ResetAdminPasswordResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::ResetAdminPasswordResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def reset_domain_admin_password(name, reset_admin_password_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+name}:resetAdminPassword', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::ResetAdminPasswordRequest::Representation + command.request_object = reset_admin_password_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::ResetAdminPasswordResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::ResetAdminPasswordResponse + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. + # See the operation documentation for the appropriate value for this field. + # @param [Google::Apis::ManagedidentitiesV1alpha1::SetIamPolicyRequest] set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_domain_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::SetIamPolicyRequest::Representation + command.request_object = set_iam_policy_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Policy::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. + # If the resource does not exist, this will return an empty set of + # permissions, not a NOT_FOUND error. + # Note: This operation is designed to be used for building permission-aware + # UIs and command-line tools, not for authorization checking. This operation + # may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. + # See the operation documentation for the appropriate value for this field. + # @param [Google::Apis::ManagedidentitiesV1alpha1::TestIamPermissionsRequest] test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::TestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::TestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_domain_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::TestIamPermissionsRequest::Representation + command.request_object = test_iam_permissions_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::TestIamPermissionsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::TestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Validate the trust state + # Operation + # @param [String] name + # The resource domain name, project name, and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1alpha1::ValidateTrustRequest] validate_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::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 validate_domain_trust(name, validate_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+name}:validateTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::ValidateTrustRequest::Representation + command.request_object = validate_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts asynchronous cancellation on a long-running operation. The server + # makes a best effort to cancel the operation, but success is not + # guaranteed. If the server doesn't support this method, it returns + # `google.rpc.Code.UNIMPLEMENTED`. Clients can use + # Operations.GetOperation or + # other methods to check whether the cancellation succeeded or whether the + # operation completed despite cancellation. On successful cancellation, + # the operation is not deleted; instead, it becomes an operation with + # an Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # @param [String] name + # The name of the operation resource to be cancelled. + # @param [Google::Apis::ManagedidentitiesV1alpha1::CancelOperationRequest] cancel_operation_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1alpha1/{+name}:cancel', options) + command.request_representation = Google::Apis::ManagedidentitiesV1alpha1::CancelOperationRequest::Representation + command.request_object = cancel_operation_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Empty::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a long-running operation. This method indicates that the client is + # no longer interested in the operation result. It does not cancel the + # operation. If the server doesn't support this method, it returns + # `google.rpc.Code.UNIMPLEMENTED`. + # @param [String] name + # The name of the operation resource to be deleted. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_global_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1alpha1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Empty::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the latest state of a long-running operation. Clients can use this + # method to poll the operation result at intervals as recommended by the API + # service. + # @param [String] name + # The name of the operation resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists operations that match the specified filter in the request. If the + # server doesn't support this method, it returns `UNIMPLEMENTED`. + # NOTE: the `name` binding allows API services to override the binding + # to use different resource name schemes, such as `users/*/operations`. To + # override the binding, API services can add a binding such as + # `"/v1/`name=users/*`/operations"` to their service configuration. + # For backwards compatibility, the default name includes the operations + # collection id, however overriding users must ensure the name binding + # is the parent resource, without the operations collection id. + # @param [String] name + # The name of the operation's parent resource. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1alpha1::ListOperationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1alpha1::ListOperationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_global_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1alpha1/{+name}/operations', options) + command.response_representation = Google::Apis::ManagedidentitiesV1alpha1::ListOperationsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1alpha1::ListOperationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1beta1.rb b/generated/google/apis/managedidentities_v1beta1.rb new file mode 100644 index 000000000..4fdb3a01f --- /dev/null +++ b/generated/google/apis/managedidentities_v1beta1.rb @@ -0,0 +1,35 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/managedidentities_v1beta1/service.rb' +require 'google/apis/managedidentities_v1beta1/classes.rb' +require 'google/apis/managedidentities_v1beta1/representations.rb' + +module Google + module Apis + # Managed Service for Microsoft Active Directory API + # + # The Managed Service for Microsoft Active Directory API is used for managing a + # highly available, hardened service running Microsoft Active Directory (AD). + # + # @see https://cloud.google.com/managed-microsoft-ad/ + module ManagedidentitiesV1beta1 + VERSION = 'V1beta1' + REVISION = '20200219' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + end + end +end diff --git a/generated/google/apis/managedidentities_v1beta1/classes.rb b/generated/google/apis/managedidentities_v1beta1/classes.rb new file mode 100644 index 000000000..b2a86ef69 --- /dev/null +++ b/generated/google/apis/managedidentities_v1beta1/classes.rb @@ -0,0 +1,1659 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1beta1 + + # Request message for + # AttachTrust + class AttachTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1beta1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # Associates `members` with a `role`. + class Binding + include Google::Apis::Core::Hashable + + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + # Corresponds to the JSON property `condition` + # @return [Google::Apis::ManagedidentitiesV1beta1::Expr] + attr_accessor :condition + + # Specifies the identities requesting access for a Cloud Platform resource. + # `members` can have the following values: + # * `allUsers`: A special identifier that represents anyone who is + # on the internet; with or without a Google account. + # * `allAuthenticatedUsers`: A special identifier that represents anyone + # who is authenticated with a Google account or a service account. + # * `user:`emailid``: An email address that represents a specific Google + # account. For example, `alice@example.com` . + # * `serviceAccount:`emailid``: An email address that represents a service + # account. For example, `my-other-app@appspot.gserviceaccount.com`. + # * `group:`emailid``: An email address that represents a Google group. + # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. + # * `domain:`domain``: The G Suite domain (primary) that represents all the + # users of that domain. For example, `google.com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Role that is assigned to `members`. + # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @condition = args[:condition] if args.key?(:condition) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + + # The request message for Operations.CancelOperation. + class CancelOperationRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Request message for + # DetachTrust + class DetachTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1beta1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + + # Represents a managed Microsoft Active Directory domain. + class Domain + include Google::Apis::Core::Hashable + + # Optional. The name of delegated administrator account used to perform + # Active Directory operations. If not specified, `setupadmin` will be used. + # Corresponds to the JSON property `admin` + # @return [String] + attr_accessor :admin + + # Optional. The full names of the Google Compute Engine + # [networks](/compute/docs/networks-and-firewalls#networks) the domain + # instance is connected to. Networks can be added using UpdateDomain. + # The domain is only available on networks listed in `authorized_networks`. + # If CIDR subnets overlap between networks, domain creation will fail. + # Corresponds to the JSON property `authorizedNetworks` + # @return [Array] + attr_accessor :authorized_networks + + # Output only. The time the instance was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The fully-qualified domain name of the exposed domain used by + # clients to connect to the service. Similar to what would be chosen for an + # Active Directory set up on an internal network. + # Corresponds to the JSON property `fqdn` + # @return [String] + attr_accessor :fqdn + + # Optional. Resource labels that can contain user-provided metadata. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Required. Locations where domain needs to be provisioned. + # regions + # e.g. us-west1 or us-east4 + # Service supports up to 4 locations at once. Each location will use a /26 + # block. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Output only. The unique name of the domain using the form: + # `projects/`project_id`/locations/global/domains/`domain_name``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Required. The CIDR range of internal addresses that are reserved for this + # domain. Reserved networks must be /24 or larger. Ranges must be + # unique and non-overlapping with existing subnets in + # [Domain].[authorized_networks]. + # Corresponds to the JSON property `reservedIpRange` + # @return [String] + attr_accessor :reserved_ip_range + + # Output only. The current state of this domain. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Additional information about the current status of this + # domain, if available. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # Output only. The current trusts associated with the domain. + # Corresponds to the JSON property `trusts` + # @return [Array] + attr_accessor :trusts + + # Output only. The last update time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @admin = args[:admin] if args.key?(:admin) + @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks) + @create_time = args[:create_time] if args.key?(:create_time) + @fqdn = args[:fqdn] if args.key?(:fqdn) + @labels = args[:labels] if args.key?(:labels) + @locations = args[:locations] if args.key?(:locations) + @name = args[:name] if args.key?(:name) + @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range) + @state = args[:state] if args.key?(:state) + @status_message = args[:status_message] if args.key?(:status_message) + @trusts = args[:trusts] if args.key?(:trusts) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A generic empty message that you can re-use to avoid defining duplicated + # empty messages in your APIs. A typical example is to use it as the request + # or the response type of an API method. For instance: + # service Foo ` + # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + # ` + # The JSON representation for `Empty` is empty JSON object ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + class Expr + include Google::Apis::Core::Hashable + + # Optional. Description of the expression. This is a longer text which + # describes the expression, e.g. when hovered over it in a UI. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Textual representation of an expression in Common Expression Language + # syntax. + # Corresponds to the JSON property `expression` + # @return [String] + attr_accessor :expression + + # Optional. String indicating the location of the expression for error + # reporting, e.g. a file name and a position in the file. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # Optional. Title for the expression, i.e. a short string describing + # its purpose. This can be used e.g. in UIs which allow to enter the + # expression. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @expression = args[:expression] if args.key?(:expression) + @location = args[:location] if args.key?(:location) + @title = args[:title] if args.key?(:title) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudManagedidentitiesV1OpMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudManagedidentitiesV1beta1OpMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Instance represents the interface for SLM services to actuate the state + # of control plane resources. + # Example Instance in JSON, where + # consumer-project=snapchat, + # producer-project=cloud-sql: + # ```json + # Instance: + # ` + # "name": + # "projects/snapchat/locations/us-east1/instances/prod-instance", + # "create_time": ` + # "seconds": 1526406431, + # `, + # "labels": ` + # "env": "prod", + # "foo": "bar" + # `, + # "state": READY, + # "software_versions": ` + # "software_update": "cloud-sql-09-28-2018", + # `, + # "maintenance_policy_names": ` + # "UpdatePolicy": + # "projects/snapchat/locations/us-east1/maintenancePolicies/prod-update- + # policy", + # ` + # "tenant_project_id": "cloud-sql-test-tenant", + # "producer_metadata": ` + # "cloud-sql-tier": "basic", + # "cloud-sql-instance-size": "1G", + # `, + # "provisioned_resources": [ + # ` + # "resource-type": "compute-instance", + # "resource-url": + # "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1- + # b/instances/vm-1", + # ` + # ], + # "maintenance_schedules": ` + # "csa_rollout": ` + # "start_time": ` + # "seconds": 1526406431, + # `, + # "end_time": ` + # "seconds": 1535406431, + # `, + # `, + # "ncsa_rollout": ` + # "start_time": ` + # "seconds": 1526406431, + # `, + # "end_time": ` + # "seconds": 1535406431, + # `, + # ` + # `, + # "consumer_defined_name": "my-sql-instance1", + # ` + # ``` + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + include Google::Apis::Core::Hashable + + # consumer_defined_name is the name that is set by the consumer. On the other + # hand Name field represents system-assigned id of an instance so consumers + # are not necessarily aware of it. + # consumer_defined_name is used for notification/UI purposes for consumer to + # recognize their instances. + # Corresponds to the JSON property `consumerDefinedName` + # @return [String] + attr_accessor :consumer_defined_name + + # Output only. Timestamp when the resource was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. Resource labels to represent user provided metadata. Each label + # is a key-value pair, where both the key and the value are arbitrary strings + # provided by the user. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The MaintenancePolicies that have been attached to the instance. + # The key must be of the type name of the oneof policy name defined in + # MaintenancePolicy, and the referenced policy must define the same policy + # type. For complete details of MaintenancePolicy, please refer to + # go/cloud-saas-mw-ug. + # Corresponds to the JSON property `maintenancePolicyNames` + # @return [Hash] + attr_accessor :maintenance_policy_names + + # The MaintenanceSchedule contains the scheduling information of published + # maintenance schedule. + # Corresponds to the JSON property `maintenanceSchedules` + # @return [Hash] + attr_accessor :maintenance_schedules + + # Unique name of the resource. It uses the form: + # `projects/`project_id`/locations/`location_id`/instances/`instance_id`` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. Custom string attributes used primarily to expose + # producer-specific information in monitoring dashboards. + # See go/get-instance-metadata. + # Corresponds to the JSON property `producerMetadata` + # @return [Hash] + attr_accessor :producer_metadata + + # Output only. The list of data plane resources provisioned for this + # instance, e.g. compute VMs. See go/get-instance-metadata. + # Corresponds to the JSON property `provisionedResources` + # @return [Array] + attr_accessor :provisioned_resources + + # The map between RolloutType and the corresponding RolloutMetadata. + # This is only mutated by rollout service. For actuation implementation, + # this information is pass-through for Rollout management. Producer shall + # not modify by itself. + # For update of a single entry in this map, the update field mask shall + # follow this sementics: go/advanced-field-masks + # Corresponds to the JSON property `rolloutMetadata` + # @return [Hash] + attr_accessor :rollout_metadata + + # Link to the SLM instance template. Only populated when updating SLM + # instances via SSA's Actuation service adaptor. + # Service producers with custom control plane (e.g. Cloud SQL) doesn't + # need to populate this field. Instead they should use software_versions. + # Corresponds to the JSON property `slmInstanceTemplate` + # @return [String] + attr_accessor :slm_instance_template + + # SloMetadata contains resources required for proper SLO classification of the + # instance. + # Corresponds to the JSON property `sloMetadata` + # @return [Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata] + attr_accessor :slo_metadata + + # Software versions that are used to deploy this instance. This can be + # mutated by rollout services. + # Corresponds to the JSON property `softwareVersions` + # @return [Hash] + attr_accessor :software_versions + + # Output only. Current lifecycle state of the resource (e.g. if it's being + # created or ready to use). + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. ID of the associated GCP tenant project. + # See go/get-instance-metadata. + # Corresponds to the JSON property `tenantProjectId` + # @return [String] + attr_accessor :tenant_project_id + + # Output only. Timestamp when the resource was last modified. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name) + @create_time = args[:create_time] if args.key?(:create_time) + @labels = args[:labels] if args.key?(:labels) + @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names) + @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules) + @name = args[:name] if args.key?(:name) + @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata) + @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources) + @rollout_metadata = args[:rollout_metadata] if args.key?(:rollout_metadata) + @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template) + @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata) + @software_versions = args[:software_versions] if args.key?(:software_versions) + @state = args[:state] if args.key?(:state) + @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Maintenance schedule which is exposed to customer and potentially end user, + # indicating published upcoming future maintenance schedule + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + include Google::Apis::Core::Hashable + + # Can this scheduled update be rescheduled? + # By default, it's true and API needs to do explicitly check whether it's + # set, if it's set as false explicitly, it's false + # Corresponds to the JSON property `canReschedule` + # @return [Boolean] + attr_accessor :can_reschedule + alias_method :can_reschedule?, :can_reschedule + + # The scheduled end time for the maintenance. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The rollout management policy this maintenance schedule is associated + # with. When doing reschedule update request, the reschedule should be + # against this given policy. + # Corresponds to the JSON property `rolloutManagementPolicy` + # @return [String] + attr_accessor :rollout_management_policy + + # The scheduled start time for the maintenance. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule) + @end_time = args[:end_time] if args.key?(:end_time) + @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy) + @start_time = args[:start_time] if args.key?(:start_time) + end + end + + # Node information for custom per-node SLO implementations. + # SSA does not support per-node SLO, but producers can populate per-node + # information in SloMetadata for custom precomputations. + # SSA Eligibility Exporter will emit per-node metric based on this information. + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + include Google::Apis::Core::Hashable + + # By default node is eligible if instance is eligible. + # But individual node might be excluded from SLO by adding entry here. + # For semantic see SloMetadata.exclusions. + # If both instance and node level exclusions are present for time period, + # the node level's reason will be reported by Eligibility Exporter. + # Corresponds to the JSON property `exclusions` + # @return [Array] + attr_accessor :exclusions + + # The location of the node, if different from instance location. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # The id of the node. + # This should be equal to SaasInstanceNode.node_id. + # Corresponds to the JSON property `nodeId` + # @return [String] + attr_accessor :node_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exclusions = args[:exclusions] if args.key?(:exclusions) + @location = args[:location] if args.key?(:location) + @node_id = args[:node_id] if args.key?(:node_id) + end + end + + # This message has been deprecated. + # NotificationMetadata is the notification state for an instance. + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + include Google::Apis::Core::Hashable + + # Whether the instance update has been rescheduled. + # Corresponds to the JSON property `rescheduled` + # @return [Boolean] + attr_accessor :rescheduled + alias_method :rescheduled?, :rescheduled + + # The scheduled end time for the maintenance window during which update + # can be performed on the instance. + # Corresponds to the JSON property `scheduledEndTime` + # @return [String] + attr_accessor :scheduled_end_time + + # The scheduled start time for the maintenance window during which + # update can be performed on the instance. + # Corresponds to the JSON property `scheduledStartTime` + # @return [String] + attr_accessor :scheduled_start_time + + # The target release to be applied to the instance. + # Corresponds to the JSON property `targetRelease` + # @return [String] + attr_accessor :target_release + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @rescheduled = args[:rescheduled] if args.key?(:rescheduled) + @scheduled_end_time = args[:scheduled_end_time] if args.key?(:scheduled_end_time) + @scheduled_start_time = args[:scheduled_start_time] if args.key?(:scheduled_start_time) + @target_release = args[:target_release] if args.key?(:target_release) + end + end + + # Describes provisioned dataplane resources. + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + include Google::Apis::Core::Hashable + + # Type of the resource. This can be either a GCP resource or a custom one + # (e.g. another cloud provider's VM). For GCP compute resources use singular + # form of the names listed in GCP compute API documentation + # (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with + # 'compute-', for example: 'compute-instance', 'compute-disk', + # 'compute-autoscaler'. + # Corresponds to the JSON property `resourceType` + # @return [String] + attr_accessor :resource_type + + # URL identifying the resource, e.g. + # "https://www.googleapis.com/compute/v1/projects/...)". + # Corresponds to the JSON property `resourceUrl` + # @return [String] + attr_accessor :resource_url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_type = args[:resource_type] if args.key?(:resource_type) + @resource_url = args[:resource_url] if args.key?(:resource_url) + end + end + + # This message has been deprecated. + # RolloutMetadata for an actuation instance. It maps to a single RolloutType. + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + include Google::Apis::Core::Hashable + + # This message has been deprecated. + # NotificationMetadata is the notification state for an instance. + # Corresponds to the JSON property `notification` + # @return [Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata] + attr_accessor :notification + + # The last Release that has been applied to the instance. + # Corresponds to the JSON property `releaseName` + # @return [String] + attr_accessor :release_name + + # The last rollout that has been applied to the instance. + # Corresponds to the JSON property `rolloutName` + # @return [String] + attr_accessor :rollout_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @notification = args[:notification] if args.key?(:notification) + @release_name = args[:release_name] if args.key?(:release_name) + @rollout_name = args[:rollout_name] if args.key?(:rollout_name) + end + end + + # SloEligibility is a tuple containing eligibility value: true if an instance + # is eligible for SLO calculation or false if it should be excluded from all + # SLO-related calculations along with a user-defined reason. + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + include Google::Apis::Core::Hashable + + # Whether an instance is eligible or ineligible. + # Corresponds to the JSON property `eligible` + # @return [Boolean] + attr_accessor :eligible + alias_method :eligible?, :eligible + + # User-defined reason for the current value of instance eligibility. Usually, + # this can be directly mapped to the internal state. An empty reason is + # allowed. + # Corresponds to the JSON property `reason` + # @return [String] + attr_accessor :reason + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @eligible = args[:eligible] if args.key?(:eligible) + @reason = args[:reason] if args.key?(:reason) + end + end + + # SloExclusion represents an exclusion in SLI calculation applies to all SLOs. + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + include Google::Apis::Core::Hashable + + # Exclusion duration. No restrictions on the possible values. + # When an ongoing operation is taking longer than initially expected, + # an existing entry in the exclusion list can be updated by extending the + # duration. This is supported by the subsystem exporting eligibility data + # as long as such extension is committed at least 10 minutes before the + # original exclusion expiration - otherwise it is possible that there will + # be "gaps" in the exclusion application in the exported timeseries. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # Human-readable reason for the exclusion. + # This should be a static string (e.g. "Disruptive update in progress") + # and should not contain dynamically generated data (e.g. instance name). + # Can be left empty. + # Corresponds to the JSON property `reason` + # @return [String] + attr_accessor :reason + + # Name of an SLI that this exclusion applies to. Can be left empty, + # signaling that the instance should be excluded from all SLIs defined + # in the service SLO configuration. + # Corresponds to the JSON property `sliName` + # @return [String] + attr_accessor :sli_name + + # Start time of the exclusion. No alignment (e.g. to a full minute) needed. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @duration = args[:duration] if args.key?(:duration) + @reason = args[:reason] if args.key?(:reason) + @sli_name = args[:sli_name] if args.key?(:sli_name) + @start_time = args[:start_time] if args.key?(:start_time) + end + end + + # SloMetadata contains resources required for proper SLO classification of the + # instance. + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + include Google::Apis::Core::Hashable + + # SloEligibility is a tuple containing eligibility value: true if an instance + # is eligible for SLO calculation or false if it should be excluded from all + # SLO-related calculations along with a user-defined reason. + # Corresponds to the JSON property `eligibility` + # @return [Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility] + attr_accessor :eligibility + + # List of SLO exclusion windows. When multiple entries in the list match + # (matching the exclusion time-window against current time point) + # the exclusion reason used in the first matching entry will be published. + # It is not needed to include expired exclusion in this list, as only the + # currently applicable exclusions are taken into account by the eligibility + # exporting subsystem (the historical state of exclusions will be reflected + # in the historically produced timeseries regardless of the current state). + # This field can be used to mark the instance as temporary ineligible + # for the purpose of SLO calculation. For permanent instance SLO exclusion, + # use of custom instance eligibility is recommended. See 'eligibility' field + # below. + # Corresponds to the JSON property `exclusions` + # @return [Array] + attr_accessor :exclusions + + # Optional. List of nodes. + # Some producers need to use per-node metadata to calculate SLO. + # This field allows such producers to publish per-node SLO meta data, + # which will be consumed by SSA Eligibility Exporter and published in the + # form of per node metric to Monarch. + # Corresponds to the JSON property `nodes` + # @return [Array] + attr_accessor :nodes + + # Name of the SLO tier the Instance belongs to. This name will be expected to + # match the tiers specified in the service SLO configuration. + # Field is mandatory and must not be empty. + # Corresponds to the JSON property `tier` + # @return [String] + attr_accessor :tier + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @eligibility = args[:eligibility] if args.key?(:eligibility) + @exclusions = args[:exclusions] if args.key?(:exclusions) + @nodes = args[:nodes] if args.key?(:nodes) + @tier = args[:tier] if args.key?(:tier) + end + end + + # Response message for + # ListDomains + class ListDomainsResponse + include Google::Apis::Core::Hashable + + # A list of Managed Identities Service domains in the project. + # Corresponds to the JSON property `domains` + # @return [Array] + attr_accessor :domains + + # A token to retrieve the next page of results, or empty if there are no more + # results in the list. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of locations that could not be reached. + # Corresponds to the JSON property `unreachable` + # @return [Array] + attr_accessor :unreachable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @domains = args[:domains] if args.key?(:domains) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable = args[:unreachable] if args.key?(:unreachable) + end + end + + # The response message for Locations.ListLocations. + class ListLocationsResponse + include Google::Apis::Core::Hashable + + # A list of locations that matches the specified filter in the request. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @locations = args[:locations] if args.key?(:locations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # The response message for Operations.ListOperations. + class ListOperationsResponse + include Google::Apis::Core::Hashable + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of operations that matches the specified filter in the request. + # Corresponds to the JSON property `operations` + # @return [Array] + attr_accessor :operations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operations = args[:operations] if args.key?(:operations) + end + end + + # A resource that represents Google Cloud Platform location. + class Location + include Google::Apis::Core::Hashable + + # The friendly name for this location, typically a nearby city name. + # For example, "Tokyo". + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Cross-service attributes for the location. For example + # `"cloud.googleapis.com/region": "us-east1"` + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The canonical id for this location. For example: `"us-east1"`. + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id + + # Service-specific metadata. For example the available capacity at the given + # location. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # Resource name for the location, which may vary between implementations. + # For example: `"projects/example-project/locations/us-east1"` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @location_id = args[:location_id] if args.key?(:location_id) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + end + end + + # This resource represents a long-running operation that is the result of a + # network API call. + class Operation + include Google::Apis::Core::Hashable + + # If the value is `false`, it means the operation is still in progress. + # If `true`, the operation is completed, and either `error` or `response` is + # available. + # Corresponds to the JSON property `done` + # @return [Boolean] + attr_accessor :done + alias_method :done?, :done + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::ManagedidentitiesV1beta1::Status] + attr_accessor :error + + # Service-specific metadata associated with the operation. It typically + # contains progress information and common metadata such as create time. + # Some services might not provide such metadata. Any method that returns a + # long-running operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # The server-assigned name, which is only unique within the same service that + # originally returns it. If you use the default HTTP mapping, the + # `name` should be a resource name ending with `operations/`unique_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The normal response of the operation in case of success. If the original + # method returns no data on success, such as `Delete`, the response is + # `google.protobuf.Empty`. If the original method is standard + # `Get`/`Create`/`Update`, the response should be the resource. For other + # methods, the response should have the type `XxxResponse`, where `Xxx` + # is the original method name. For example, if the original method name + # is `TakeSnapshot()`, the inferred response type is + # `TakeSnapshotResponse`. + # Corresponds to the JSON property `response` + # @return [Hash] + attr_accessor :response + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @done = args[:done] if args.key?(:done) + @error = args[:error] if args.key?(:error) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + @response = args[:response] if args.key?(:response) + end + end + + # Represents the metadata of the long-running operation. + class OperationMetadata + include Google::Apis::Core::Hashable + + # [Output only] API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # [Output only] Identifies whether the user has requested cancellation + # of the operation. Operations that have successfully been cancelled + # have Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # Corresponds to the JSON property `cancelRequested` + # @return [Boolean] + attr_accessor :cancel_requested + alias_method :cancel_requested?, :cancel_requested + + # [Output only] The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # [Output only] The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # [Output only] Human-readable status of the operation, if any. + # Corresponds to the JSON property `statusDetail` + # @return [String] + attr_accessor :status_detail + + # [Output only] Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # [Output only] Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @status_detail = args[:status_detail] if args.key?(:status_detail) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + class Policy + include Google::Apis::Core::Hashable + + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # `etag` is used for optimistic concurrency control as a way to help + # prevent simultaneous updates of a policy from overwriting each other. + # It is strongly suggested that systems make use of the `etag` in the + # read-modify-write cycle to perform policy updates in order to avoid race + # conditions: An `etag` is returned in the response to `getIamPolicy`, and + # systems are expected to put that etag in the request to `setIamPolicy` to + # ensure that their change will be applied to the same version of the policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Specifies the format of the policy. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. + # Corresponds to the JSON property `version` + # @return [Fixnum] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @version = args[:version] if args.key?(:version) + end + end + + # Request message for + # ReconfigureTrust + class ReconfigureTrustRequest + include Google::Apis::Core::Hashable + + # Required. The target DNS server IP addresses to resolve the remote domain + # involved + # in the trust. + # Corresponds to the JSON property `targetDnsIpAddresses` + # @return [Array] + attr_accessor :target_dns_ip_addresses + + # Required. The fully-qualified target domain name which will be in trust with + # current + # domain. + # Corresponds to the JSON property `targetDomainName` + # @return [String] + attr_accessor :target_domain_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses) + @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name) + end + end + + # Request message for + # ResetAdminPassword + class ResetAdminPasswordRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Response message for + # ResetAdminPassword + class ResetAdminPasswordResponse + include Google::Apis::Core::Hashable + + # A random password. See admin for more information. + # Corresponds to the JSON property `password` + # @return [String] + attr_accessor :password + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @password = args[:password] if args.key?(:password) + end + end + + # Request message for `SetIamPolicy` method. + class SetIamPolicyRequest + include Google::Apis::Core::Hashable + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ManagedidentitiesV1beta1::Policy] + attr_accessor :policy + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @policy = args[:policy] if args.key?(:policy) + end + end + + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + class Status + include Google::Apis::Core::Hashable + + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code + + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + # Corresponds to the JSON property `details` + # @return [Array>] + attr_accessor :details + + # A developer-facing error message, which should be in English. Any + # user-facing error message should be localized and sent in the + # google.rpc.Status.details field, or localized by the client. + # 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) + @details = args[:details] if args.key?(:details) + @message = args[:message] if args.key?(:message) + end + end + + # Request message for `TestIamPermissions` method. + class TestIamPermissionsRequest + include Google::Apis::Core::Hashable + + # The set of permissions to check for the `resource`. Permissions with + # wildcards (such as '*' or 'storage.*') are not allowed. For more + # information see + # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Response message for `TestIamPermissions` method. + class TestIamPermissionsResponse + include Google::Apis::Core::Hashable + + # A subset of `TestPermissionsRequest.permissions` that the caller is + # allowed. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + class TrustProp + include Google::Apis::Core::Hashable + + # Output only. The time the instance was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The last heartbeat time when the trust was known to be + # connected. + # Corresponds to the JSON property `lastTrustHeartbeatTime` + # @return [String] + attr_accessor :last_trust_heartbeat_time + + # The trust authentication type, which decides whether the trusted side has + # forest/domain wide access or selective access to an approved set of + # resources. + # Corresponds to the JSON property `selectiveAuthentication` + # @return [Boolean] + attr_accessor :selective_authentication + alias_method :selective_authentication?, :selective_authentication + + # Output only. The current state of the trust. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Additional information about the current state of the + # trust, if available. + # Corresponds to the JSON property `stateDescription` + # @return [String] + attr_accessor :state_description + + # The target DNS server IP addresses which can resolve the remote domain + # involved in the trust. + # Corresponds to the JSON property `targetDnsIpAddresses` + # @return [Array] + attr_accessor :target_dns_ip_addresses + + # The fully qualified target domain name which will be in trust with the + # current domain. + # Corresponds to the JSON property `targetDomainName` + # @return [String] + attr_accessor :target_domain_name + + # The trust direction, which decides if the current domain is trusted, + # trusting, or both. + # Corresponds to the JSON property `trustDirection` + # @return [String] + attr_accessor :trust_direction + + # Input only, and will not be stored. The trust secret used for the handshake + # with the target domain. + # Corresponds to the JSON property `trustHandshakeSecret` + # @return [String] + attr_accessor :trust_handshake_secret + + # The type of trust represented by the trust resource. + # Corresponds to the JSON property `trustType` + # @return [String] + attr_accessor :trust_type + + # Output only. The last update time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @last_trust_heartbeat_time = args[:last_trust_heartbeat_time] if args.key?(:last_trust_heartbeat_time) + @selective_authentication = args[:selective_authentication] if args.key?(:selective_authentication) + @state = args[:state] if args.key?(:state) + @state_description = args[:state_description] if args.key?(:state_description) + @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses) + @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name) + @trust_direction = args[:trust_direction] if args.key?(:trust_direction) + @trust_handshake_secret = args[:trust_handshake_secret] if args.key?(:trust_handshake_secret) + @trust_type = args[:trust_type] if args.key?(:trust_type) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Request message for + # ValidateTrust + class ValidateTrustRequest + include Google::Apis::Core::Hashable + + # Represents a relationship between two domains. This allows a controller in + # one domain to authenticate a user in another domain. + # Corresponds to the JSON property `trust` + # @return [Google::Apis::ManagedidentitiesV1beta1::TrustProp] + attr_accessor :trust_prop + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @trust_prop = args[:trust_prop] if args.key?(:trust_prop) + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1beta1/representations.rb b/generated/google/apis/managedidentities_v1beta1/representations.rb new file mode 100644 index 000000000..e62b833bc --- /dev/null +++ b/generated/google/apis/managedidentities_v1beta1/representations.rb @@ -0,0 +1,576 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1beta1 + + class AttachTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Binding + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CancelOperationRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DetachTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Domain + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Empty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Expr + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudManagedidentitiesV1OpMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudManagedidentitiesV1beta1OpMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListDomainsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListLocationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListOperationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Location + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Operation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Policy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReconfigureTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResetAdminPasswordRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResetAdminPasswordResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SetIamPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Status + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TrustProp + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ValidateTrustRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AttachTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1beta1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1beta1::TrustProp::Representation + + end + end + + class Binding + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :condition, as: 'condition', class: Google::Apis::ManagedidentitiesV1beta1::Expr, decorator: Google::Apis::ManagedidentitiesV1beta1::Expr::Representation + + collection :members, as: 'members' + property :role, as: 'role' + end + end + + class CancelOperationRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class DetachTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1beta1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1beta1::TrustProp::Representation + + end + end + + class Domain + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :admin, as: 'admin' + collection :authorized_networks, as: 'authorizedNetworks' + property :create_time, as: 'createTime' + property :fqdn, as: 'fqdn' + hash :labels, as: 'labels' + collection :locations, as: 'locations' + property :name, as: 'name' + property :reserved_ip_range, as: 'reservedIpRange' + property :state, as: 'state' + property :status_message, as: 'statusMessage' + collection :trusts, as: 'trusts', class: Google::Apis::ManagedidentitiesV1beta1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1beta1::TrustProp::Representation + + property :update_time, as: 'updateTime' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class Expr + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :expression, as: 'expression' + property :location, as: 'location' + property :title, as: 'title' + end + end + + class GoogleCloudManagedidentitiesV1OpMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class GoogleCloudManagedidentitiesV1beta1OpMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1Instance + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :consumer_defined_name, as: 'consumerDefinedName' + property :create_time, as: 'createTime' + hash :labels, as: 'labels' + hash :maintenance_policy_names, as: 'maintenancePolicyNames' + hash :maintenance_schedules, as: 'maintenanceSchedules', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule::Representation + + property :name, as: 'name' + hash :producer_metadata, as: 'producerMetadata' + collection :provisioned_resources, as: 'provisionedResources', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource::Representation + + hash :rollout_metadata, as: 'rolloutMetadata', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata::Representation + + property :slm_instance_template, as: 'slmInstanceTemplate' + property :slo_metadata, as: 'sloMetadata', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata::Representation + + hash :software_versions, as: 'softwareVersions' + property :state, as: 'state' + property :tenant_project_id, as: 'tenantProjectId' + property :update_time, as: 'updateTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :can_reschedule, as: 'canReschedule' + property :end_time, as: 'endTime' + property :rollout_management_policy, as: 'rolloutManagementPolicy' + property :start_time, as: 'startTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :exclusions, as: 'exclusions', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion::Representation + + property :location, as: 'location' + property :node_id, as: 'nodeId' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :rescheduled, as: 'rescheduled' + property :scheduled_end_time, as: 'scheduledEndTime' + property :scheduled_start_time, as: 'scheduledStartTime' + property :target_release, as: 'targetRelease' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource_type, as: 'resourceType' + property :resource_url, as: 'resourceUrl' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :notification, as: 'notification', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata::Representation + + property :release_name, as: 'releaseName' + property :rollout_name, as: 'rolloutName' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :eligible, as: 'eligible' + property :reason, as: 'reason' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :duration, as: 'duration' + property :reason, as: 'reason' + property :sli_name, as: 'sliName' + property :start_time, as: 'startTime' + end + end + + class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :eligibility, as: 'eligibility', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility::Representation + + collection :exclusions, as: 'exclusions', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion::Representation + + collection :nodes, as: 'nodes', class: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata, decorator: Google::Apis::ManagedidentitiesV1beta1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata::Representation + + property :tier, as: 'tier' + end + end + + class ListDomainsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :domains, as: 'domains', class: Google::Apis::ManagedidentitiesV1beta1::Domain, decorator: Google::Apis::ManagedidentitiesV1beta1::Domain::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable, as: 'unreachable' + end + end + + class ListLocationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :locations, as: 'locations', class: Google::Apis::ManagedidentitiesV1beta1::Location, decorator: Google::Apis::ManagedidentitiesV1beta1::Location::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ListOperationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :operations, as: 'operations', class: Google::Apis::ManagedidentitiesV1beta1::Operation, decorator: Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + + end + end + + class Location + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :location_id, as: 'locationId' + hash :metadata, as: 'metadata' + property :name, as: 'name' + end + end + + class Operation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :done, as: 'done' + property :error, as: 'error', class: Google::Apis::ManagedidentitiesV1beta1::Status, decorator: Google::Apis::ManagedidentitiesV1beta1::Status::Representation + + hash :metadata, as: 'metadata' + property :name, as: 'name' + hash :response, as: 'response' + end + end + + class OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :cancel_requested, as: 'cancelRequested' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :status_detail, as: 'statusDetail' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class Policy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bindings, as: 'bindings', class: Google::Apis::ManagedidentitiesV1beta1::Binding, decorator: Google::Apis::ManagedidentitiesV1beta1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :version, as: 'version' + end + end + + class ReconfigureTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :target_dns_ip_addresses, as: 'targetDnsIpAddresses' + property :target_domain_name, as: 'targetDomainName' + end + end + + class ResetAdminPasswordRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ResetAdminPasswordResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :password, as: 'password' + end + end + + class SetIamPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :policy, as: 'policy', class: Google::Apis::ManagedidentitiesV1beta1::Policy, decorator: Google::Apis::ManagedidentitiesV1beta1::Policy::Representation + + end + end + + class Status + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :details, as: 'details' + property :message, as: 'message' + end + end + + class TestIamPermissionsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TestIamPermissionsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TrustProp + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :last_trust_heartbeat_time, as: 'lastTrustHeartbeatTime' + property :selective_authentication, as: 'selectiveAuthentication' + property :state, as: 'state' + property :state_description, as: 'stateDescription' + collection :target_dns_ip_addresses, as: 'targetDnsIpAddresses' + property :target_domain_name, as: 'targetDomainName' + property :trust_direction, as: 'trustDirection' + property :trust_handshake_secret, as: 'trustHandshakeSecret' + property :trust_type, as: 'trustType' + property :update_time, as: 'updateTime' + end + end + + class ValidateTrustRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :trust_prop, as: 'trust', class: Google::Apis::ManagedidentitiesV1beta1::TrustProp, decorator: Google::Apis::ManagedidentitiesV1beta1::TrustProp::Representation + + end + end + end + end +end diff --git a/generated/google/apis/managedidentities_v1beta1/service.rb b/generated/google/apis/managedidentities_v1beta1/service.rb new file mode 100644 index 000000000..1582dfa6f --- /dev/null +++ b/generated/google/apis/managedidentities_v1beta1/service.rb @@ -0,0 +1,778 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ManagedidentitiesV1beta1 + # Managed Service for Microsoft Active Directory API + # + # The Managed Service for Microsoft Active Directory API is used for managing a + # highly available, hardened service running Microsoft Active Directory (AD). + # + # @example + # require 'google/apis/managedidentities_v1beta1' + # + # Managedidentities = Google::Apis::ManagedidentitiesV1beta1 # Alias the module + # service = Managedidentities::ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService.new + # + # @see https://cloud.google.com/managed-microsoft-ad/ + class ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://managedidentities.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets information about a location. + # @param [String] name + # Resource name for the location. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Location] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Location] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Location::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Location + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists information about the supported locations for this service. + # @param [String] name + # The resource that owns the locations collection, if applicable. + # @param [String] filter + # The standard list filter. + # @param [Boolean] include_unrevealed_locations + # If true, the returned list will include locations which are not yet + # revealed. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::ListLocationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::ListLocationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_locations(name, filter: nil, include_unrevealed_locations: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}/locations', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::ListLocationsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::ListLocationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['includeUnrevealedLocations'] = include_unrevealed_locations unless include_unrevealed_locations.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Adds an AD trust to a domain. + # @param [String] name + # Required. The resource domain name, project name and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1beta1::AttachTrustRequest] attach_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def attach_domain_trust(name, attach_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:attachTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::AttachTrustRequest::Representation + command.request_object = attach_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a Microsoft AD domain. + # @param [String] parent + # Required. The resource project name and location using the form: + # `projects/`project_id`/locations/global` + # @param [Google::Apis::ManagedidentitiesV1beta1::Domain] domain_object + # @param [String] domain_name + # Required. A domain name, e.g. mydomain.myorg.com, with the following + # restrictions: + # * Must contain only lowercase letters, numbers, periods and hyphens. + # * Must start with a letter. + # * Must contain between 2-64 characters. + # * Must end with a number or a letter. + # * Must not start with period. + # * First segement length (mydomain form example above) shouldn't exceed + # 15 chars. + # * The last segment cannot be fully numeric. + # * Must be unique within the customer project. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_global_domain(parent, domain_object = nil, domain_name: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+parent}/domains', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::Domain::Representation + command.request_object = domain_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['parent'] = parent unless parent.nil? + command.query['domainName'] = domain_name unless domain_name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a domain. + # @param [String] name + # Required. The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::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_project_location_global_domain(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Removes an AD trust. + # @param [String] name + # Required. The resource domain name, project name, and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1beta1::DetachTrustRequest] detach_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def detach_domain_trust(name, detach_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:detachTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::DetachTrustRequest::Representation + command.request_object = detach_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets information about a domain. + # @param [String] name + # Required. The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Domain] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Domain] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_domain(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Domain::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Domain + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. + # Returns an empty policy if the resource exists and does not have a policy + # set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. + # See the operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_domain_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Policy::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists domains in a project. + # @param [String] parent + # Required. The resource name of the domain location using the form: + # `projects/`project_id`/locations/global` + # @param [String] filter + # Optional. A filter specifying constraints of a list operation. + # For example, `Domain.fqdn="mydomain.myorginization"`. + # @param [String] order_by + # Optional. Specifies the ordering of results. See + # [Sorting + # order](https://cloud.google.com/apis/design/design_patterns#sorting_order) + # for more information. + # @param [Fixnum] page_size + # Optional. The maximum number of items to return. + # If not specified, a default value of 1000 will be used. + # Regardless of the page_size value, the response may include a partial list. + # Callers should rely on a response's + # next_page_token + # to determine if there are additional results to list. + # @param [String] page_token + # The `next_page_token` value returned from a previous ListDomainsRequest + # request, if any. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::ListDomainsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::ListDomainsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_global_domains(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+parent}/domains', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::ListDomainsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::ListDomainsResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the metadata and configuration of a domain. + # @param [String] name + # Output only. The unique name of the domain using the form: + # `projects/`project_id`/locations/global/domains/`domain_name``. + # @param [Google::Apis::ManagedidentitiesV1beta1::Domain] domain_object + # @param [String] update_mask + # Required. Mask of fields to update. At least one path must be supplied in this + # field. The elements of the repeated paths field may only include + # fields from Domain: + # * `labels` + # * `locations` + # * `authorized_networks` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_global_domain(name, domain_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1beta1/{+name}', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::Domain::Representation + command.request_object = domain_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the DNS conditional forwarder. + # @param [String] name + # Required. The resource domain name, project name and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1beta1::ReconfigureTrustRequest] reconfigure_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::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 reconfigure_domain_trust(name, reconfigure_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:reconfigureTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::ReconfigureTrustRequest::Representation + command.request_object = reconfigure_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Resets a domain's administrator password. + # @param [String] name + # Required. The domain resource name using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1beta1::ResetAdminPasswordRequest] reset_admin_password_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::ResetAdminPasswordResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::ResetAdminPasswordResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def reset_domain_admin_password(name, reset_admin_password_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:resetAdminPassword', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::ResetAdminPasswordRequest::Representation + command.request_object = reset_admin_password_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::ResetAdminPasswordResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::ResetAdminPasswordResponse + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. + # Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. + # See the operation documentation for the appropriate value for this field. + # @param [Google::Apis::ManagedidentitiesV1beta1::SetIamPolicyRequest] set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_domain_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::SetIamPolicyRequest::Representation + command.request_object = set_iam_policy_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Policy::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. + # If the resource does not exist, this will return an empty set of + # permissions, not a NOT_FOUND error. + # Note: This operation is designed to be used for building permission-aware + # UIs and command-line tools, not for authorization checking. This operation + # may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. + # See the operation documentation for the appropriate value for this field. + # @param [Google::Apis::ManagedidentitiesV1beta1::TestIamPermissionsRequest] test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::TestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::TestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_domain_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::TestIamPermissionsRequest::Representation + command.request_object = test_iam_permissions_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::TestIamPermissionsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::TestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Validates a trust state, that the target domain is reachable, and that the + # target domain is able to accept incoming trust requests. + # @param [String] name + # Required. The resource domain name, project name, and location using the form: + # `projects/`project_id`/locations/global/domains/`domain_name`` + # @param [Google::Apis::ManagedidentitiesV1beta1::ValidateTrustRequest] validate_trust_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::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 validate_domain_trust(name, validate_trust_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:validateTrust', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::ValidateTrustRequest::Representation + command.request_object = validate_trust_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts asynchronous cancellation on a long-running operation. The server + # makes a best effort to cancel the operation, but success is not + # guaranteed. If the server doesn't support this method, it returns + # `google.rpc.Code.UNIMPLEMENTED`. Clients can use + # Operations.GetOperation or + # other methods to check whether the cancellation succeeded or whether the + # operation completed despite cancellation. On successful cancellation, + # the operation is not deleted; instead, it becomes an operation with + # an Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # @param [String] name + # The name of the operation resource to be cancelled. + # @param [Google::Apis::ManagedidentitiesV1beta1::CancelOperationRequest] cancel_operation_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:cancel', options) + command.request_representation = Google::Apis::ManagedidentitiesV1beta1::CancelOperationRequest::Representation + command.request_object = cancel_operation_request_object + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Empty::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a long-running operation. This method indicates that the client is + # no longer interested in the operation result. It does not cancel the + # operation. If the server doesn't support this method, it returns + # `google.rpc.Code.UNIMPLEMENTED`. + # @param [String] name + # The name of the operation resource to be deleted. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_global_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Empty::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the latest state of a long-running operation. Clients can use this + # method to poll the operation result at intervals as recommended by the API + # service. + # @param [String] name + # The name of the operation resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_global_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::Operation::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists operations that match the specified filter in the request. If the + # server doesn't support this method, it returns `UNIMPLEMENTED`. + # NOTE: the `name` binding allows API services to override the binding + # to use different resource name schemes, such as `users/*/operations`. To + # override the binding, API services can add a binding such as + # `"/v1/`name=users/*`/operations"` to their service configuration. + # For backwards compatibility, the default name includes the operations + # collection id, however overriding users must ensure the name binding + # is the parent resource, without the operations collection id. + # @param [String] name + # The name of the operation's parent resource. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ManagedidentitiesV1beta1::ListOperationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ManagedidentitiesV1beta1::ListOperationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_global_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::ManagedidentitiesV1beta1::ListOperationsResponse::Representation + command.response_class = Google::Apis::ManagedidentitiesV1beta1::ListOperationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/secretmanager_v1.rb b/generated/google/apis/secretmanager_v1.rb index fb1031039..f02216812 100644 --- a/generated/google/apis/secretmanager_v1.rb +++ b/generated/google/apis/secretmanager_v1.rb @@ -20,13 +20,13 @@ module Google module Apis # Secret Manager API # - # Stores and manages access to application secrets. Provides convenience while - # improving security. + # Stores API keys, passwords, certificates, and other sensitive data. Provides + # convenience while improving security. # # @see https://cloud.google.com/secret-manager/ module SecretmanagerV1 VERSION = 'V1' - REVISION = '20200208' + REVISION = '20200222' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/secretmanager_v1/service.rb b/generated/google/apis/secretmanager_v1/service.rb index f9a5b28d0..1560724af 100644 --- a/generated/google/apis/secretmanager_v1/service.rb +++ b/generated/google/apis/secretmanager_v1/service.rb @@ -22,8 +22,8 @@ module Google module SecretmanagerV1 # Secret Manager API # - # Stores and manages access to application secrets. Provides convenience while - # improving security. + # Stores API keys, passwords, certificates, and other sensitive data. Provides + # convenience while improving security. # # @example # require 'google/apis/secretmanager_v1' diff --git a/generated/google/apis/secretmanager_v1beta1.rb b/generated/google/apis/secretmanager_v1beta1.rb index 0208e66f0..4c3bf993e 100644 --- a/generated/google/apis/secretmanager_v1beta1.rb +++ b/generated/google/apis/secretmanager_v1beta1.rb @@ -20,13 +20,13 @@ module Google module Apis # Secret Manager API # - # Stores and manages access to application secrets. Provides convenience while - # improving security. + # Stores API keys, passwords, certificates, and other sensitive data. Provides + # convenience while improving security. # # @see https://cloud.google.com/secret-manager/ module SecretmanagerV1beta1 VERSION = 'V1beta1' - REVISION = '20200118' + REVISION = '20200222' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/secretmanager_v1beta1/service.rb b/generated/google/apis/secretmanager_v1beta1/service.rb index bba825541..d674e9c23 100644 --- a/generated/google/apis/secretmanager_v1beta1/service.rb +++ b/generated/google/apis/secretmanager_v1beta1/service.rb @@ -22,8 +22,8 @@ module Google module SecretmanagerV1beta1 # Secret Manager API # - # Stores and manages access to application secrets. Provides convenience while - # improving security. + # Stores API keys, passwords, certificates, and other sensitive data. Provides + # convenience while improving security. # # @example # require 'google/apis/secretmanager_v1beta1' diff --git a/generated/google/apis/serviceconsumermanagement_v1.rb b/generated/google/apis/serviceconsumermanagement_v1.rb index 13e2e2b09..55d4b176f 100644 --- a/generated/google/apis/serviceconsumermanagement_v1.rb +++ b/generated/google/apis/serviceconsumermanagement_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/service-consumer-management/docs/overview module ServiceconsumermanagementV1 VERSION = 'V1' - REVISION = '20200215' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceconsumermanagement_v1/classes.rb b/generated/google/apis/serviceconsumermanagement_v1/classes.rb index d82b7e968..796ec3023 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/classes.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/classes.rb @@ -257,6 +257,24 @@ module Google # @return [String] attr_accessor :jwks_uri + # Defines the locations to extract the JWT. + # JWT locations can be either from HTTP headers or URL query parameters. + # The rule is that the first match wins. The checking order is: checking + # all headers first, then URL query parameters. + # If not specified, default to use following 3 locations: + # 1) Authorization: Bearer + # 2) x-goog-iap-jwt-assertion + # 3) access_token query parameter + # Default locations can be specified as followings: + # jwt_locations: + # - header: Authorization + # value_prefix: "Bearer " + # - header: x-goog-iap-jwt-assertion + # - query: access_token + # Corresponds to the JSON property `jwtLocations` + # @return [Array] + attr_accessor :jwt_locations + def initialize(**args) update!(**args) end @@ -268,6 +286,7 @@ module Google @id = args[:id] if args.key?(:id) @issuer = args[:issuer] if args.key?(:issuer) @jwks_uri = args[:jwks_uri] if args.key?(:jwks_uri) + @jwt_locations = args[:jwt_locations] if args.key?(:jwt_locations) end end @@ -1623,6 +1642,43 @@ module Google end end + # Specifies a location to extract JWT from an API request. + class JwtLocation + include Google::Apis::Core::Hashable + + # Specifies HTTP header name to extract JWT token. + # Corresponds to the JSON property `header` + # @return [String] + attr_accessor :header + + # Specifies URL query parameter name to extract JWT token. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # The value prefix. The value format is "value_prefix`token`" + # Only applies to "in" header type. Must be empty for "in" query type. + # If not empty, the header value has to match (case sensitive) this prefix. + # If not matched, JWT will not be extracted. If matched, JWT will be + # extracted after the prefix is removed. + # For example, for "Authorization: Bearer `JWT`", + # value_prefix="Bearer " with a space at the end. + # Corresponds to the JSON property `valuePrefix` + # @return [String] + attr_accessor :value_prefix + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header = args[:header] if args.key?(:header) + @query = args[:query] if args.key?(:query) + @value_prefix = args[:value_prefix] if args.key?(:value_prefix) + end + end + # A description of a label. class LabelDescriptor include Google::Apis::Core::Hashable diff --git a/generated/google/apis/serviceconsumermanagement_v1/representations.rb b/generated/google/apis/serviceconsumermanagement_v1/representations.rb index 7e60bcae4..b420a2c68 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/representations.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/representations.rb @@ -208,6 +208,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class JwtLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class LabelDescriptor class Representation < Google::Apis::Core::JsonRepresentation; end @@ -602,6 +608,8 @@ module Google property :id, as: 'id' property :issuer, as: 'issuer' property :jwks_uri, as: 'jwksUri' + collection :jwt_locations, as: 'jwtLocations', class: Google::Apis::ServiceconsumermanagementV1::JwtLocation, decorator: Google::Apis::ServiceconsumermanagementV1::JwtLocation::Representation + end end @@ -861,6 +869,15 @@ module Google end end + class JwtLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header, as: 'header' + property :query, as: 'query' + property :value_prefix, as: 'valuePrefix' + end + end + class LabelDescriptor # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/servicenetworking_v1.rb b/generated/google/apis/servicenetworking_v1.rb index 6c697ea2c..3a3ebae4a 100644 --- a/generated/google/apis/servicenetworking_v1.rb +++ b/generated/google/apis/servicenetworking_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1 VERSION = 'V1' - REVISION = '20200215' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicenetworking_v1/classes.rb b/generated/google/apis/servicenetworking_v1/classes.rb index 2ef8a6505..1a812dbf7 100644 --- a/generated/google/apis/servicenetworking_v1/classes.rb +++ b/generated/google/apis/servicenetworking_v1/classes.rb @@ -253,6 +253,24 @@ module Google # @return [String] attr_accessor :jwks_uri + # Defines the locations to extract the JWT. + # JWT locations can be either from HTTP headers or URL query parameters. + # The rule is that the first match wins. The checking order is: checking + # all headers first, then URL query parameters. + # If not specified, default to use following 3 locations: + # 1) Authorization: Bearer + # 2) x-goog-iap-jwt-assertion + # 3) access_token query parameter + # Default locations can be specified as followings: + # jwt_locations: + # - header: Authorization + # value_prefix: "Bearer " + # - header: x-goog-iap-jwt-assertion + # - query: access_token + # Corresponds to the JSON property `jwtLocations` + # @return [Array] + attr_accessor :jwt_locations + def initialize(**args) update!(**args) end @@ -264,6 +282,7 @@ module Google @id = args[:id] if args.key?(:id) @issuer = args[:issuer] if args.key?(:issuer) @jwks_uri = args[:jwks_uri] if args.key?(:jwks_uri) + @jwt_locations = args[:jwt_locations] if args.key?(:jwt_locations) end end @@ -1718,6 +1737,43 @@ module Google end end + # Specifies a location to extract JWT from an API request. + class JwtLocation + include Google::Apis::Core::Hashable + + # Specifies HTTP header name to extract JWT token. + # Corresponds to the JSON property `header` + # @return [String] + attr_accessor :header + + # Specifies URL query parameter name to extract JWT token. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # The value prefix. The value format is "value_prefix`token`" + # Only applies to "in" header type. Must be empty for "in" query type. + # If not empty, the header value has to match (case sensitive) this prefix. + # If not matched, JWT will not be extracted. If matched, JWT will be + # extracted after the prefix is removed. + # For example, for "Authorization: Bearer `JWT`", + # value_prefix="Bearer " with a space at the end. + # Corresponds to the JSON property `valuePrefix` + # @return [String] + attr_accessor :value_prefix + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header = args[:header] if args.key?(:header) + @query = args[:query] if args.key?(:query) + @value_prefix = args[:value_prefix] if args.key?(:value_prefix) + end + end + # A description of a label. class LabelDescriptor include Google::Apis::Core::Hashable diff --git a/generated/google/apis/servicenetworking_v1/representations.rb b/generated/google/apis/servicenetworking_v1/representations.rb index 3906e1105..14fa2343f 100644 --- a/generated/google/apis/servicenetworking_v1/representations.rb +++ b/generated/google/apis/servicenetworking_v1/representations.rb @@ -208,6 +208,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class JwtLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class LabelDescriptor class Representation < Google::Apis::Core::JsonRepresentation; end @@ -470,6 +476,8 @@ module Google property :id, as: 'id' property :issuer, as: 'issuer' property :jwks_uri, as: 'jwksUri' + collection :jwt_locations, as: 'jwtLocations', class: Google::Apis::ServicenetworkingV1::JwtLocation, decorator: Google::Apis::ServicenetworkingV1::JwtLocation::Representation + end end @@ -749,6 +757,15 @@ module Google end end + class JwtLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header, as: 'header' + property :query, as: 'query' + property :value_prefix, as: 'valuePrefix' + end + end + class LabelDescriptor # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/servicenetworking_v1beta.rb b/generated/google/apis/servicenetworking_v1beta.rb index 41e404f83..88ddf68f7 100644 --- a/generated/google/apis/servicenetworking_v1beta.rb +++ b/generated/google/apis/servicenetworking_v1beta.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1beta VERSION = 'V1beta' - REVISION = '20200215' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicenetworking_v1beta/classes.rb b/generated/google/apis/servicenetworking_v1beta/classes.rb index 1af4fcec0..5f48dda37 100644 --- a/generated/google/apis/servicenetworking_v1beta/classes.rb +++ b/generated/google/apis/servicenetworking_v1beta/classes.rb @@ -244,6 +244,24 @@ module Google # @return [String] attr_accessor :jwks_uri + # Defines the locations to extract the JWT. + # JWT locations can be either from HTTP headers or URL query parameters. + # The rule is that the first match wins. The checking order is: checking + # all headers first, then URL query parameters. + # If not specified, default to use following 3 locations: + # 1) Authorization: Bearer + # 2) x-goog-iap-jwt-assertion + # 3) access_token query parameter + # Default locations can be specified as followings: + # jwt_locations: + # - header: Authorization + # value_prefix: "Bearer " + # - header: x-goog-iap-jwt-assertion + # - query: access_token + # Corresponds to the JSON property `jwtLocations` + # @return [Array] + attr_accessor :jwt_locations + def initialize(**args) update!(**args) end @@ -255,6 +273,7 @@ module Google @id = args[:id] if args.key?(:id) @issuer = args[:issuer] if args.key?(:issuer) @jwks_uri = args[:jwks_uri] if args.key?(:jwks_uri) + @jwt_locations = args[:jwt_locations] if args.key?(:jwt_locations) end end @@ -1608,6 +1627,43 @@ module Google end end + # Specifies a location to extract JWT from an API request. + class JwtLocation + include Google::Apis::Core::Hashable + + # Specifies HTTP header name to extract JWT token. + # Corresponds to the JSON property `header` + # @return [String] + attr_accessor :header + + # Specifies URL query parameter name to extract JWT token. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # The value prefix. The value format is "value_prefix`token`" + # Only applies to "in" header type. Must be empty for "in" query type. + # If not empty, the header value has to match (case sensitive) this prefix. + # If not matched, JWT will not be extracted. If matched, JWT will be + # extracted after the prefix is removed. + # For example, for "Authorization: Bearer `JWT`", + # value_prefix="Bearer " with a space at the end. + # Corresponds to the JSON property `valuePrefix` + # @return [String] + attr_accessor :value_prefix + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header = args[:header] if args.key?(:header) + @query = args[:query] if args.key?(:query) + @value_prefix = args[:value_prefix] if args.key?(:value_prefix) + end + end + # A description of a label. class LabelDescriptor include Google::Apis::Core::Hashable diff --git a/generated/google/apis/servicenetworking_v1beta/representations.rb b/generated/google/apis/servicenetworking_v1beta/representations.rb index cf0e843a2..3245d8a4d 100644 --- a/generated/google/apis/servicenetworking_v1beta/representations.rb +++ b/generated/google/apis/servicenetworking_v1beta/representations.rb @@ -178,6 +178,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class JwtLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class LabelDescriptor class Representation < Google::Apis::Core::JsonRepresentation; end @@ -415,6 +421,8 @@ module Google property :id, as: 'id' property :issuer, as: 'issuer' property :jwks_uri, as: 'jwksUri' + collection :jwt_locations, as: 'jwtLocations', class: Google::Apis::ServicenetworkingV1beta::JwtLocation, decorator: Google::Apis::ServicenetworkingV1beta::JwtLocation::Representation + end end @@ -661,6 +669,15 @@ module Google end end + class JwtLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header, as: 'header' + property :query, as: 'query' + property :value_prefix, as: 'valuePrefix' + end + end + class LabelDescriptor # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/serviceusage_v1.rb b/generated/google/apis/serviceusage_v1.rb index d4a289152..861c7fa48 100644 --- a/generated/google/apis/serviceusage_v1.rb +++ b/generated/google/apis/serviceusage_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-usage/ module ServiceusageV1 VERSION = 'V1' - REVISION = '20200215' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceusage_v1/classes.rb b/generated/google/apis/serviceusage_v1/classes.rb index d592fb4ce..989856e2d 100644 --- a/generated/google/apis/serviceusage_v1/classes.rb +++ b/generated/google/apis/serviceusage_v1/classes.rb @@ -163,6 +163,24 @@ module Google # @return [String] attr_accessor :jwks_uri + # Defines the locations to extract the JWT. + # JWT locations can be either from HTTP headers or URL query parameters. + # The rule is that the first match wins. The checking order is: checking + # all headers first, then URL query parameters. + # If not specified, default to use following 3 locations: + # 1) Authorization: Bearer + # 2) x-goog-iap-jwt-assertion + # 3) access_token query parameter + # Default locations can be specified as followings: + # jwt_locations: + # - header: Authorization + # value_prefix: "Bearer " + # - header: x-goog-iap-jwt-assertion + # - query: access_token + # Corresponds to the JSON property `jwtLocations` + # @return [Array] + attr_accessor :jwt_locations + def initialize(**args) update!(**args) end @@ -174,6 +192,7 @@ module Google @id = args[:id] if args.key?(:id) @issuer = args[:issuer] if args.key?(:issuer) @jwks_uri = args[:jwks_uri] if args.key?(:jwks_uri) + @jwt_locations = args[:jwt_locations] if args.key?(:jwt_locations) end end @@ -2453,6 +2472,43 @@ module Google end end + # Specifies a location to extract JWT from an API request. + class JwtLocation + include Google::Apis::Core::Hashable + + # Specifies HTTP header name to extract JWT token. + # Corresponds to the JSON property `header` + # @return [String] + attr_accessor :header + + # Specifies URL query parameter name to extract JWT token. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # The value prefix. The value format is "value_prefix`token`" + # Only applies to "in" header type. Must be empty for "in" query type. + # If not empty, the header value has to match (case sensitive) this prefix. + # If not matched, JWT will not be extracted. If matched, JWT will be + # extracted after the prefix is removed. + # For example, for "Authorization: Bearer `JWT`", + # value_prefix="Bearer " with a space at the end. + # Corresponds to the JSON property `valuePrefix` + # @return [String] + attr_accessor :value_prefix + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header = args[:header] if args.key?(:header) + @query = args[:query] if args.key?(:query) + @value_prefix = args[:value_prefix] if args.key?(:value_prefix) + end + end + # A description of a label. class LabelDescriptor include Google::Apis::Core::Hashable diff --git a/generated/google/apis/serviceusage_v1/representations.rb b/generated/google/apis/serviceusage_v1/representations.rb index 6f3912960..5ed3e2566 100644 --- a/generated/google/apis/serviceusage_v1/representations.rb +++ b/generated/google/apis/serviceusage_v1/representations.rb @@ -274,6 +274,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class JwtLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class LabelDescriptor class Representation < Google::Apis::Core::JsonRepresentation; end @@ -491,6 +497,8 @@ module Google property :id, as: 'id' property :issuer, as: 'issuer' property :jwks_uri, as: 'jwksUri' + collection :jwt_locations, as: 'jwtLocations', class: Google::Apis::ServiceusageV1::JwtLocation, decorator: Google::Apis::ServiceusageV1::JwtLocation::Representation + end end @@ -927,6 +935,15 @@ module Google end end + class JwtLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header, as: 'header' + property :query, as: 'query' + property :value_prefix, as: 'valuePrefix' + end + end + class LabelDescriptor # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/serviceusage_v1beta1.rb b/generated/google/apis/serviceusage_v1beta1.rb index 1fee0da86..032de276e 100644 --- a/generated/google/apis/serviceusage_v1beta1.rb +++ b/generated/google/apis/serviceusage_v1beta1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-usage/ module ServiceusageV1beta1 VERSION = 'V1beta1' - REVISION = '20200215' + REVISION = '20200226' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceusage_v1beta1/classes.rb b/generated/google/apis/serviceusage_v1beta1/classes.rb index d9c8f3bd5..36ef6722f 100644 --- a/generated/google/apis/serviceusage_v1beta1/classes.rb +++ b/generated/google/apis/serviceusage_v1beta1/classes.rb @@ -163,6 +163,24 @@ module Google # @return [String] attr_accessor :jwks_uri + # Defines the locations to extract the JWT. + # JWT locations can be either from HTTP headers or URL query parameters. + # The rule is that the first match wins. The checking order is: checking + # all headers first, then URL query parameters. + # If not specified, default to use following 3 locations: + # 1) Authorization: Bearer + # 2) x-goog-iap-jwt-assertion + # 3) access_token query parameter + # Default locations can be specified as followings: + # jwt_locations: + # - header: Authorization + # value_prefix: "Bearer " + # - header: x-goog-iap-jwt-assertion + # - query: access_token + # Corresponds to the JSON property `jwtLocations` + # @return [Array] + attr_accessor :jwt_locations + def initialize(**args) update!(**args) end @@ -174,6 +192,7 @@ module Google @id = args[:id] if args.key?(:id) @issuer = args[:issuer] if args.key?(:issuer) @jwks_uri = args[:jwks_uri] if args.key?(:jwks_uri) + @jwt_locations = args[:jwt_locations] if args.key?(:jwt_locations) end end @@ -2431,6 +2450,43 @@ module Google end end + # Specifies a location to extract JWT from an API request. + class JwtLocation + include Google::Apis::Core::Hashable + + # Specifies HTTP header name to extract JWT token. + # Corresponds to the JSON property `header` + # @return [String] + attr_accessor :header + + # Specifies URL query parameter name to extract JWT token. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # The value prefix. The value format is "value_prefix`token`" + # Only applies to "in" header type. Must be empty for "in" query type. + # If not empty, the header value has to match (case sensitive) this prefix. + # If not matched, JWT will not be extracted. If matched, JWT will be + # extracted after the prefix is removed. + # For example, for "Authorization: Bearer `JWT`", + # value_prefix="Bearer " with a space at the end. + # Corresponds to the JSON property `valuePrefix` + # @return [String] + attr_accessor :value_prefix + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header = args[:header] if args.key?(:header) + @query = args[:query] if args.key?(:query) + @value_prefix = args[:value_prefix] if args.key?(:value_prefix) + end + end + # A description of a label. class LabelDescriptor include Google::Apis::Core::Hashable diff --git a/generated/google/apis/serviceusage_v1beta1/representations.rb b/generated/google/apis/serviceusage_v1beta1/representations.rb index cadfcb218..97ebdba06 100644 --- a/generated/google/apis/serviceusage_v1beta1/representations.rb +++ b/generated/google/apis/serviceusage_v1beta1/representations.rb @@ -268,6 +268,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class JwtLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class LabelDescriptor class Representation < Google::Apis::Core::JsonRepresentation; end @@ -497,6 +503,8 @@ module Google property :id, as: 'id' property :issuer, as: 'issuer' property :jwks_uri, as: 'jwksUri' + collection :jwt_locations, as: 'jwtLocations', class: Google::Apis::ServiceusageV1beta1::JwtLocation, decorator: Google::Apis::ServiceusageV1beta1::JwtLocation::Representation + end end @@ -926,6 +934,15 @@ module Google end end + class JwtLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header, as: 'header' + property :query, as: 'query' + property :value_prefix, as: 'valuePrefix' + end + end + class LabelDescriptor # @private class Representation < Google::Apis::Core::JsonRepresentation