diff --git a/generated/google/apis/admob_v1.rb b/generated/google/apis/admob_v1.rb new file mode 100644 index 000000000..f0d025601 --- /dev/null +++ b/generated/google/apis/admob_v1.rb @@ -0,0 +1,31 @@ +# 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/admob_v1/service.rb' +require 'google/apis/admob_v1/classes.rb' +require 'google/apis/admob_v1/representations.rb' + +module Google + module Apis + # AdMob API + # + # The Google AdMob API lets you programmatically get reports on earnings. + # + # @see https://developers.google.com/admob/api/ + module AdmobV1 + VERSION = 'V1' + REVISION = '20200130' + end + end +end diff --git a/generated/google/apis/admob_v1/classes.rb b/generated/google/apis/admob_v1/classes.rb new file mode 100644 index 000000000..9165f6fa5 --- /dev/null +++ b/generated/google/apis/admob_v1/classes.rb @@ -0,0 +1,951 @@ +# 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 AdmobV1 + + # Represents a whole or partial calendar date, e.g. a birthday. The time of day + # and time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. This can represent: + # * A full date, with non-zero year, month and day values + # * A month and day value, with a zero year, e.g. an anniversary + # * A year on its own, with zero month and day values + # * A year and month value, with a zero day, e.g. a credit card expiration date + # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. + class Date + include Google::Apis::Core::Hashable + + # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + # if specifying a year by itself or a year and month where the day is not + # significant. + # Corresponds to the JSON property `day` + # @return [Fixnum] + attr_accessor :day + + # Month of year. Must be from 1 to 12, or 0 if specifying a year without a + # month and day. + # Corresponds to the JSON property `month` + # @return [Fixnum] + attr_accessor :month + + # Year of date. Must be from 1 to 9999, or 0 if specifying a date without + # a year. + # Corresponds to the JSON property `year` + # @return [Fixnum] + attr_accessor :year + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @day = args[:day] if args.key?(:day) + @month = args[:month] if args.key?(:month) + @year = args[:year] if args.key?(:year) + end + end + + # Specification of a single date range. Both dates are inclusive. + class DateRange + include Google::Apis::Core::Hashable + + # Represents a whole or partial calendar date, e.g. a birthday. The time of day + # and time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. This can represent: + # * A full date, with non-zero year, month and day values + # * A month and day value, with a zero year, e.g. an anniversary + # * A year on its own, with zero month and day values + # * A year and month value, with a zero day, e.g. a credit card expiration date + # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `endDate` + # @return [Google::Apis::AdmobV1::Date] + attr_accessor :end_date + + # Represents a whole or partial calendar date, e.g. a birthday. The time of day + # and time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. This can represent: + # * A full date, with non-zero year, month and day values + # * A month and day value, with a zero year, e.g. an anniversary + # * A year on its own, with zero month and day values + # * A year and month value, with a zero day, e.g. a credit card expiration date + # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `startDate` + # @return [Google::Apis::AdmobV1::Date] + attr_accessor :start_date + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_date = args[:end_date] if args.key?(:end_date) + @start_date = args[:start_date] if args.key?(:start_date) + end + end + + # Request to generate an AdMob Mediation report. + class GenerateMediationReportRequest + include Google::Apis::Core::Hashable + + # The specification for generating an AdMob Mediation report. + # For example, the specification to get observed ECPM sliced by ad source and + # app for the 'US' and 'CN' countries can look like the following example: + # ` + # "date_range": ` + # "start_date": `"year": 2018, "month": 9, "day": 1`, + # "end_date": `"year": 2018, "month": 9, "day": 30` + # `, + # "dimensions": ["AD_SOURCE", "APP", "COUNTRY"], + # "metrics": ["OBSERVED_ECPM"], + # "dimension_filters": [ + # ` + # "dimension": "COUNTRY", + # "matches_any": `"values": [`"value": "US", "value": "CN"`]` + # ` + # ], + # "sort_conditions": [ + # `"dimension":"APP", order: "ASCENDING"` + # ], + # "localization_settings": ` + # "currency_code": "USD", + # "language_code": "en-US" + # ` + # ` + # For a better understanding, you can treat the preceding specification like + # the following pseudo SQL: + # SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM + # FROM MEDIATION_REPORT + # WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' + # AND COUNTRY IN ('US', 'CN') + # GROUP BY AD_SOURCE, APP, COUNTRY + # ORDER BY APP ASC; + # Corresponds to the JSON property `reportSpec` + # @return [Google::Apis::AdmobV1::MediationReportSpec] + attr_accessor :report_spec + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @report_spec = args[:report_spec] if args.key?(:report_spec) + end + end + + # The streaming response for the AdMob Mediation report where the first + # response contains the report header, then a stream of row responses, and + # finally a footer as the last response message. + # For example: + # [` + # "header": ` + # "date_range": ` + # "start_date": `"year": 2018, "month": 9, "day": 1`, + # "end_date": `"year": 2018, "month": 9, "day": 30` + # ` + # "localization_settings": ` + # "currency_code": "USD", + # "language_code": "en-US" + # ` + # ` + # `, + # ` + # "row": ` + # "dimension_values": ` + # "DATE": `"value": "20180918"`, + # "APP": ` + # "value": "ca-app-pub-8123415297019784~1001342552", + # "display_label": "My app name!" + # ` + # `, + # "metric_values": ` + # "ESTIMATED_EARNINGS": `"decimal_value": "1324746"` + # ` + # ` + # `, + # ` + # "footer": `"matching_row_count": 1` + # `] + class GenerateMediationReportResponse + include Google::Apis::Core::Hashable + + # Groups data available after report generation, for example, warnings and row + # counts. Always sent as the last message in the stream response. + # Corresponds to the JSON property `footer` + # @return [Google::Apis::AdmobV1::ReportFooter] + attr_accessor :footer + + # Groups data helps to treat the generated report. Always sent as a first + # message in the stream response. + # Corresponds to the JSON property `header` + # @return [Google::Apis::AdmobV1::ReportHeader] + attr_accessor :header + + # A row of the returning report. + # Corresponds to the JSON property `row` + # @return [Google::Apis::AdmobV1::ReportRow] + attr_accessor :row + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @footer = args[:footer] if args.key?(:footer) + @header = args[:header] if args.key?(:header) + @row = args[:row] if args.key?(:row) + end + end + + # Request to generate an AdMob Network report. + class GenerateNetworkReportRequest + include Google::Apis::Core::Hashable + + # The specification for generating an AdMob Network report. + # For example, the specification to get clicks and estimated earnings for only + # the 'US' and 'CN' countries can look like the following example: + # ` + # 'date_range': ` + # 'start_date': `'year': 2018, 'month': 9, 'day': 1`, + # 'end_date': `'year': 2018, 'month': 9, 'day': 30` + # `, + # 'dimensions': ['DATE', 'APP', 'COUNTRY'], + # 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], + # 'dimension_filters': [ + # ` + # 'dimension': 'COUNTRY', + # 'matches_any': `'values': [`'value': 'US', 'value': 'CN'`]` + # ` + # ], + # 'sort_conditions': [ + # `'dimension':'APP', order: 'ASCENDING'`, + # `'metric':'CLICKS', order: 'DESCENDING'` + # ], + # 'localization_settings': ` + # 'currency_code': 'USD', + # 'language_code': 'en-US' + # ` + # ` + # For a better understanding, you can treat the preceding specification like + # the following pseudo SQL: + # SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS + # FROM NETWORK_REPORT + # WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' + # AND COUNTRY IN ('US', 'CN') + # GROUP BY DATE, APP, COUNTRY + # ORDER BY APP ASC, CLICKS DESC; + # Corresponds to the JSON property `reportSpec` + # @return [Google::Apis::AdmobV1::NetworkReportSpec] + attr_accessor :report_spec + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @report_spec = args[:report_spec] if args.key?(:report_spec) + end + end + + # The streaming response for the AdMob Network report where the first response + # contains the report header, then a stream of row responses, and finally a + # footer as the last response message. + # For example: + # [` + # "header": ` + # "dateRange": ` + # "startDate": `"year": 2018, "month": 9, "day": 1`, + # "endDate": `"year": 2018, "month": 9, "day": 30` + # ` + # "localizationSettings": ` + # "currencyCode": "USD", + # "languageCode": "en-US" + # ` + # ` + # `, + # ` + # "row": ` + # "dimensionValues": ` + # "DATE": `"value": "20180918"`, + # "APP": ` + # "value": "ca-app-pub-8123415297019784~1001342552", + # displayLabel: "My app name!" + # ` + # `, + # "metricValues": ` + # "ESTIMATED_EARNINGS": `"microsValue": 6500000` + # ` + # ` + # `, + # ... + # ` + # "footer": `"matchingRowCount": 5` + # `] + class GenerateNetworkReportResponse + include Google::Apis::Core::Hashable + + # Groups data available after report generation, for example, warnings and row + # counts. Always sent as the last message in the stream response. + # Corresponds to the JSON property `footer` + # @return [Google::Apis::AdmobV1::ReportFooter] + attr_accessor :footer + + # Groups data helps to treat the generated report. Always sent as a first + # message in the stream response. + # Corresponds to the JSON property `header` + # @return [Google::Apis::AdmobV1::ReportHeader] + attr_accessor :header + + # A row of the returning report. + # Corresponds to the JSON property `row` + # @return [Google::Apis::AdmobV1::ReportRow] + attr_accessor :row + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @footer = args[:footer] if args.key?(:footer) + @header = args[:header] if args.key?(:header) + @row = args[:row] if args.key?(:row) + end + end + + # Response for the publisher account list request. + class ListPublisherAccountsResponse + include Google::Apis::Core::Hashable + + # Publisher that the client credentials can access. + # Corresponds to the JSON property `account` + # @return [Array] + attr_accessor :account + + # If not empty, indicates that there might be more accounts for the request; + # you must pass this value in a new `ListPublisherAccountsRequest`. + # 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) + @account = args[:account] if args.key?(:account) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # Localization settings for reports, such as currency and language. It affects + # how metrics are calculated. + class LocalizationSettings + include Google::Apis::Core::Hashable + + # Currency code of the earning related metrics, which is the 3-letter code + # defined in ISO 4217. The daily average rate is used for the currency + # conversion. Defaults to the account currency code if unspecified. + # Corresponds to the JSON property `currencyCode` + # @return [String] + attr_accessor :currency_code + + # Language used for any localized text, such as some dimension value display + # labels. The language tag defined in the IETF BCP47. Defaults to 'en-US' if + # unspecified. + # Corresponds to the JSON property `languageCode` + # @return [String] + attr_accessor :language_code + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @currency_code = args[:currency_code] if args.key?(:currency_code) + @language_code = args[:language_code] if args.key?(:language_code) + end + end + + # The specification for generating an AdMob Mediation report. + # For example, the specification to get observed ECPM sliced by ad source and + # app for the 'US' and 'CN' countries can look like the following example: + # ` + # "date_range": ` + # "start_date": `"year": 2018, "month": 9, "day": 1`, + # "end_date": `"year": 2018, "month": 9, "day": 30` + # `, + # "dimensions": ["AD_SOURCE", "APP", "COUNTRY"], + # "metrics": ["OBSERVED_ECPM"], + # "dimension_filters": [ + # ` + # "dimension": "COUNTRY", + # "matches_any": `"values": [`"value": "US", "value": "CN"`]` + # ` + # ], + # "sort_conditions": [ + # `"dimension":"APP", order: "ASCENDING"` + # ], + # "localization_settings": ` + # "currency_code": "USD", + # "language_code": "en-US" + # ` + # ` + # For a better understanding, you can treat the preceding specification like + # the following pseudo SQL: + # SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM + # FROM MEDIATION_REPORT + # WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' + # AND COUNTRY IN ('US', 'CN') + # GROUP BY AD_SOURCE, APP, COUNTRY + # ORDER BY APP ASC; + class MediationReportSpec + include Google::Apis::Core::Hashable + + # Specification of a single date range. Both dates are inclusive. + # Corresponds to the JSON property `dateRange` + # @return [Google::Apis::AdmobV1::DateRange] + attr_accessor :date_range + + # Describes which report rows to match based on their dimension values. + # Corresponds to the JSON property `dimensionFilters` + # @return [Array] + attr_accessor :dimension_filters + + # List of dimensions of the report. The value combination of these dimensions + # determines the row of the report. If no dimensions are specified, the + # report returns a single row of requested metrics for the entire account. + # Corresponds to the JSON property `dimensions` + # @return [Array] + attr_accessor :dimensions + + # Localization settings for reports, such as currency and language. It affects + # how metrics are calculated. + # Corresponds to the JSON property `localizationSettings` + # @return [Google::Apis::AdmobV1::LocalizationSettings] + attr_accessor :localization_settings + + # Maximum number of report data rows to return. If the value is not set, the + # API returns as many rows as possible, up to 100000. Acceptable values are + # 1-100000, inclusive. Any other values are treated as 100000. + # Corresponds to the JSON property `maxReportRows` + # @return [Fixnum] + attr_accessor :max_report_rows + + # List of metrics of the report. A report must specify at least one metric. + # Corresponds to the JSON property `metrics` + # @return [Array] + attr_accessor :metrics + + # Describes the sorting of report rows. The order of the condition in the + # list defines its precedence; the earlier the condition, the higher its + # precedence. If no sort conditions are specified, the row ordering is + # undefined. + # Corresponds to the JSON property `sortConditions` + # @return [Array] + attr_accessor :sort_conditions + + # A report time zone. Accepts an IANA TZ name values, such as + # "America/Los_Angeles." If no time zone is defined, the account default + # takes effect. Check default value by the get account action. + # **Warning:** The "America/Los_Angeles" is the only supported value at + # the moment. + # Corresponds to the JSON property `timeZone` + # @return [String] + attr_accessor :time_zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @date_range = args[:date_range] if args.key?(:date_range) + @dimension_filters = args[:dimension_filters] if args.key?(:dimension_filters) + @dimensions = args[:dimensions] if args.key?(:dimensions) + @localization_settings = args[:localization_settings] if args.key?(:localization_settings) + @max_report_rows = args[:max_report_rows] if args.key?(:max_report_rows) + @metrics = args[:metrics] if args.key?(:metrics) + @sort_conditions = args[:sort_conditions] if args.key?(:sort_conditions) + @time_zone = args[:time_zone] if args.key?(:time_zone) + end + end + + # Describes which report rows to match based on their dimension values. + class MediationReportSpecDimensionFilter + include Google::Apis::Core::Hashable + + # Applies the filter criterion to the specified dimension. + # Corresponds to the JSON property `dimension` + # @return [String] + attr_accessor :dimension + + # List of string values. + # Corresponds to the JSON property `matchesAny` + # @return [Google::Apis::AdmobV1::StringList] + attr_accessor :matches_any + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dimension = args[:dimension] if args.key?(:dimension) + @matches_any = args[:matches_any] if args.key?(:matches_any) + end + end + + # Sorting direction to be applied on a dimension or a metric. + class MediationReportSpecSortCondition + include Google::Apis::Core::Hashable + + # Sort by the specified dimension. + # Corresponds to the JSON property `dimension` + # @return [String] + attr_accessor :dimension + + # Sort by the specified metric. + # Corresponds to the JSON property `metric` + # @return [String] + attr_accessor :metric + + # Sorting order of the dimension or metric. + # Corresponds to the JSON property `order` + # @return [String] + attr_accessor :order + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dimension = args[:dimension] if args.key?(:dimension) + @metric = args[:metric] if args.key?(:metric) + @order = args[:order] if args.key?(:order) + end + end + + # The specification for generating an AdMob Network report. + # For example, the specification to get clicks and estimated earnings for only + # the 'US' and 'CN' countries can look like the following example: + # ` + # 'date_range': ` + # 'start_date': `'year': 2018, 'month': 9, 'day': 1`, + # 'end_date': `'year': 2018, 'month': 9, 'day': 30` + # `, + # 'dimensions': ['DATE', 'APP', 'COUNTRY'], + # 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], + # 'dimension_filters': [ + # ` + # 'dimension': 'COUNTRY', + # 'matches_any': `'values': [`'value': 'US', 'value': 'CN'`]` + # ` + # ], + # 'sort_conditions': [ + # `'dimension':'APP', order: 'ASCENDING'`, + # `'metric':'CLICKS', order: 'DESCENDING'` + # ], + # 'localization_settings': ` + # 'currency_code': 'USD', + # 'language_code': 'en-US' + # ` + # ` + # For a better understanding, you can treat the preceding specification like + # the following pseudo SQL: + # SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS + # FROM NETWORK_REPORT + # WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' + # AND COUNTRY IN ('US', 'CN') + # GROUP BY DATE, APP, COUNTRY + # ORDER BY APP ASC, CLICKS DESC; + class NetworkReportSpec + include Google::Apis::Core::Hashable + + # Specification of a single date range. Both dates are inclusive. + # Corresponds to the JSON property `dateRange` + # @return [Google::Apis::AdmobV1::DateRange] + attr_accessor :date_range + + # Describes which report rows to match based on their dimension values. + # Corresponds to the JSON property `dimensionFilters` + # @return [Array] + attr_accessor :dimension_filters + + # List of dimensions of the report. The value combination of these dimensions + # determines the row of the report. If no dimensions are specified, the + # report returns a single row of requested metrics for the entire account. + # Corresponds to the JSON property `dimensions` + # @return [Array] + attr_accessor :dimensions + + # Localization settings for reports, such as currency and language. It affects + # how metrics are calculated. + # Corresponds to the JSON property `localizationSettings` + # @return [Google::Apis::AdmobV1::LocalizationSettings] + attr_accessor :localization_settings + + # Maximum number of report data rows to return. If the value is not set, the + # API returns as many rows as possible, up to 100000. Acceptable values are + # 1-100000, inclusive. Any other values are treated as 100000. + # Corresponds to the JSON property `maxReportRows` + # @return [Fixnum] + attr_accessor :max_report_rows + + # List of metrics of the report. A report must specify at least one metric. + # Corresponds to the JSON property `metrics` + # @return [Array] + attr_accessor :metrics + + # Describes the sorting of report rows. The order of the condition in the + # list defines its precedence; the earlier the condition, the higher its + # precedence. If no sort conditions are specified, the row ordering is + # undefined. + # Corresponds to the JSON property `sortConditions` + # @return [Array] + attr_accessor :sort_conditions + + # A report time zone. Accepts an IANA TZ name values, such as + # "America/Los_Angeles." If no time zone is defined, the account default + # takes effect. Check default value by the get account action. + # **Warning:** The "America/Los_Angeles" is the only supported value at + # the moment. + # Corresponds to the JSON property `timeZone` + # @return [String] + attr_accessor :time_zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @date_range = args[:date_range] if args.key?(:date_range) + @dimension_filters = args[:dimension_filters] if args.key?(:dimension_filters) + @dimensions = args[:dimensions] if args.key?(:dimensions) + @localization_settings = args[:localization_settings] if args.key?(:localization_settings) + @max_report_rows = args[:max_report_rows] if args.key?(:max_report_rows) + @metrics = args[:metrics] if args.key?(:metrics) + @sort_conditions = args[:sort_conditions] if args.key?(:sort_conditions) + @time_zone = args[:time_zone] if args.key?(:time_zone) + end + end + + # Describes which report rows to match based on their dimension values. + class NetworkReportSpecDimensionFilter + include Google::Apis::Core::Hashable + + # Applies the filter criterion to the specified dimension. + # Corresponds to the JSON property `dimension` + # @return [String] + attr_accessor :dimension + + # List of string values. + # Corresponds to the JSON property `matchesAny` + # @return [Google::Apis::AdmobV1::StringList] + attr_accessor :matches_any + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dimension = args[:dimension] if args.key?(:dimension) + @matches_any = args[:matches_any] if args.key?(:matches_any) + end + end + + # Sorting direction to be applied on a dimension or a metric. + class NetworkReportSpecSortCondition + include Google::Apis::Core::Hashable + + # Sort by the specified dimension. + # Corresponds to the JSON property `dimension` + # @return [String] + attr_accessor :dimension + + # Sort by the specified metric. + # Corresponds to the JSON property `metric` + # @return [String] + attr_accessor :metric + + # Sorting order of the dimension or metric. + # Corresponds to the JSON property `order` + # @return [String] + attr_accessor :order + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dimension = args[:dimension] if args.key?(:dimension) + @metric = args[:metric] if args.key?(:metric) + @order = args[:order] if args.key?(:order) + end + end + + # A publisher account contains information relevant to the use of this API, + # such as the time zone used for the reports. + class PublisherAccount + include Google::Apis::Core::Hashable + + # Currency code of the earning-related metrics, which is the 3-letter code + # defined in ISO 4217. The daily average rate is used for the currency + # conversion. + # Corresponds to the JSON property `currencyCode` + # @return [String] + attr_accessor :currency_code + + # Resource name of this account. + # Format is accounts/`publisher_id`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The unique ID by which this publisher account can be identified + # in the API requests (for example, pub-1234567890). + # Corresponds to the JSON property `publisherId` + # @return [String] + attr_accessor :publisher_id + + # The time zone that is used in reports that are generated for this account. + # The value is a time-zone ID as specified by the CLDR project, + # for example, "America/Los_Angeles". + # Corresponds to the JSON property `reportingTimeZone` + # @return [String] + attr_accessor :reporting_time_zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @currency_code = args[:currency_code] if args.key?(:currency_code) + @name = args[:name] if args.key?(:name) + @publisher_id = args[:publisher_id] if args.key?(:publisher_id) + @reporting_time_zone = args[:reporting_time_zone] if args.key?(:reporting_time_zone) + end + end + + # Groups data available after report generation, for example, warnings and row + # counts. Always sent as the last message in the stream response. + class ReportFooter + include Google::Apis::Core::Hashable + + # Total number of rows that did match the request. + # Corresponds to the JSON property `matchingRowCount` + # @return [Fixnum] + attr_accessor :matching_row_count + + # Warnings associated with generation of the report. + # Corresponds to the JSON property `warnings` + # @return [Array] + attr_accessor :warnings + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @matching_row_count = args[:matching_row_count] if args.key?(:matching_row_count) + @warnings = args[:warnings] if args.key?(:warnings) + end + end + + # Groups data helps to treat the generated report. Always sent as a first + # message in the stream response. + class ReportHeader + include Google::Apis::Core::Hashable + + # Specification of a single date range. Both dates are inclusive. + # Corresponds to the JSON property `dateRange` + # @return [Google::Apis::AdmobV1::DateRange] + attr_accessor :date_range + + # Localization settings for reports, such as currency and language. It affects + # how metrics are calculated. + # Corresponds to the JSON property `localizationSettings` + # @return [Google::Apis::AdmobV1::LocalizationSettings] + attr_accessor :localization_settings + + # The report time zone. The value is a time-zone ID as specified by the CLDR + # project, for example, "America/Los_Angeles". + # Corresponds to the JSON property `reportingTimeZone` + # @return [String] + attr_accessor :reporting_time_zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @date_range = args[:date_range] if args.key?(:date_range) + @localization_settings = args[:localization_settings] if args.key?(:localization_settings) + @reporting_time_zone = args[:reporting_time_zone] if args.key?(:reporting_time_zone) + end + end + + # A row of the returning report. + class ReportRow + include Google::Apis::Core::Hashable + + # Map of dimension values in a row, with keys as enum name of the dimensions. + # Corresponds to the JSON property `dimensionValues` + # @return [Hash] + attr_accessor :dimension_values + + # Map of metric values in a row, with keys as enum name of the metrics. If + # a metric being requested has no value returned, the map will not include + # it. + # Corresponds to the JSON property `metricValues` + # @return [Hash] + attr_accessor :metric_values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dimension_values = args[:dimension_values] if args.key?(:dimension_values) + @metric_values = args[:metric_values] if args.key?(:metric_values) + end + end + + # Representation of a dimension value. + class ReportRowDimensionValue + include Google::Apis::Core::Hashable + + # The localized string representation of the value. If unspecified, the + # display label should be derived from the value. + # Corresponds to the JSON property `displayLabel` + # @return [String] + attr_accessor :display_label + + # Dimension value in the format specified in the report's spec Dimension + # enum. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_label = args[:display_label] if args.key?(:display_label) + @value = args[:value] if args.key?(:value) + end + end + + # Representation of a metric value. + class ReportRowMetricValue + include Google::Apis::Core::Hashable + + # Double precision (approximate) decimal values. Rates are from 0 to 1. + # Corresponds to the JSON property `doubleValue` + # @return [Float] + attr_accessor :double_value + + # Metric integer value. + # Corresponds to the JSON property `integerValue` + # @return [Fixnum] + attr_accessor :integer_value + + # Amount in micros. One million is equivalent to one unit. Currency value + # is in the unit (USD, EUR or other) specified by the request. + # For example, $6.50 whould be represented as 6500000 micros. + # Corresponds to the JSON property `microsValue` + # @return [Fixnum] + attr_accessor :micros_value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @double_value = args[:double_value] if args.key?(:double_value) + @integer_value = args[:integer_value] if args.key?(:integer_value) + @micros_value = args[:micros_value] if args.key?(:micros_value) + end + end + + # Warnings associated with generation of the report. + class ReportWarning + include Google::Apis::Core::Hashable + + # Describes the details of the warning message, in English. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Type of the warning. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @type = args[:type] if args.key?(:type) + end + end + + # List of string values. + class StringList + include Google::Apis::Core::Hashable + + # The string values. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @values = args[:values] if args.key?(:values) + end + end + end + end +end diff --git a/generated/google/apis/admob_v1/representations.rb b/generated/google/apis/admob_v1/representations.rb new file mode 100644 index 000000000..757803d61 --- /dev/null +++ b/generated/google/apis/admob_v1/representations.rb @@ -0,0 +1,378 @@ +# 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 AdmobV1 + + class Date + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DateRange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GenerateMediationReportRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GenerateMediationReportResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GenerateNetworkReportRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GenerateNetworkReportResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListPublisherAccountsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LocalizationSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MediationReportSpec + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MediationReportSpecDimensionFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MediationReportSpecSortCondition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class NetworkReportSpec + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class NetworkReportSpecDimensionFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class NetworkReportSpecSortCondition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PublisherAccount + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReportFooter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReportHeader + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReportRow + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReportRowDimensionValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReportRowMetricValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReportWarning + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StringList + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Date + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :day, as: 'day' + property :month, as: 'month' + property :year, as: 'year' + end + end + + class DateRange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_date, as: 'endDate', class: Google::Apis::AdmobV1::Date, decorator: Google::Apis::AdmobV1::Date::Representation + + property :start_date, as: 'startDate', class: Google::Apis::AdmobV1::Date, decorator: Google::Apis::AdmobV1::Date::Representation + + end + end + + class GenerateMediationReportRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :report_spec, as: 'reportSpec', class: Google::Apis::AdmobV1::MediationReportSpec, decorator: Google::Apis::AdmobV1::MediationReportSpec::Representation + + end + end + + class GenerateMediationReportResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :footer, as: 'footer', class: Google::Apis::AdmobV1::ReportFooter, decorator: Google::Apis::AdmobV1::ReportFooter::Representation + + property :header, as: 'header', class: Google::Apis::AdmobV1::ReportHeader, decorator: Google::Apis::AdmobV1::ReportHeader::Representation + + property :row, as: 'row', class: Google::Apis::AdmobV1::ReportRow, decorator: Google::Apis::AdmobV1::ReportRow::Representation + + end + end + + class GenerateNetworkReportRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :report_spec, as: 'reportSpec', class: Google::Apis::AdmobV1::NetworkReportSpec, decorator: Google::Apis::AdmobV1::NetworkReportSpec::Representation + + end + end + + class GenerateNetworkReportResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :footer, as: 'footer', class: Google::Apis::AdmobV1::ReportFooter, decorator: Google::Apis::AdmobV1::ReportFooter::Representation + + property :header, as: 'header', class: Google::Apis::AdmobV1::ReportHeader, decorator: Google::Apis::AdmobV1::ReportHeader::Representation + + property :row, as: 'row', class: Google::Apis::AdmobV1::ReportRow, decorator: Google::Apis::AdmobV1::ReportRow::Representation + + end + end + + class ListPublisherAccountsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :account, as: 'account', class: Google::Apis::AdmobV1::PublisherAccount, decorator: Google::Apis::AdmobV1::PublisherAccount::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class LocalizationSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :currency_code, as: 'currencyCode' + property :language_code, as: 'languageCode' + end + end + + class MediationReportSpec + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :date_range, as: 'dateRange', class: Google::Apis::AdmobV1::DateRange, decorator: Google::Apis::AdmobV1::DateRange::Representation + + collection :dimension_filters, as: 'dimensionFilters', class: Google::Apis::AdmobV1::MediationReportSpecDimensionFilter, decorator: Google::Apis::AdmobV1::MediationReportSpecDimensionFilter::Representation + + collection :dimensions, as: 'dimensions' + property :localization_settings, as: 'localizationSettings', class: Google::Apis::AdmobV1::LocalizationSettings, decorator: Google::Apis::AdmobV1::LocalizationSettings::Representation + + property :max_report_rows, as: 'maxReportRows' + collection :metrics, as: 'metrics' + collection :sort_conditions, as: 'sortConditions', class: Google::Apis::AdmobV1::MediationReportSpecSortCondition, decorator: Google::Apis::AdmobV1::MediationReportSpecSortCondition::Representation + + property :time_zone, as: 'timeZone' + end + end + + class MediationReportSpecDimensionFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dimension, as: 'dimension' + property :matches_any, as: 'matchesAny', class: Google::Apis::AdmobV1::StringList, decorator: Google::Apis::AdmobV1::StringList::Representation + + end + end + + class MediationReportSpecSortCondition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dimension, as: 'dimension' + property :metric, as: 'metric' + property :order, as: 'order' + end + end + + class NetworkReportSpec + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :date_range, as: 'dateRange', class: Google::Apis::AdmobV1::DateRange, decorator: Google::Apis::AdmobV1::DateRange::Representation + + collection :dimension_filters, as: 'dimensionFilters', class: Google::Apis::AdmobV1::NetworkReportSpecDimensionFilter, decorator: Google::Apis::AdmobV1::NetworkReportSpecDimensionFilter::Representation + + collection :dimensions, as: 'dimensions' + property :localization_settings, as: 'localizationSettings', class: Google::Apis::AdmobV1::LocalizationSettings, decorator: Google::Apis::AdmobV1::LocalizationSettings::Representation + + property :max_report_rows, as: 'maxReportRows' + collection :metrics, as: 'metrics' + collection :sort_conditions, as: 'sortConditions', class: Google::Apis::AdmobV1::NetworkReportSpecSortCondition, decorator: Google::Apis::AdmobV1::NetworkReportSpecSortCondition::Representation + + property :time_zone, as: 'timeZone' + end + end + + class NetworkReportSpecDimensionFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dimension, as: 'dimension' + property :matches_any, as: 'matchesAny', class: Google::Apis::AdmobV1::StringList, decorator: Google::Apis::AdmobV1::StringList::Representation + + end + end + + class NetworkReportSpecSortCondition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dimension, as: 'dimension' + property :metric, as: 'metric' + property :order, as: 'order' + end + end + + class PublisherAccount + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :currency_code, as: 'currencyCode' + property :name, as: 'name' + property :publisher_id, as: 'publisherId' + property :reporting_time_zone, as: 'reportingTimeZone' + end + end + + class ReportFooter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :matching_row_count, :numeric_string => true, as: 'matchingRowCount' + collection :warnings, as: 'warnings', class: Google::Apis::AdmobV1::ReportWarning, decorator: Google::Apis::AdmobV1::ReportWarning::Representation + + end + end + + class ReportHeader + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :date_range, as: 'dateRange', class: Google::Apis::AdmobV1::DateRange, decorator: Google::Apis::AdmobV1::DateRange::Representation + + property :localization_settings, as: 'localizationSettings', class: Google::Apis::AdmobV1::LocalizationSettings, decorator: Google::Apis::AdmobV1::LocalizationSettings::Representation + + property :reporting_time_zone, as: 'reportingTimeZone' + end + end + + class ReportRow + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :dimension_values, as: 'dimensionValues', class: Google::Apis::AdmobV1::ReportRowDimensionValue, decorator: Google::Apis::AdmobV1::ReportRowDimensionValue::Representation + + hash :metric_values, as: 'metricValues', class: Google::Apis::AdmobV1::ReportRowMetricValue, decorator: Google::Apis::AdmobV1::ReportRowMetricValue::Representation + + end + end + + class ReportRowDimensionValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_label, as: 'displayLabel' + property :value, as: 'value' + end + end + + class ReportRowMetricValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :double_value, as: 'doubleValue' + property :integer_value, :numeric_string => true, as: 'integerValue' + property :micros_value, :numeric_string => true, as: 'microsValue' + end + end + + class ReportWarning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :type, as: 'type' + end + end + + class StringList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :values, as: 'values' + end + end + end + end +end diff --git a/generated/google/apis/admob_v1/service.rb b/generated/google/apis/admob_v1/service.rb new file mode 100644 index 000000000..1ce99b7ba --- /dev/null +++ b/generated/google/apis/admob_v1/service.rb @@ -0,0 +1,196 @@ +# 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 AdmobV1 + # AdMob API + # + # The Google AdMob API lets you programmatically get reports on earnings. + # + # @example + # require 'google/apis/admob_v1' + # + # Admob = Google::Apis::AdmobV1 # Alias the module + # service = Admob::AdMobService.new + # + # @see https://developers.google.com/admob/api/ + class AdMobService < 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://admob.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets information about the specified AdMob publisher account. + # @param [String] name + # Resource name of the publisher account to retrieve. + # Example: accounts/pub-9876543210987654 + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::AdmobV1::PublisherAccount] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AdmobV1::PublisherAccount] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_account(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::AdmobV1::PublisherAccount::Representation + command.response_class = Google::Apis::AdmobV1::PublisherAccount + 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 the AdMob publisher account accessible with the client credential. + # Currently, all credentials have access to at most one AdMob account. + # @param [Fixnum] page_size + # Maximum number of accounts to return. + # @param [String] page_token + # The value returned by the last `ListPublisherAccountsResponse`; indicates + # that this is a continuation of a prior `ListPublisherAccounts` call, and + # that the system should return the next page of data. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::AdmobV1::ListPublisherAccountsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AdmobV1::ListPublisherAccountsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_accounts(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/accounts', options) + command.response_representation = Google::Apis::AdmobV1::ListPublisherAccountsResponse::Representation + command.response_class = Google::Apis::AdmobV1::ListPublisherAccountsResponse + 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 + + # Generates an AdMob Mediation report based on the provided report + # specification. + # @param [String] parent + # Resource name of the account to generate the report for. + # Example: accounts/pub-9876543210987654 + # @param [Google::Apis::AdmobV1::GenerateMediationReportRequest] generate_mediation_report_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::AdmobV1::GenerateMediationReportResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AdmobV1::GenerateMediationReportResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def generate_mediation_report(parent, generate_mediation_report_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/mediationReport:generate', options) + command.request_representation = Google::Apis::AdmobV1::GenerateMediationReportRequest::Representation + command.request_object = generate_mediation_report_request_object + command.response_representation = Google::Apis::AdmobV1::GenerateMediationReportResponse::Representation + command.response_class = Google::Apis::AdmobV1::GenerateMediationReportResponse + command.params['parent'] = parent unless parent.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Generates an AdMob Network report based on the provided report + # specification. + # @param [String] parent + # Resource name of the account to generate the report for. + # Example: accounts/pub-9876543210987654 + # @param [Google::Apis::AdmobV1::GenerateNetworkReportRequest] generate_network_report_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::AdmobV1::GenerateNetworkReportResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AdmobV1::GenerateNetworkReportResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def generate_network_report(parent, generate_network_report_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/networkReport:generate', options) + command.request_representation = Google::Apis::AdmobV1::GenerateNetworkReportRequest::Representation + command.request_object = generate_network_report_request_object + command.response_representation = Google::Apis::AdmobV1::GenerateNetworkReportResponse::Representation + command.response_class = Google::Apis::AdmobV1::GenerateNetworkReportResponse + command.params['parent'] = parent unless parent.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + 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/container_v1.rb b/generated/google/apis/container_v1.rb index 39974d8df..b3481fdb1 100644 --- a/generated/google/apis/container_v1.rb +++ b/generated/google/apis/container_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-engine/ module ContainerV1 VERSION = 'V1' - REVISION = '20200109' + REVISION = '20200121' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/container_v1/classes.rb b/generated/google/apis/container_v1/classes.rb index 69ae51898..e0cc419bf 100644 --- a/generated/google/apis/container_v1/classes.rb +++ b/generated/google/apis/container_v1/classes.rb @@ -2243,6 +2243,12 @@ module Google # @return [Array] attr_accessor :instance_group_urls + # The list of Google Compute Engine [zones](/compute/docs/zones#available) + # in which the NodePool's nodes should be located. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + # NodeManagement defines the set of node management services turned on for the # node pool. # Corresponds to the JSON property `management` @@ -2280,6 +2286,28 @@ module Google # @return [String] attr_accessor :status_message + # These upgrade settings control the level of parallelism and the level of + # disruption caused by an upgrade. + # maxUnavailable controls the number of nodes that can be simultaneously + # unavailable. + # maxSurge controls the number of additional nodes that can be added to the + # node pool temporarily for the time of the upgrade to increase the number of + # available nodes. + # (maxUnavailable + maxSurge) determines the level of parallelism (how many + # nodes are being upgraded at the same time). + # Note: upgrades inevitably introduce some disruption since workloads need to + # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, + # this holds true. (Disruption stays within the limits of + # PodDisruptionBudget, if it is configured.) + # Consider a hypothetical node pool with 5 nodes having maxSurge=2, + # maxUnavailable=1. This means the upgrade process upgrades 3 nodes + # simultaneously. It creates 2 additional (upgraded) nodes, then it brings + # down 3 old (not yet upgraded) nodes at the same time. This ensures that + # there are always at least 4 nodes available. + # Corresponds to the JSON property `upgradeSettings` + # @return [Google::Apis::ContainerV1::UpgradeSettings] + attr_accessor :upgrade_settings + # The version of the Kubernetes of this node. # Corresponds to the JSON property `version` # @return [String] @@ -2296,6 +2324,7 @@ module Google @config = args[:config] if args.key?(:config) @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count) @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls) + @locations = args[:locations] if args.key?(:locations) @management = args[:management] if args.key?(:management) @max_pods_constraint = args[:max_pods_constraint] if args.key?(:max_pods_constraint) @name = args[:name] if args.key?(:name) @@ -2303,6 +2332,7 @@ module Google @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) + @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings) @version = args[:version] if args.key?(:version) end end @@ -3749,6 +3779,15 @@ module Google # @return [String] attr_accessor :image_type + # The desired list of Google Compute Engine + # [zones](/compute/docs/zones#available) in which the node pool's nodes + # should be located. Changing the locations for a node pool will result + # in nodes being either created or removed from the node pool, depending + # on whether locations are being added or removed. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + # The name (project, location, cluster, node pool) of the node pool to # update. Specified in the format # 'projects/*/locations/*/clusters/*/nodePools/*'. @@ -3782,6 +3821,28 @@ module Google # @return [String] attr_accessor :project_id + # These upgrade settings control the level of parallelism and the level of + # disruption caused by an upgrade. + # maxUnavailable controls the number of nodes that can be simultaneously + # unavailable. + # maxSurge controls the number of additional nodes that can be added to the + # node pool temporarily for the time of the upgrade to increase the number of + # available nodes. + # (maxUnavailable + maxSurge) determines the level of parallelism (how many + # nodes are being upgraded at the same time). + # Note: upgrades inevitably introduce some disruption since workloads need to + # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, + # this holds true. (Disruption stays within the limits of + # PodDisruptionBudget, if it is configured.) + # Consider a hypothetical node pool with 5 nodes having maxSurge=2, + # maxUnavailable=1. This means the upgrade process upgrades 3 nodes + # simultaneously. It creates 2 additional (upgraded) nodes, then it brings + # down 3 old (not yet upgraded) nodes at the same time. This ensures that + # there are always at least 4 nodes available. + # Corresponds to the JSON property `upgradeSettings` + # @return [Google::Apis::ContainerV1::UpgradeSettings] + attr_accessor :upgrade_settings + # Required. Deprecated. The name of the Google Compute Engine # [zone](/compute/docs/zones#available) in which the cluster # resides. @@ -3798,14 +3859,61 @@ module Google def update!(**args) @cluster_id = args[:cluster_id] if args.key?(:cluster_id) @image_type = args[:image_type] if args.key?(:image_type) + @locations = args[:locations] if args.key?(:locations) @name = args[:name] if args.key?(:name) @node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id) @node_version = args[:node_version] if args.key?(:node_version) @project_id = args[:project_id] if args.key?(:project_id) + @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings) @zone = args[:zone] if args.key?(:zone) end end + # These upgrade settings control the level of parallelism and the level of + # disruption caused by an upgrade. + # maxUnavailable controls the number of nodes that can be simultaneously + # unavailable. + # maxSurge controls the number of additional nodes that can be added to the + # node pool temporarily for the time of the upgrade to increase the number of + # available nodes. + # (maxUnavailable + maxSurge) determines the level of parallelism (how many + # nodes are being upgraded at the same time). + # Note: upgrades inevitably introduce some disruption since workloads need to + # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, + # this holds true. (Disruption stays within the limits of + # PodDisruptionBudget, if it is configured.) + # Consider a hypothetical node pool with 5 nodes having maxSurge=2, + # maxUnavailable=1. This means the upgrade process upgrades 3 nodes + # simultaneously. It creates 2 additional (upgraded) nodes, then it brings + # down 3 old (not yet upgraded) nodes at the same time. This ensures that + # there are always at least 4 nodes available. + class UpgradeSettings + include Google::Apis::Core::Hashable + + # The maximum number of nodes that can be created beyond the current size + # of the node pool during the upgrade process. + # Corresponds to the JSON property `maxSurge` + # @return [Fixnum] + attr_accessor :max_surge + + # The maximum number of nodes that can be simultaneously unavailable during + # the upgrade process. A node is considered available if its status is + # Ready. + # Corresponds to the JSON property `maxUnavailable` + # @return [Fixnum] + attr_accessor :max_unavailable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @max_surge = args[:max_surge] if args.key?(:max_surge) + @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable) + end + end + # UsableSubnetwork resource returns the subnetwork name, its associated network # and the primary CIDR range. class UsableSubnetwork diff --git a/generated/google/apis/container_v1/representations.rb b/generated/google/apis/container_v1/representations.rb index 935ecbe05..004fc490c 100644 --- a/generated/google/apis/container_v1/representations.rb +++ b/generated/google/apis/container_v1/representations.rb @@ -484,6 +484,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class UpgradeSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class UsableSubnetwork class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1038,6 +1044,7 @@ module Google property :initial_node_count, as: 'initialNodeCount' collection :instance_group_urls, as: 'instanceGroupUrls' + collection :locations, as: 'locations' property :management, as: 'management', class: Google::Apis::ContainerV1::NodeManagement, decorator: Google::Apis::ContainerV1::NodeManagement::Representation property :max_pods_constraint, as: 'maxPodsConstraint', class: Google::Apis::ContainerV1::MaxPodsConstraint, decorator: Google::Apis::ContainerV1::MaxPodsConstraint::Representation @@ -1047,6 +1054,8 @@ module Google property :self_link, as: 'selfLink' property :status, as: 'status' property :status_message, as: 'statusMessage' + property :upgrade_settings, as: 'upgradeSettings', class: Google::Apis::ContainerV1::UpgradeSettings, decorator: Google::Apis::ContainerV1::UpgradeSettings::Representation + property :version, as: 'version' end end @@ -1383,14 +1392,25 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :cluster_id, as: 'clusterId' property :image_type, as: 'imageType' + collection :locations, as: 'locations' property :name, as: 'name' property :node_pool_id, as: 'nodePoolId' property :node_version, as: 'nodeVersion' property :project_id, as: 'projectId' + property :upgrade_settings, as: 'upgradeSettings', class: Google::Apis::ContainerV1::UpgradeSettings, decorator: Google::Apis::ContainerV1::UpgradeSettings::Representation + property :zone, as: 'zone' end end + class UpgradeSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :max_surge, as: 'maxSurge' + property :max_unavailable, as: 'maxUnavailable' + end + end + class UsableSubnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/container_v1/service.rb b/generated/google/apis/container_v1/service.rb index 70f904737..eb09e0049 100644 --- a/generated/google/apis/container_v1/service.rb +++ b/generated/google/apis/container_v1/service.rb @@ -458,6 +458,10 @@ module Google end # Sets the locations for a specific cluster. + # Deprecated. Use + # [projects.locations.clusters.update](/kubernetes-engine/docs/reference/rest/v1/ + # projects.locations.clusters.update) + # instead. # @param [String] name # The name (project, location, cluster) of the cluster to set locations. # Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1687,6 +1691,10 @@ module Google end # Sets the locations for a specific cluster. + # Deprecated. Use + # [projects.locations.clusters.update](/kubernetes-engine/docs/reference/rest/v1/ + # projects.locations.clusters.update) + # instead. # @param [String] project_id # Required. Deprecated. The Google Developers Console [project ID or project # number](https://support.google.com/cloud/answer/6158840). diff --git a/generated/google/apis/container_v1beta1.rb b/generated/google/apis/container_v1beta1.rb index dad899af4..39256c269 100644 --- a/generated/google/apis/container_v1beta1.rb +++ b/generated/google/apis/container_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-engine/ module ContainerV1beta1 VERSION = 'V1beta1' - REVISION = '20200109' + REVISION = '20200121' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/container_v1beta1/service.rb b/generated/google/apis/container_v1beta1/service.rb index 06feee93e..913a4aeb2 100644 --- a/generated/google/apis/container_v1beta1/service.rb +++ b/generated/google/apis/container_v1beta1/service.rb @@ -489,6 +489,10 @@ module Google end # Sets the locations for a specific cluster. + # Deprecated. Use + # [projects.locations.clusters.update](/kubernetes-engine/docs/reference/rest/ + # v1beta1/projects.locations.clusters.update) + # instead. # @param [String] name # The name (project, location, cluster) of the cluster to set locations. # Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1718,6 +1722,10 @@ module Google end # Sets the locations for a specific cluster. + # Deprecated. Use + # [projects.locations.clusters.update](/kubernetes-engine/docs/reference/rest/ + # v1beta1/projects.locations.clusters.update) + # instead. # @param [String] project_id # Required. Deprecated. The Google Developers Console [project ID or project # number](https://support.google.com/cloud/answer/6158840). diff --git a/generated/google/apis/healthcare_v1beta1.rb b/generated/google/apis/healthcare_v1beta1.rb index 17dc1b37f..3273a4d3f 100644 --- a/generated/google/apis/healthcare_v1beta1.rb +++ b/generated/google/apis/healthcare_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/healthcare module HealthcareV1beta1 VERSION = 'V1beta1' - REVISION = '20200116' + REVISION = '20200120' # 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/healthcare_v1beta1/classes.rb b/generated/google/apis/healthcare_v1beta1/classes.rb index cb440378f..e4b5fe2e8 100644 --- a/generated/google/apis/healthcare_v1beta1/classes.rb +++ b/generated/google/apis/healthcare_v1beta1/classes.rb @@ -1071,7 +1071,7 @@ module Google # `.../`study_id`/`series_id`/`instance_id`[/`frame_number`].`extension`` # The frame_number component exists only for multi-frame instances. # Refer to the DICOM conformance statement for permissible MIME types: - # https://cloud.google.com/healthcare/docs/dicom#wado-rs + # https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction # The following extensions are used for output files: # application/dicom -> .dcm # image/jpeg -> .jpg @@ -2447,7 +2447,8 @@ module Google # The FHIR resource type to search, such as Patient or Observation. For a # complete list, see the FHIR Resource Index # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). # Corresponds to the JSON property `resourceType` # @return [String] attr_accessor :resource_type diff --git a/generated/google/apis/healthcare_v1beta1/service.rb b/generated/google/apis/healthcare_v1beta1/service.rb index 985271e05..021401fdd 100644 --- a/generated/google/apis/healthcare_v1beta1/service.rb +++ b/generated/google/apis/healthcare_v1beta1/service.rb @@ -616,7 +616,7 @@ module Google execute_or_queue_command(command, &block) end - # Creates a new DICOM store containing de-identified data from the source + # De-identifies data from the source store and writes it to the destination # store. The metadata field type # is OperationMetadata. # If the request is successful, the @@ -1156,7 +1156,7 @@ module Google end # DeleteStudy deletes all instances within the given study. Delete requests - # are equivalent to the GET requests specified in the WADO-RS standard. + # are equivalent to the GET requests specified in the Retrieve transaction. # @param [String] parent # @param [String] dicom_web_path # The path of the DeleteStudy request. For example, `studies/`study_uid``. @@ -1380,8 +1380,8 @@ module Google end # DeleteSeries deletes all instances within the given study and series. - # Delete requests are equivalent to the GET requests specified in the WADO-RS - # standard. + # Delete requests are equivalent to the GET requests specified in the + # Retrieve transaction. # @param [String] parent # The name of the DICOM store that is being accessed. For example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ @@ -1532,7 +1532,7 @@ module Google # DeleteInstance deletes an instance associated with the given study, series, # and SOP Instance UID. Delete requests are equivalent to the GET requests - # specified in the WADO-RS standard. + # specified in the Retrieve transaction. # @param [String] parent # The name of the DICOM store that is being accessed. For example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ @@ -1799,7 +1799,7 @@ module Google execute_or_queue_command(command, &block) end - # Creates a new FHIR store containing de-identified data from the source + # De-identifies data from the source store and writes it to the destination # store. The metadata field type # is OperationMetadata. # If the request is successful, the @@ -2252,7 +2252,9 @@ module Google # `Observation.code`, sorted from most recent to oldest. # Implements the FHIR extended operation Observation-lastn # ([STU3](http://hl7.org/implement/standards/fhir/STU3/observation-operations. - # html#lastn)). + # html#lastn), + # [R4](http://hl7.org/implement/standards/fhir/R4/observation-operations.html# + # lastn)). # DSTU2 doesn't define the Observation-lastn method, but the server supports # it the same way it supports STU3. # Search terms are provided as query parameters following the same pattern as @@ -2394,14 +2396,15 @@ module Google end # Gets the FHIR capability statement - # ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html)) - # , + # ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), # or the [conformance # statement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html) # in the DSTU2 case for the store, which contains a description of # functionality supported by the server. # Implements the FHIR standard capabilities interaction - # ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities)), + # ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), # or the [conformance # interaction](http://hl7.org/implement/standards/fhir/DSTU2/http.html# # conformance) @@ -2440,7 +2443,8 @@ module Google # Deletes FHIR resources that match a search query. # Implements the FHIR standard conditional delete interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)). # If multiple resources match, all of them will be deleted. # Search terms are provided as query parameters following the same pattern as # the search method. @@ -2456,7 +2460,8 @@ module Google # The FHIR resource type to delete, such as Patient or Observation. For a # complete list, see the FHIR Resource Index # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -2489,7 +2494,8 @@ module Google # parameters, updates part of that resource by applying the operations # specified in a [JSON Patch](http://jsonpatch.com/) document. # Implements the FHIR standard conditional patch interaction - # ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch)). + # ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)). # DSTU2 doesn't define a conditional patch method, but the server supports it # in the same way it supports STU3. # Search terms are provided as query parameters following the same pattern as @@ -2510,7 +2516,8 @@ module Google # The FHIR resource type to update, such as Patient or Observation. For a # complete list, see the FHIR Resource Index # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). # @param [Google::Apis::HealthcareV1beta1::HttpBody] http_body_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -2546,7 +2553,8 @@ module Google # parameters, updates the entire contents of that resource. # Implements the FHIR standard conditional update interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cond-update)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cond-update), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#cond-update)). # Search terms are provided as query parameters following the same pattern as # the search method. # If the search criteria identify more than one match, the request will @@ -2572,7 +2580,8 @@ module Google # The FHIR resource type to update, such as Patient or Observation. For a # complete list, see the FHIR Resource Index # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). # Must match the resource type in the provided content. # @param [Google::Apis::HealthcareV1beta1::HttpBody] http_body_object # @param [String] fields @@ -2608,11 +2617,13 @@ module Google # Creates a FHIR resource. # Implements the FHIR standard create interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create)), + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), # which creates a new resource with a server-assigned resource ID. # Also supports the FHIR standard conditional create interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#ccreate)), + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), # specified by supplying an `If-None-Exist` header containing a FHIR search # query. If no resources match this search query, the server processes the # create operation as normal. @@ -2631,7 +2642,8 @@ module Google # The FHIR resource type to create, such as Patient or Observation. For a # complete list, see the FHIR Resource Index # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)). # Must match the resource type in the provided content. # @param [Google::Apis::HealthcareV1beta1::HttpBody] http_body_object # @param [String] fields @@ -2667,7 +2679,8 @@ module Google # Deletes a FHIR resource. # Implements the FHIR standard delete interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)). # Note: Unless resource versioning is disabled by setting the # disable_resource_versioning flag # on the FHIR store, the deleted resources will be moved to a history @@ -2706,15 +2719,18 @@ module Google # Executes all the requests in the given Bundle. # Implements the FHIR standard batch/transaction interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#transaction)). # Supports all interactions within a bundle, except search. This method # accepts Bundles of type `batch` and `transaction`, processing them # according to the batch processing rules # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1)) + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#brules)) # and transaction processing rules # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#trules)). # The request body must contain a JSON-encoded FHIR `Bundle` resource, and # the request headers must contain `Content-Type: application/fhir+json`. # For a batch bundle or a successful transaction the response body will @@ -2761,7 +2777,8 @@ module Google # deleted versions) from the FHIR store. # Implements the per-resource form of the FHIR standard history interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)). # On success, the response body will contain a JSON-encoded representation # of a `Bundle` resource of type `history`, containing the version history # sorted from most recent to oldest versions. @@ -2829,7 +2846,8 @@ module Google # Updates part of an existing resource by applying the operations specified # in a [JSON Patch](http://jsonpatch.com/) document. # Implements the FHIR standard patch interaction - # ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch)). + # ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)]). # DSTU2 doesn't define a patch method, but the server supports it in the same # way it supports STU3. # The request body must contain a JSON Patch document, and the request @@ -2875,10 +2893,12 @@ module Google # Gets the contents of a FHIR resource. # Implements the FHIR standard read interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)). # Also supports the FHIR standard conditional read interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread)) + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread)) # specified by supplying an `If-Modified-Since` header with a date/time value # or an `If-None-Match` header with an ETag value. # On success, the response body will contain a JSON-encoded representation @@ -2920,10 +2940,12 @@ module Google # specified as query parameters. # Implements the FHIR standard search interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search)) + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) # using the search semantics described in the FHIR Search specification # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), + # [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). # Supports three methods of search defined by the specification: # * `GET [base]?[parameters]` to search across all resources. # * `GET [base]/[type]?[parameters]` to search resources of a specified @@ -2945,7 +2967,9 @@ module Google # defined by the specification can be found in the FHIR Search Parameter # Registry # ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry. - # html)). + # html), + # [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)) + # . # FHIR search parameters for DSTU2 can be found on each resource's definition # page. # Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, @@ -2997,7 +3021,8 @@ module Google # Updates the entire contents of a resource. # Implements the FHIR standard update interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update)). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)). # If the specified resource does # not exist and the FHIR store has # enable_update_create set, creates the @@ -3048,7 +3073,8 @@ module Google # by version ID. # Implements the FHIR standard vread interaction # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread), - # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread). + # [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread), + # [R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)). # On success, the response body will contain a JSON-encoded representation # of the resource. # Errors generated by the FHIR store will contain a JSON-encoded diff --git a/generated/google/apis/monitoring_v1.rb b/generated/google/apis/monitoring_v1.rb index 43ff8e9c7..b0a71f900 100644 --- a/generated/google/apis/monitoring_v1.rb +++ b/generated/google/apis/monitoring_v1.rb @@ -30,7 +30,7 @@ module Google # @see https://cloud.google.com/monitoring/api/ module MonitoringV1 VERSION = 'V1' - REVISION = '20200104' + REVISION = '20200126' # 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/monitoring_v1/classes.rb b/generated/google/apis/monitoring_v1/classes.rb index c16e8a775..2d3b5b345 100644 --- a/generated/google/apis/monitoring_v1/classes.rb +++ b/generated/google/apis/monitoring_v1/classes.rb @@ -22,57 +22,81 @@ module Google module Apis module MonitoringV1 - # Describes how to combine multiple time series to provide different views of - # the data. Aggregation consists of an alignment step on individual time series ( - # alignment_period and per_series_aligner) followed by an optional reduction - # step of the data across the aligned time series (cross_series_reducer and - # group_by_fields). For more details, see Aggregation. + # Describes how to combine multiple time series to provide a different view of + # the data. Aggregation of time series is done in two steps. First, each time + # series in the set is aligned to the same time interval boundaries, then the + # set of time series is optionally reduced in number.Alignment consists of + # applying the per_series_aligner operation to each time series after its data + # has been divided into regular alignment_period time intervals. This process + # takes all of the data points in an alignment period, applies a mathematical + # transformation such as averaging, minimum, maximum, delta, etc., and converts + # them into a single data point per period.Reduction is when the aligned and + # transformed time series can optionally be combined, reducing the number of + # time series through similar mathematical transformations. Reduction involves + # applying a cross_series_reducer to all the time series, optionally sorting the + # time series into subsets with group_by_fields, and applying the reducer to + # each subset.The raw time series data can contain a huge amount of information + # from multiple sources. Alignment and reduction transforms this mass of data + # into a more manageable and representative collection of data, for example "the + # 95% latency across the average of all tasks in a cluster". This representative + # data can be more easily graphed and comprehended, and the individual time + # series data is still available for later drilldown. For more details, see + # Aggregating Time Series. class Aggregation include Google::Apis::Core::Hashable - # The alignment period for per-time series alignment. If present, - # alignmentPeriod must be at least 60 seconds. After per-time series alignment, - # each time series will contain data points only on the period boundaries. If - # perSeriesAligner is not specified or equals ALIGN_NONE, then this field is - # ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then - # this field must be defined; otherwise an error is returned. + # The alignment_period specifies a time interval, in seconds, that is used to + # divide the data in all the time series into consistent blocks of time. This + # will be done before the per-series aligner can be applied to the data.The + # value must be at least 60 seconds. If a per-series aligner other than + # ALIGN_NONE is specified, this field is required or an error is returned. If no + # per-series aligner is specified, or the aligner ALIGN_NONE is specified, then + # this field is ignored. # Corresponds to the JSON property `alignmentPeriod` # @return [String] attr_accessor :alignment_period - # The approach to be used to combine time series. Not all reducer functions may - # be applied to all time series, depending on the metric type and the value type - # of the original time series. Reduction may change the metric type of value - # type of the time series.Time series data must be aligned in order to perform - # cross-time series reduction. If crossSeriesReducer is specified, then - # perSeriesAligner must be specified and not equal ALIGN_NONE and - # alignmentPeriod must be specified; otherwise, an error is returned. + # The reduction operation to be used to combine time series into a single time + # series, where the value of each data point in the resulting series is a + # function of all the already aligned values in the input time series.Not all + # reducer operations can be applied to all time series. The valid choices depend + # on the metric_kind and the value_type of the original time series. Reduction + # can yield a time series with a different metric_kind or value_type than the + # input time series.Time series data must first be aligned (see + # per_series_aligner) in order to perform cross-time series reduction. If + # cross_series_reducer is specified, then per_series_aligner must be specified, + # and must not be ALIGN_NONE. An alignment_period must also be specified; + # otherwise, an error is returned. # Corresponds to the JSON property `crossSeriesReducer` # @return [String] attr_accessor :cross_series_reducer - # The set of fields to preserve when crossSeriesReducer is specified. The - # groupByFields determine how the time series are partitioned into subsets prior - # to applying the aggregation function. Each subset contains time series that - # have the same value for each of the grouping fields. Each individual time - # series is a member of exactly one subset. The crossSeriesReducer is applied to - # each subset of time series. It is not possible to reduce across different + # The set of fields to preserve when cross_series_reducer is specified. The + # group_by_fields determine how the time series are partitioned into subsets + # prior to applying the aggregation operation. Each subset contains time series + # that have the same value for each of the grouping fields. Each individual time + # series is a member of exactly one subset. The cross_series_reducer is applied + # to each subset of time series. It is not possible to reduce across different # resource types, so this field implicitly contains resource.type. Fields not - # specified in groupByFields are aggregated away. If groupByFields is not + # specified in group_by_fields are aggregated away. If group_by_fields is not # specified and all the time series have the same resource type, then the time - # series are aggregated into a single output time series. If crossSeriesReducer - # is not defined, this field is ignored. + # series are aggregated into a single output time series. If + # cross_series_reducer is not defined, this field is ignored. # Corresponds to the JSON property `groupByFields` # @return [Array] attr_accessor :group_by_fields - # The approach to be used to align individual time series. Not all alignment - # functions may be applied to all time series, depending on the metric type and - # value type of the original time series. Alignment may change the metric type - # or the value type of the time series.Time series data must be aligned in order - # to perform cross-time series reduction. If crossSeriesReducer is specified, - # then perSeriesAligner must be specified and not equal ALIGN_NONE and - # alignmentPeriod must be specified; otherwise, an error is returned. + # An Aligner describes how to bring the data points in a single time series into + # temporal alignment. Except for ALIGN_NONE, all alignments cause all the data + # points in an alignment_period to be mathematically grouped together, resulting + # in a single data point for each alignment_period with end timestamp at the end + # of the period.Not all alignment operations may be applied to all time series. + # The valid choices depend on the metric_kind and value_type of the original + # time series. Alignment can change the metric_kind or the value_type of the + # time series.Time series data must be aligned in order to perform cross-time + # series reduction. If cross_series_reducer is specified, then + # per_series_aligner must be specified and not equal to ALIGN_NONE and + # alignment_period must be specified; otherwise, an error is returned. # Corresponds to the JSON property `perSeriesAligner` # @return [String] attr_accessor :per_series_aligner @@ -524,8 +548,11 @@ module Google end # Describes a ranking-based time series filter. Each input time series is ranked - # with an aligner. The filter lets through up to num_time_series time series, - # selecting them based on the relative ranking. + # with an aligner. The filter will allow up to num_time_series time series to + # pass through it, selecting them based on the relative ranking.For example, if + # ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, + # then the 3 times series with the lowest mean values will pass through the + # filter. class PickTimeSeriesFilter include Google::Apis::Core::Hashable @@ -534,12 +561,12 @@ module Google # @return [String] attr_accessor :direction - # How many time series to return. + # How many time series to allow to pass through the filter. # Corresponds to the JSON property `numTimeSeries` # @return [Fixnum] attr_accessor :num_time_series - # rankingMethod is applied to each time series independently to produce the + # ranking_method is applied to each time series independently to produce the # value which will be used to compare the time series to other time series. # Corresponds to the JSON property `rankingMethod` # @return [String] @@ -562,11 +589,26 @@ module Google class RatioPart include Google::Apis::Core::Hashable - # Describes how to combine multiple time series to provide different views of - # the data. Aggregation consists of an alignment step on individual time series ( - # alignment_period and per_series_aligner) followed by an optional reduction - # step of the data across the aligned time series (cross_series_reducer and - # group_by_fields). For more details, see Aggregation. + # Describes how to combine multiple time series to provide a different view of + # the data. Aggregation of time series is done in two steps. First, each time + # series in the set is aligned to the same time interval boundaries, then the + # set of time series is optionally reduced in number.Alignment consists of + # applying the per_series_aligner operation to each time series after its data + # has been divided into regular alignment_period time intervals. This process + # takes all of the data points in an alignment period, applies a mathematical + # transformation such as averaging, minimum, maximum, delta, etc., and converts + # them into a single data point per period.Reduction is when the aligned and + # transformed time series can optionally be combined, reducing the number of + # time series through similar mathematical transformations. Reduction involves + # applying a cross_series_reducer to all the time series, optionally sorting the + # time series into subsets with group_by_fields, and applying the reducer to + # each subset.The raw time series data can contain a huge amount of information + # from multiple sources. Alignment and reduction transforms this mass of data + # into a more manageable and representative collection of data, for example "the + # 95% latency across the average of all tasks in a cluster". This representative + # data can be more easily graphed and comprehended, and the individual time + # series data is still available for later drilldown. For more details, see + # Aggregating Time Series. # Corresponds to the JSON property `aggregation` # @return [Google::Apis::MonitoringV1::Aggregation] attr_accessor :aggregation @@ -771,35 +813,6 @@ module Google end end - # A filter that ranks streams based on their statistical relation to other - # streams in a request. - class StatisticalTimeSeriesFilter - include Google::Apis::Core::Hashable - - # How many time series to output. - # Corresponds to the JSON property `numTimeSeries` - # @return [Fixnum] - attr_accessor :num_time_series - - # rankingMethod is applied to a set of time series, and then the produced value - # for each individual time series is used to compare a given time series to - # others. These are methods that cannot be applied stream-by-stream, but rather - # require the full context of a request to evaluate time series. - # Corresponds to the JSON property `rankingMethod` - # @return [String] - attr_accessor :ranking_method - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @num_time_series = args[:num_time_series] if args.key?(:num_time_series) - @ranking_method = args[:ranking_method] if args.key?(:ranking_method) - end - end - # A widget that displays textual content. class Text include Google::Apis::Core::Hashable @@ -868,11 +881,26 @@ module Google class TimeSeriesFilter include Google::Apis::Core::Hashable - # Describes how to combine multiple time series to provide different views of - # the data. Aggregation consists of an alignment step on individual time series ( - # alignment_period and per_series_aligner) followed by an optional reduction - # step of the data across the aligned time series (cross_series_reducer and - # group_by_fields). For more details, see Aggregation. + # Describes how to combine multiple time series to provide a different view of + # the data. Aggregation of time series is done in two steps. First, each time + # series in the set is aligned to the same time interval boundaries, then the + # set of time series is optionally reduced in number.Alignment consists of + # applying the per_series_aligner operation to each time series after its data + # has been divided into regular alignment_period time intervals. This process + # takes all of the data points in an alignment period, applies a mathematical + # transformation such as averaging, minimum, maximum, delta, etc., and converts + # them into a single data point per period.Reduction is when the aligned and + # transformed time series can optionally be combined, reducing the number of + # time series through similar mathematical transformations. Reduction involves + # applying a cross_series_reducer to all the time series, optionally sorting the + # time series into subsets with group_by_fields, and applying the reducer to + # each subset.The raw time series data can contain a huge amount of information + # from multiple sources. Alignment and reduction transforms this mass of data + # into a more manageable and representative collection of data, for example "the + # 95% latency across the average of all tasks in a cluster". This representative + # data can be more easily graphed and comprehended, and the individual time + # series data is still available for later drilldown. For more details, see + # Aggregating Time Series. # Corresponds to the JSON property `aggregation` # @return [Google::Apis::MonitoringV1::Aggregation] attr_accessor :aggregation @@ -884,18 +912,15 @@ module Google attr_accessor :filter # Describes a ranking-based time series filter. Each input time series is ranked - # with an aligner. The filter lets through up to num_time_series time series, - # selecting them based on the relative ranking. + # with an aligner. The filter will allow up to num_time_series time series to + # pass through it, selecting them based on the relative ranking.For example, if + # ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, + # then the 3 times series with the lowest mean values will pass through the + # filter. # Corresponds to the JSON property `pickTimeSeriesFilter` # @return [Google::Apis::MonitoringV1::PickTimeSeriesFilter] attr_accessor :pick_time_series_filter - # A filter that ranks streams based on their statistical relation to other - # streams in a request. - # Corresponds to the JSON property `statisticalTimeSeriesFilter` - # @return [Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter] - attr_accessor :statistical_time_series_filter - def initialize(**args) update!(**args) end @@ -905,7 +930,6 @@ module Google @aggregation = args[:aggregation] if args.key?(:aggregation) @filter = args[:filter] if args.key?(:filter) @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter) - @statistical_time_series_filter = args[:statistical_time_series_filter] if args.key?(:statistical_time_series_filter) end end @@ -928,27 +952,39 @@ module Google attr_accessor :numerator # Describes a ranking-based time series filter. Each input time series is ranked - # with an aligner. The filter lets through up to num_time_series time series, - # selecting them based on the relative ranking. + # with an aligner. The filter will allow up to num_time_series time series to + # pass through it, selecting them based on the relative ranking.For example, if + # ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, + # then the 3 times series with the lowest mean values will pass through the + # filter. # Corresponds to the JSON property `pickTimeSeriesFilter` # @return [Google::Apis::MonitoringV1::PickTimeSeriesFilter] attr_accessor :pick_time_series_filter - # Describes how to combine multiple time series to provide different views of - # the data. Aggregation consists of an alignment step on individual time series ( - # alignment_period and per_series_aligner) followed by an optional reduction - # step of the data across the aligned time series (cross_series_reducer and - # group_by_fields). For more details, see Aggregation. + # Describes how to combine multiple time series to provide a different view of + # the data. Aggregation of time series is done in two steps. First, each time + # series in the set is aligned to the same time interval boundaries, then the + # set of time series is optionally reduced in number.Alignment consists of + # applying the per_series_aligner operation to each time series after its data + # has been divided into regular alignment_period time intervals. This process + # takes all of the data points in an alignment period, applies a mathematical + # transformation such as averaging, minimum, maximum, delta, etc., and converts + # them into a single data point per period.Reduction is when the aligned and + # transformed time series can optionally be combined, reducing the number of + # time series through similar mathematical transformations. Reduction involves + # applying a cross_series_reducer to all the time series, optionally sorting the + # time series into subsets with group_by_fields, and applying the reducer to + # each subset.The raw time series data can contain a huge amount of information + # from multiple sources. Alignment and reduction transforms this mass of data + # into a more manageable and representative collection of data, for example "the + # 95% latency across the average of all tasks in a cluster". This representative + # data can be more easily graphed and comprehended, and the individual time + # series data is still available for later drilldown. For more details, see + # Aggregating Time Series. # Corresponds to the JSON property `secondaryAggregation` # @return [Google::Apis::MonitoringV1::Aggregation] attr_accessor :secondary_aggregation - # A filter that ranks streams based on their statistical relation to other - # streams in a request. - # Corresponds to the JSON property `statisticalTimeSeriesFilter` - # @return [Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter] - attr_accessor :statistical_time_series_filter - def initialize(**args) update!(**args) end @@ -959,7 +995,6 @@ module Google @numerator = args[:numerator] if args.key?(:numerator) @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter) @secondary_aggregation = args[:secondary_aggregation] if args.key?(:secondary_aggregation) - @statistical_time_series_filter = args[:statistical_time_series_filter] if args.key?(:statistical_time_series_filter) end end diff --git a/generated/google/apis/monitoring_v1/representations.rb b/generated/google/apis/monitoring_v1/representations.rb index 1f7245b97..be2909833 100644 --- a/generated/google/apis/monitoring_v1/representations.rb +++ b/generated/google/apis/monitoring_v1/representations.rb @@ -154,12 +154,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class StatisticalTimeSeriesFilter - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class Text class Representation < Google::Apis::Core::JsonRepresentation; end @@ -411,14 +405,6 @@ module Google end end - class StatisticalTimeSeriesFilter - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :num_time_series, as: 'numTimeSeries' - property :ranking_method, as: 'rankingMethod' - end - end - class Text # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -445,8 +431,6 @@ module Google property :filter, as: 'filter' property :pick_time_series_filter, as: 'pickTimeSeriesFilter', class: Google::Apis::MonitoringV1::PickTimeSeriesFilter, decorator: Google::Apis::MonitoringV1::PickTimeSeriesFilter::Representation - property :statistical_time_series_filter, as: 'statisticalTimeSeriesFilter', class: Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter, decorator: Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter::Representation - end end @@ -461,8 +445,6 @@ module Google property :secondary_aggregation, as: 'secondaryAggregation', class: Google::Apis::MonitoringV1::Aggregation, decorator: Google::Apis::MonitoringV1::Aggregation::Representation - property :statistical_time_series_filter, as: 'statisticalTimeSeriesFilter', class: Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter, decorator: Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter::Representation - end end diff --git a/generated/google/apis/monitoring_v3.rb b/generated/google/apis/monitoring_v3.rb index 8d2941334..d668a4723 100644 --- a/generated/google/apis/monitoring_v3.rb +++ b/generated/google/apis/monitoring_v3.rb @@ -30,7 +30,7 @@ module Google # @see https://cloud.google.com/monitoring/api/ module MonitoringV3 VERSION = 'V3' - REVISION = '20200120' + REVISION = '20200126' # 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/monitoring_v3/classes.rb b/generated/google/apis/monitoring_v3/classes.rb index 24378eb22..7f58fef14 100644 --- a/generated/google/apis/monitoring_v3/classes.rb +++ b/generated/google/apis/monitoring_v3/classes.rb @@ -22,57 +22,81 @@ module Google module Apis module MonitoringV3 - # Describes how to combine multiple time series to provide different views of - # the data. Aggregation consists of an alignment step on individual time series ( - # alignment_period and per_series_aligner) followed by an optional reduction - # step of the data across the aligned time series (cross_series_reducer and - # group_by_fields). For more details, see Aggregation. + # Describes how to combine multiple time series to provide a different view of + # the data. Aggregation of time series is done in two steps. First, each time + # series in the set is aligned to the same time interval boundaries, then the + # set of time series is optionally reduced in number.Alignment consists of + # applying the per_series_aligner operation to each time series after its data + # has been divided into regular alignment_period time intervals. This process + # takes all of the data points in an alignment period, applies a mathematical + # transformation such as averaging, minimum, maximum, delta, etc., and converts + # them into a single data point per period.Reduction is when the aligned and + # transformed time series can optionally be combined, reducing the number of + # time series through similar mathematical transformations. Reduction involves + # applying a cross_series_reducer to all the time series, optionally sorting the + # time series into subsets with group_by_fields, and applying the reducer to + # each subset.The raw time series data can contain a huge amount of information + # from multiple sources. Alignment and reduction transforms this mass of data + # into a more manageable and representative collection of data, for example "the + # 95% latency across the average of all tasks in a cluster". This representative + # data can be more easily graphed and comprehended, and the individual time + # series data is still available for later drilldown. For more details, see + # Aggregating Time Series. class Aggregation include Google::Apis::Core::Hashable - # The alignment period for per-time series alignment. If present, - # alignmentPeriod must be at least 60 seconds. After per-time series alignment, - # each time series will contain data points only on the period boundaries. If - # perSeriesAligner is not specified or equals ALIGN_NONE, then this field is - # ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then - # this field must be defined; otherwise an error is returned. + # The alignment_period specifies a time interval, in seconds, that is used to + # divide the data in all the time series into consistent blocks of time. This + # will be done before the per-series aligner can be applied to the data.The + # value must be at least 60 seconds. If a per-series aligner other than + # ALIGN_NONE is specified, this field is required or an error is returned. If no + # per-series aligner is specified, or the aligner ALIGN_NONE is specified, then + # this field is ignored. # Corresponds to the JSON property `alignmentPeriod` # @return [String] attr_accessor :alignment_period - # The approach to be used to combine time series. Not all reducer functions may - # be applied to all time series, depending on the metric type and the value type - # of the original time series. Reduction may change the metric type of value - # type of the time series.Time series data must be aligned in order to perform - # cross-time series reduction. If crossSeriesReducer is specified, then - # perSeriesAligner must be specified and not equal ALIGN_NONE and - # alignmentPeriod must be specified; otherwise, an error is returned. + # The reduction operation to be used to combine time series into a single time + # series, where the value of each data point in the resulting series is a + # function of all the already aligned values in the input time series.Not all + # reducer operations can be applied to all time series. The valid choices depend + # on the metric_kind and the value_type of the original time series. Reduction + # can yield a time series with a different metric_kind or value_type than the + # input time series.Time series data must first be aligned (see + # per_series_aligner) in order to perform cross-time series reduction. If + # cross_series_reducer is specified, then per_series_aligner must be specified, + # and must not be ALIGN_NONE. An alignment_period must also be specified; + # otherwise, an error is returned. # Corresponds to the JSON property `crossSeriesReducer` # @return [String] attr_accessor :cross_series_reducer - # The set of fields to preserve when crossSeriesReducer is specified. The - # groupByFields determine how the time series are partitioned into subsets prior - # to applying the aggregation function. Each subset contains time series that - # have the same value for each of the grouping fields. Each individual time - # series is a member of exactly one subset. The crossSeriesReducer is applied to - # each subset of time series. It is not possible to reduce across different + # The set of fields to preserve when cross_series_reducer is specified. The + # group_by_fields determine how the time series are partitioned into subsets + # prior to applying the aggregation operation. Each subset contains time series + # that have the same value for each of the grouping fields. Each individual time + # series is a member of exactly one subset. The cross_series_reducer is applied + # to each subset of time series. It is not possible to reduce across different # resource types, so this field implicitly contains resource.type. Fields not - # specified in groupByFields are aggregated away. If groupByFields is not + # specified in group_by_fields are aggregated away. If group_by_fields is not # specified and all the time series have the same resource type, then the time - # series are aggregated into a single output time series. If crossSeriesReducer - # is not defined, this field is ignored. + # series are aggregated into a single output time series. If + # cross_series_reducer is not defined, this field is ignored. # Corresponds to the JSON property `groupByFields` # @return [Array] attr_accessor :group_by_fields - # The approach to be used to align individual time series. Not all alignment - # functions may be applied to all time series, depending on the metric type and - # value type of the original time series. Alignment may change the metric type - # or the value type of the time series.Time series data must be aligned in order - # to perform cross-time series reduction. If crossSeriesReducer is specified, - # then perSeriesAligner must be specified and not equal ALIGN_NONE and - # alignmentPeriod must be specified; otherwise, an error is returned. + # An Aligner describes how to bring the data points in a single time series into + # temporal alignment. Except for ALIGN_NONE, all alignments cause all the data + # points in an alignment_period to be mathematically grouped together, resulting + # in a single data point for each alignment_period with end timestamp at the end + # of the period.Not all alignment operations may be applied to all time series. + # The valid choices depend on the metric_kind and value_type of the original + # time series. Alignment can change the metric_kind or the value_type of the + # time series.Time series data must be aligned in order to perform cross-time + # series reduction. If cross_series_reducer is specified, then + # per_series_aligner must be specified and not equal to ALIGN_NONE and + # alignment_period must be specified; otherwise, an error is returned. # Corresponds to the JSON property `perSeriesAligner` # @return [String] attr_accessor :per_series_aligner diff --git a/generated/google/apis/monitoring_v3/service.rb b/generated/google/apis/monitoring_v3/service.rb index 75d69f3a8..359dbf65f 100644 --- a/generated/google/apis/monitoring_v3/service.rb +++ b/generated/google/apis/monitoring_v3/service.rb @@ -1219,40 +1219,49 @@ module Google # The project on which to execute the request. The format is "projects/` # project_id_or_number`". # @param [String] aggregation_alignment_period - # The alignment period for per-time series alignment. If present, - # alignmentPeriod must be at least 60 seconds. After per-time series alignment, - # each time series will contain data points only on the period boundaries. If - # perSeriesAligner is not specified or equals ALIGN_NONE, then this field is - # ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then - # this field must be defined; otherwise an error is returned. + # The alignment_period specifies a time interval, in seconds, that is used to + # divide the data in all the time series into consistent blocks of time. This + # will be done before the per-series aligner can be applied to the data.The + # value must be at least 60 seconds. If a per-series aligner other than + # ALIGN_NONE is specified, this field is required or an error is returned. If no + # per-series aligner is specified, or the aligner ALIGN_NONE is specified, then + # this field is ignored. # @param [String] aggregation_cross_series_reducer - # The approach to be used to combine time series. Not all reducer functions may - # be applied to all time series, depending on the metric type and the value type - # of the original time series. Reduction may change the metric type of value - # type of the time series.Time series data must be aligned in order to perform - # cross-time series reduction. If crossSeriesReducer is specified, then - # perSeriesAligner must be specified and not equal ALIGN_NONE and - # alignmentPeriod must be specified; otherwise, an error is returned. + # The reduction operation to be used to combine time series into a single time + # series, where the value of each data point in the resulting series is a + # function of all the already aligned values in the input time series.Not all + # reducer operations can be applied to all time series. The valid choices depend + # on the metric_kind and the value_type of the original time series. Reduction + # can yield a time series with a different metric_kind or value_type than the + # input time series.Time series data must first be aligned (see + # per_series_aligner) in order to perform cross-time series reduction. If + # cross_series_reducer is specified, then per_series_aligner must be specified, + # and must not be ALIGN_NONE. An alignment_period must also be specified; + # otherwise, an error is returned. # @param [Array, String] aggregation_group_by_fields - # The set of fields to preserve when crossSeriesReducer is specified. The - # groupByFields determine how the time series are partitioned into subsets prior - # to applying the aggregation function. Each subset contains time series that - # have the same value for each of the grouping fields. Each individual time - # series is a member of exactly one subset. The crossSeriesReducer is applied to - # each subset of time series. It is not possible to reduce across different + # The set of fields to preserve when cross_series_reducer is specified. The + # group_by_fields determine how the time series are partitioned into subsets + # prior to applying the aggregation operation. Each subset contains time series + # that have the same value for each of the grouping fields. Each individual time + # series is a member of exactly one subset. The cross_series_reducer is applied + # to each subset of time series. It is not possible to reduce across different # resource types, so this field implicitly contains resource.type. Fields not - # specified in groupByFields are aggregated away. If groupByFields is not + # specified in group_by_fields are aggregated away. If group_by_fields is not # specified and all the time series have the same resource type, then the time - # series are aggregated into a single output time series. If crossSeriesReducer - # is not defined, this field is ignored. + # series are aggregated into a single output time series. If + # cross_series_reducer is not defined, this field is ignored. # @param [String] aggregation_per_series_aligner - # The approach to be used to align individual time series. Not all alignment - # functions may be applied to all time series, depending on the metric type and - # value type of the original time series. Alignment may change the metric type - # or the value type of the time series.Time series data must be aligned in order - # to perform cross-time series reduction. If crossSeriesReducer is specified, - # then perSeriesAligner must be specified and not equal ALIGN_NONE and - # alignmentPeriod must be specified; otherwise, an error is returned. + # An Aligner describes how to bring the data points in a single time series into + # temporal alignment. Except for ALIGN_NONE, all alignments cause all the data + # points in an alignment_period to be mathematically grouped together, resulting + # in a single data point for each alignment_period with end timestamp at the end + # of the period.Not all alignment operations may be applied to all time series. + # The valid choices depend on the metric_kind and value_type of the original + # time series. Alignment can change the metric_kind or the value_type of the + # time series.Time series data must be aligned in order to perform cross-time + # series reduction. If cross_series_reducer is specified, then + # per_series_aligner must be specified and not equal to ALIGN_NONE and + # alignment_period must be specified; otherwise, an error is returned. # @param [String] filter # A monitoring filter that specifies which time series should be returned. The # filter must specify a single metric type, and can additionally specify metric diff --git a/generated/google/apis/osconfig_v1beta.rb b/generated/google/apis/osconfig_v1beta.rb new file mode 100644 index 000000000..942bcc164 --- /dev/null +++ b/generated/google/apis/osconfig_v1beta.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/osconfig_v1beta/service.rb' +require 'google/apis/osconfig_v1beta/classes.rb' +require 'google/apis/osconfig_v1beta/representations.rb' + +module Google + module Apis + # Cloud OS Config API + # + # OS management tools that can be used for patch management, patch compliance, + # and configuration management on VM instances. + # + # @see https://cloud.google.com/ + module OsconfigV1beta + VERSION = 'V1beta' + REVISION = '20200109' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + + # View and manage your Google Compute Engine resources + AUTH_COMPUTE = 'https://www.googleapis.com/auth/compute' + end + end +end diff --git a/generated/google/apis/osconfig_v1beta/classes.rb b/generated/google/apis/osconfig_v1beta/classes.rb new file mode 100644 index 000000000..8c96fea37 --- /dev/null +++ b/generated/google/apis/osconfig_v1beta/classes.rb @@ -0,0 +1,2357 @@ +# 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 OsconfigV1beta + + # Represents a single Apt package repository. This repository is added to + # a repo file that is stored at + # `/etc/apt/sources.list.d/google_osconfig.list`. + class AptRepository + include Google::Apis::Core::Hashable + + # Type of archive files in this repository. The default behavior is DEB. + # Corresponds to the JSON property `archiveType` + # @return [String] + attr_accessor :archive_type + + # Required. List of components for this repository. Must contain at least one + # item. + # Corresponds to the JSON property `components` + # @return [Array] + attr_accessor :components + + # Required. Distribution of this repository. + # Corresponds to the JSON property `distribution` + # @return [String] + attr_accessor :distribution + + # URI of the key file for this repository. The agent maintains + # a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing + # all the keys in any applied guest policy. + # Corresponds to the JSON property `gpgKey` + # @return [String] + attr_accessor :gpg_key + + # Required. URI for this repository. + # Corresponds to the JSON property `uri` + # @return [String] + attr_accessor :uri + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @archive_type = args[:archive_type] if args.key?(:archive_type) + @components = args[:components] if args.key?(:components) + @distribution = args[:distribution] if args.key?(:distribution) + @gpg_key = args[:gpg_key] if args.key?(:gpg_key) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Apt patching is completed by executing `apt-get update && apt-get + # upgrade`. Additional options can be set to control how this is executed. + class AptSettings + include Google::Apis::Core::Hashable + + # List of packages to exclude from update. These packages will be excluded + # Corresponds to the JSON property `excludes` + # @return [Array] + attr_accessor :excludes + + # An exclusive list of packages to be updated. These are the only packages + # that will be updated. If these packages are not installed, they will be + # ignored. This field cannot be specified with any other patch configuration + # fields. + # Corresponds to the JSON property `exclusivePackages` + # @return [Array] + attr_accessor :exclusive_packages + + # By changing the type to DIST, the patching is performed + # using `apt-get dist-upgrade` instead. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @excludes = args[:excludes] if args.key?(:excludes) + @exclusive_packages = args[:exclusive_packages] if args.key?(:exclusive_packages) + @type = args[:type] if args.key?(:type) + end + end + + # An assignment represents the group or groups of VM instances that the policy + # applies to. + # If an assignment is empty, it applies to all VM instances. Otherwise, the + # targeted VM instances must meet all the criteria specified. So if both + # labels and zones are specified, the policy applies to VM instances with those + # labels and in those zones. + class Assignment + include Google::Apis::Core::Hashable + + # Targets instances matching at least one of these label sets. This allows + # an assignment to target disparate groups, for example "env=prod or + # env=staging". + # Corresponds to the JSON property `groupLabels` + # @return [Array] + attr_accessor :group_labels + + # Targets VM instances whose name starts with one of these prefixes. + # Like labels, this is another way to group VM instances when targeting + # configs, for example prefix="prod-". + # Only supported for project-level policies. + # Corresponds to the JSON property `instanceNamePrefixes` + # @return [Array] + attr_accessor :instance_name_prefixes + + # Targets any of the instances specified. Instances are specified by their + # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`. + # Instance targeting is uncommon and is supported to facilitate the + # management of changes by the instance or to target specific VM instances + # for development and testing. + # Only supported for project-level policies and must reference instances + # within this project. + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + # Targets VM instances matching at least one of the following OS types. + # VM instances must match all supplied criteria for a given OsType to be + # included. + # Corresponds to the JSON property `osTypes` + # @return [Array] + attr_accessor :os_types + + # Targets instances in any of these zones. Leave empty to target instances + # in any zone. + # Zonal targeting is uncommon and is supported to facilitate the management + # of changes by zone. + # Corresponds to the JSON property `zones` + # @return [Array] + attr_accessor :zones + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @group_labels = args[:group_labels] if args.key?(:group_labels) + @instance_name_prefixes = args[:instance_name_prefixes] if args.key?(:instance_name_prefixes) + @instances = args[:instances] if args.key?(:instances) + @os_types = args[:os_types] if args.key?(:os_types) + @zones = args[:zones] if args.key?(:zones) + end + end + + # Represents a group of VM intances that can be identified as having all + # these labels, for example "env=prod and app=web". + class AssignmentGroupLabel + include Google::Apis::Core::Hashable + + # Google Compute Engine instance labels that must be present for an + # instance to be included in this assignment group. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @labels = args[:labels] if args.key?(:labels) + end + end + + # Defines the criteria for selecting VM Instances by OS type. + class AssignmentOsType + include Google::Apis::Core::Hashable + + # Targets VM instances with OS Inventory enabled and having the following + # OS architecture. + # Corresponds to the JSON property `osArchitecture` + # @return [String] + attr_accessor :os_architecture + + # Targets VM instances with OS Inventory enabled and having the following + # OS short name, for example "debian" or "windows". + # Corresponds to the JSON property `osShortName` + # @return [String] + attr_accessor :os_short_name + + # Targets VM instances with OS Inventory enabled and having the following + # following OS version. + # Corresponds to the JSON property `osVersion` + # @return [String] + attr_accessor :os_version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @os_architecture = args[:os_architecture] if args.key?(:os_architecture) + @os_short_name = args[:os_short_name] if args.key?(:os_short_name) + @os_version = args[:os_version] if args.key?(:os_version) + end + end + + # Message for canceling a patch job. + class CancelPatchJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # The effective guest policy that applies to a VM instance. + class EffectiveGuestPolicy + include Google::Apis::Core::Hashable + + # List of package repository configurations assigned to the VM instance. + # Corresponds to the JSON property `packageRepositories` + # @return [Array] + attr_accessor :package_repositories + + # List of package configurations assigned to the VM instance. + # Corresponds to the JSON property `packages` + # @return [Array] + attr_accessor :packages + + # List of recipes assigned to the VM instance. + # Corresponds to the JSON property `softwareRecipes` + # @return [Array] + attr_accessor :software_recipes + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @package_repositories = args[:package_repositories] if args.key?(:package_repositories) + @packages = args[:packages] if args.key?(:packages) + @software_recipes = args[:software_recipes] if args.key?(:software_recipes) + end + end + + # A guest policy package including its source. + class EffectiveGuestPolicySourcedPackage + include Google::Apis::Core::Hashable + + # Package is a reference to the software package to be installed or removed. + # The agent on the VM instance uses the system package manager to apply the + # config. + # These are the commands that the agent uses to install or remove + # packages. + # Apt + # install: `apt-get update && apt-get -y install package1 package2 package3` + # remove: `apt-get -y remove package1 package2 package3` + # Yum + # install: `yum -y install package1 package2 package3` + # remove: `yum -y remove package1 package2 package3` + # Zypper + # install: `zypper install package1 package2 package3` + # remove: `zypper rm package1 package2` + # Googet + # install: `googet -noconfirm install package1 package2 package3` + # remove: `googet -noconfirm remove package1 package2 package3` + # Corresponds to the JSON property `package` + # @return [Google::Apis::OsconfigV1beta::Package] + attr_accessor :package + + # Name of the guest policy providing this config. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @package = args[:package] if args.key?(:package) + @source = args[:source] if args.key?(:source) + end + end + + # A guest policy package repository including its source. + class EffectiveGuestPolicySourcedPackageRepository + include Google::Apis::Core::Hashable + + # A package repository. + # Corresponds to the JSON property `packageRepository` + # @return [Google::Apis::OsconfigV1beta::PackageRepository] + attr_accessor :package_repository + + # Name of the guest policy providing this config. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @package_repository = args[:package_repository] if args.key?(:package_repository) + @source = args[:source] if args.key?(:source) + end + end + + # A guest policy recipe including its source. + class EffectiveGuestPolicySourcedSoftwareRecipe + include Google::Apis::Core::Hashable + + # A software recipe is a set of instructions for installing and configuring a + # piece of software. It consists of a set of artifacts that are + # downloaded, and a set of steps that install, configure, and/or update the + # software. + # Recipes support installing and updating software from artifacts in the + # following formats: + # Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. + # Additionally, recipes support executing a script (either defined in a file or + # directly in this api) in bash, sh, cmd, and powershell. + # Updating a software recipe + # If a recipe is assigned to an instance and there is a recipe with the same + # name but a lower version already installed and the assigned state + # of the recipe is `INSTALLED_KEEP_UPDATED`, then the recipe is updated to + # the new version. + # Script Working Directories + # Each script or execution step is run in its own temporary directory which + # is deleted after completing the step. + # Corresponds to the JSON property `softwareRecipe` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipe] + attr_accessor :software_recipe + + # Name of the guest policy providing this config. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @software_recipe = args[:software_recipe] if args.key?(:software_recipe) + @source = args[:source] if args.key?(:source) + 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 + + # A step that runs an executable for a PatchJob. + class ExecStep + include Google::Apis::Core::Hashable + + # Common configurations for an ExecStep. + # Corresponds to the JSON property `linuxExecStepConfig` + # @return [Google::Apis::OsconfigV1beta::ExecStepConfig] + attr_accessor :linux_exec_step_config + + # Common configurations for an ExecStep. + # Corresponds to the JSON property `windowsExecStepConfig` + # @return [Google::Apis::OsconfigV1beta::ExecStepConfig] + attr_accessor :windows_exec_step_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @linux_exec_step_config = args[:linux_exec_step_config] if args.key?(:linux_exec_step_config) + @windows_exec_step_config = args[:windows_exec_step_config] if args.key?(:windows_exec_step_config) + end + end + + # Common configurations for an ExecStep. + class ExecStepConfig + include Google::Apis::Core::Hashable + + # Defaults to [0]. A list of possible return values that the + # execution can return to indicate a success. + # Corresponds to the JSON property `allowedSuccessCodes` + # @return [Array] + attr_accessor :allowed_success_codes + + # Google Cloud Storage object representation. + # Corresponds to the JSON property `gcsObject` + # @return [Google::Apis::OsconfigV1beta::GcsObject] + attr_accessor :gcs_object + + # The script interpreter to use to run the script. If no interpreter is + # specified the script will be executed directly, which will likely + # only succeed for scripts with [shebang lines] + # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)). + # Corresponds to the JSON property `interpreter` + # @return [String] + attr_accessor :interpreter + + # An absolute path to the executable on the VM. + # Corresponds to the JSON property `localPath` + # @return [String] + attr_accessor :local_path + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allowed_success_codes = args[:allowed_success_codes] if args.key?(:allowed_success_codes) + @gcs_object = args[:gcs_object] if args.key?(:gcs_object) + @interpreter = args[:interpreter] if args.key?(:interpreter) + @local_path = args[:local_path] if args.key?(:local_path) + end + end + + # A request message to initiate patching across Google Compute Engine + # instances. + class ExecutePatchJobRequest + include Google::Apis::Core::Hashable + + # Description of the patch job. Length of the description is limited + # to 1024 characters. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Display name for this patch job. This does not have to be unique. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # If this patch is a dry-run only, instances are contacted but + # will do nothing. + # Corresponds to the JSON property `dryRun` + # @return [Boolean] + attr_accessor :dry_run + alias_method :dry_run?, :dry_run + + # Duration of the patch job. After the duration ends, the patch job + # times out. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # A filter to target VM instances for patching. The targeted + # VMs must meet all criteria specified. So if both labels and zones are + # specified, the patch job targets only VMs with those labels and in those + # zones. + # Corresponds to the JSON property `instanceFilter` + # @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter] + attr_accessor :instance_filter + + # Patch configuration specifications. Contains details on how to apply the + # patch(es) to a VM instance. + # Corresponds to the JSON property `patchConfig` + # @return [Google::Apis::OsconfigV1beta::PatchConfig] + attr_accessor :patch_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @dry_run = args[:dry_run] if args.key?(:dry_run) + @duration = args[:duration] if args.key?(:duration) + @instance_filter = args[:instance_filter] if args.key?(:instance_filter) + @patch_config = args[:patch_config] if args.key?(:patch_config) + end + end + + # Google Cloud Storage object representation. + class GcsObject + include Google::Apis::Core::Hashable + + # Required. Bucket of the Google Cloud Storage object. + # Corresponds to the JSON property `bucket` + # @return [String] + attr_accessor :bucket + + # Required. Generation number of the Google Cloud Storage object. This is used + # to + # ensure that the ExecStep specified by this PatchJob does not change. + # Corresponds to the JSON property `generationNumber` + # @return [Fixnum] + attr_accessor :generation_number + + # Required. Name of the Google Cloud Storage object. + # Corresponds to the JSON property `object` + # @return [String] + attr_accessor :object + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bucket = args[:bucket] if args.key?(:bucket) + @generation_number = args[:generation_number] if args.key?(:generation_number) + @object = args[:object] if args.key?(:object) + end + end + + # Represents a Goo package repository. These is added to a repo file + # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo. + class GooRepository + include Google::Apis::Core::Hashable + + # Required. The name of the repository. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Required. The url of the repository. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] if args.key?(:name) + @url = args[:url] if args.key?(:url) + end + end + + # Googet patching is performed by running `googet update`. + class GooSettings + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # An OS Config resource representing a guest configuration policy. These + # policies represent the desired state for VM instance guest environments + # including packages to install or remove, package repository configurations, + # and software to install. + class GuestPolicy + include Google::Apis::Core::Hashable + + # An assignment represents the group or groups of VM instances that the policy + # applies to. + # If an assignment is empty, it applies to all VM instances. Otherwise, the + # targeted VM instances must meet all the criteria specified. So if both + # labels and zones are specified, the policy applies to VM instances with those + # labels and in those zones. + # Corresponds to the JSON property `assignment` + # @return [Google::Apis::OsconfigV1beta::Assignment] + attr_accessor :assignment + + # Output only. Time this guest policy was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Description of the guest policy. Length of the description is limited + # to 1024 characters. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The etag for this guest policy. + # If this is provided on update, it must match the server's etag. + # Corresponds to the JSON property `etag` + # @return [String] + attr_accessor :etag + + # Required. Unique name of the resource in this project using one of the + # following + # forms: + # `projects/`project_number`/guestPolicies/`guest_policy_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # A list of package repositories to configure on the VM instance. This is + # done before any other configs are applied so they can use these repos. + # Package repositories are only configured if the corresponding package + # manager(s) are available. + # Corresponds to the JSON property `packageRepositories` + # @return [Array] + attr_accessor :package_repositories + + # The software packages to be managed by this policy. + # Corresponds to the JSON property `packages` + # @return [Array] + attr_accessor :packages + + # A list of Recipes to install on the VM instance. + # Corresponds to the JSON property `recipes` + # @return [Array] + attr_accessor :recipes + + # Output only. Last time this guest policy was updated. + # 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) + @assignment = args[:assignment] if args.key?(:assignment) + @create_time = args[:create_time] if args.key?(:create_time) + @description = args[:description] if args.key?(:description) + @etag = args[:etag] if args.key?(:etag) + @name = args[:name] if args.key?(:name) + @package_repositories = args[:package_repositories] if args.key?(:package_repositories) + @packages = args[:packages] if args.key?(:packages) + @recipes = args[:recipes] if args.key?(:recipes) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A response message for listing guest policies. + class ListGuestPoliciesResponse + include Google::Apis::Core::Hashable + + # The list of GuestPolicies. + # Corresponds to the JSON property `guestPolicies` + # @return [Array] + attr_accessor :guest_policies + + # A pagination token that can be used to get the next page + # of guest policies. + # 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) + @guest_policies = args[:guest_policies] if args.key?(:guest_policies) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # A response message for listing patch deployments. + class ListPatchDeploymentsResponse + include Google::Apis::Core::Hashable + + # A pagination token that can be used to get the next page of patch + # deployments. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # The list of patch deployments. + # Corresponds to the JSON property `patchDeployments` + # @return [Array] + attr_accessor :patch_deployments + + 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) + @patch_deployments = args[:patch_deployments] if args.key?(:patch_deployments) + end + end + + # A response message for listing the instances details for a patch job. + class ListPatchJobInstanceDetailsResponse + include Google::Apis::Core::Hashable + + # A pagination token that can be used to get the next page of results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of instance status. + # Corresponds to the JSON property `patchJobInstanceDetails` + # @return [Array] + attr_accessor :patch_job_instance_details + + 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) + @patch_job_instance_details = args[:patch_job_instance_details] if args.key?(:patch_job_instance_details) + end + end + + # A response message for listing patch jobs. + class ListPatchJobsResponse + include Google::Apis::Core::Hashable + + # A pagination token that can be used to get the next page of results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # The list of patch jobs. + # Corresponds to the JSON property `patchJobs` + # @return [Array] + attr_accessor :patch_jobs + + 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) + @patch_jobs = args[:patch_jobs] if args.key?(:patch_jobs) + end + end + + # A request message for getting the effective guest policy assigned to the + # instance. + class LookupEffectiveGuestPolicyRequest + include Google::Apis::Core::Hashable + + # Architecture of OS running on the instance. The OS Config agent only + # provides this field for targeting if OS Inventory is enabled for that + # instance. + # Corresponds to the JSON property `osArchitecture` + # @return [String] + attr_accessor :os_architecture + + # Short name of the OS running on the instance. The OS Config agent only + # provides this field for targeting if OS Inventory is enabled for that + # instance. + # Corresponds to the JSON property `osShortName` + # @return [String] + attr_accessor :os_short_name + + # Version of the OS running on the instance. The OS Config agent only + # provides this field for targeting if OS Inventory is enabled for that + # VM instance. + # Corresponds to the JSON property `osVersion` + # @return [String] + attr_accessor :os_version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @os_architecture = args[:os_architecture] if args.key?(:os_architecture) + @os_short_name = args[:os_short_name] if args.key?(:os_short_name) + @os_version = args[:os_version] if args.key?(:os_version) + end + end + + # Represents a monthly schedule. An example of a valid monthly schedule is + # "on the third Tuesday of the month" or "on the 15th of the month". + class MonthlySchedule + include Google::Apis::Core::Hashable + + # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 + # indicates the last day of the month. + # Months without the target day will be skipped. For example, a schedule to + # run "every month on the 31st" will not run in February, April, June, etc. + # Corresponds to the JSON property `monthDay` + # @return [Fixnum] + attr_accessor :month_day + + # Represents one week day in a month. An example is "the 4th Sunday". + # Corresponds to the JSON property `weekDayOfMonth` + # @return [Google::Apis::OsconfigV1beta::WeekDayOfMonth] + attr_accessor :week_day_of_month + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @month_day = args[:month_day] if args.key?(:month_day) + @week_day_of_month = args[:week_day_of_month] if args.key?(:week_day_of_month) + end + end + + # Sets the time for a one time patch deployment. Timestamp is in + # RFC3339 + # text format. + class OneTimeSchedule + include Google::Apis::Core::Hashable + + # Required. The desired patch job execution time. + # Corresponds to the JSON property `executeTime` + # @return [String] + attr_accessor :execute_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @execute_time = args[:execute_time] if args.key?(:execute_time) + end + end + + # Package is a reference to the software package to be installed or removed. + # The agent on the VM instance uses the system package manager to apply the + # config. + # These are the commands that the agent uses to install or remove + # packages. + # Apt + # install: `apt-get update && apt-get -y install package1 package2 package3` + # remove: `apt-get -y remove package1 package2 package3` + # Yum + # install: `yum -y install package1 package2 package3` + # remove: `yum -y remove package1 package2 package3` + # Zypper + # install: `zypper install package1 package2 package3` + # remove: `zypper rm package1 package2` + # Googet + # install: `googet -noconfirm install package1 package2 package3` + # remove: `googet -noconfirm remove package1 package2 package3` + class Package + include Google::Apis::Core::Hashable + + # The desired_state the agent should maintain for this package. The + # default is to ensure the package is installed. + # Corresponds to the JSON property `desiredState` + # @return [String] + attr_accessor :desired_state + + # Type of package manager that can be used to install this package. + # If a system does not have the package manager, the package is not + # installed or removed no error message is returned. By default, + # or if you specify `ANY`, + # the agent attempts to install and remove this package using the default + # package manager. This is useful when creating a policy that applies to + # different types of systems. + # The default behavior is ANY. + # Corresponds to the JSON property `manager` + # @return [String] + attr_accessor :manager + + # Required. The name of the package. A package is uniquely identified for + # conflict + # validation by checking the package name and the manager(s) that the + # package targets. + # 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) + @desired_state = args[:desired_state] if args.key?(:desired_state) + @manager = args[:manager] if args.key?(:manager) + @name = args[:name] if args.key?(:name) + end + end + + # A package repository. + class PackageRepository + include Google::Apis::Core::Hashable + + # Represents a single Apt package repository. This repository is added to + # a repo file that is stored at + # `/etc/apt/sources.list.d/google_osconfig.list`. + # Corresponds to the JSON property `apt` + # @return [Google::Apis::OsconfigV1beta::AptRepository] + attr_accessor :apt + + # Represents a Goo package repository. These is added to a repo file + # that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo. + # Corresponds to the JSON property `goo` + # @return [Google::Apis::OsconfigV1beta::GooRepository] + attr_accessor :goo + + # Represents a single Yum package repository. This repository is added to a + # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`. + # Corresponds to the JSON property `yum` + # @return [Google::Apis::OsconfigV1beta::YumRepository] + attr_accessor :yum + + # Represents a single Zypper package repository. This repository is added to a + # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`. + # Corresponds to the JSON property `zypper` + # @return [Google::Apis::OsconfigV1beta::ZypperRepository] + attr_accessor :zypper + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @apt = args[:apt] if args.key?(:apt) + @goo = args[:goo] if args.key?(:goo) + @yum = args[:yum] if args.key?(:yum) + @zypper = args[:zypper] if args.key?(:zypper) + end + end + + # Patch configuration specifications. Contains details on how to apply the + # patch(es) to a VM instance. + class PatchConfig + include Google::Apis::Core::Hashable + + # Apt patching is completed by executing `apt-get update && apt-get + # upgrade`. Additional options can be set to control how this is executed. + # Corresponds to the JSON property `apt` + # @return [Google::Apis::OsconfigV1beta::AptSettings] + attr_accessor :apt + + # Googet patching is performed by running `googet update`. + # Corresponds to the JSON property `goo` + # @return [Google::Apis::OsconfigV1beta::GooSettings] + attr_accessor :goo + + # A step that runs an executable for a PatchJob. + # Corresponds to the JSON property `postStep` + # @return [Google::Apis::OsconfigV1beta::ExecStep] + attr_accessor :post_step + + # A step that runs an executable for a PatchJob. + # Corresponds to the JSON property `preStep` + # @return [Google::Apis::OsconfigV1beta::ExecStep] + attr_accessor :pre_step + + # Post-patch reboot settings. + # Corresponds to the JSON property `rebootConfig` + # @return [String] + attr_accessor :reboot_config + + # Windows patching is performed using the Windows Update Agent. + # Corresponds to the JSON property `windowsUpdate` + # @return [Google::Apis::OsconfigV1beta::WindowsUpdateSettings] + attr_accessor :windows_update + + # Yum patching is performed by executing `yum update`. Additional options + # can be set to control how this is executed. + # Note that not all settings are supported on all platforms. + # Corresponds to the JSON property `yum` + # @return [Google::Apis::OsconfigV1beta::YumSettings] + attr_accessor :yum + + # Zypper patching is performed by running `zypper patch`. + # See also https://en.opensuse.org/SDB:Zypper_manual. + # Corresponds to the JSON property `zypper` + # @return [Google::Apis::OsconfigV1beta::ZypperSettings] + attr_accessor :zypper + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @apt = args[:apt] if args.key?(:apt) + @goo = args[:goo] if args.key?(:goo) + @post_step = args[:post_step] if args.key?(:post_step) + @pre_step = args[:pre_step] if args.key?(:pre_step) + @reboot_config = args[:reboot_config] if args.key?(:reboot_config) + @windows_update = args[:windows_update] if args.key?(:windows_update) + @yum = args[:yum] if args.key?(:yum) + @zypper = args[:zypper] if args.key?(:zypper) + end + end + + # Patch deployments are configurations that individual patch jobs use to + # complete a patch. These configurations include instance filter, package + # repository settings, and a schedule. + class PatchDeployment + include Google::Apis::Core::Hashable + + # Output only. Time the patch deployment was created. Timestamp is in + # RFC3339 + # text format. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. Description of the patch deployment. Length of the description is + # limited + # to 1024 characters. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Optional. Duration of the patch. After the duration ends, the patch times out. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # A filter to target VM instances for patching. The targeted + # VMs must meet all criteria specified. So if both labels and zones are + # specified, the patch job targets only VMs with those labels and in those + # zones. + # Corresponds to the JSON property `instanceFilter` + # @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter] + attr_accessor :instance_filter + + # Output only. The last time a patch job was started by this deployment. + # Timestamp is in + # RFC3339 + # text format. + # Corresponds to the JSON property `lastExecuteTime` + # @return [String] + attr_accessor :last_execute_time + + # Unique name for the patch deployment resource in a project. The patch + # deployment name is in the form: + # `projects/`project_id`/patchDeployments/`patch_deployment_id``. + # This field is ignored when you create a new patch deployment. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Sets the time for a one time patch deployment. Timestamp is in + # RFC3339 + # text format. + # Corresponds to the JSON property `oneTimeSchedule` + # @return [Google::Apis::OsconfigV1beta::OneTimeSchedule] + attr_accessor :one_time_schedule + + # Patch configuration specifications. Contains details on how to apply the + # patch(es) to a VM instance. + # Corresponds to the JSON property `patchConfig` + # @return [Google::Apis::OsconfigV1beta::PatchConfig] + attr_accessor :patch_config + + # Sets the time for recurring patch deployments. + # Corresponds to the JSON property `recurringSchedule` + # @return [Google::Apis::OsconfigV1beta::RecurringSchedule] + attr_accessor :recurring_schedule + + # Output only. Time the patch deployment was last updated. Timestamp is in + # RFC3339 + # text format. + # 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) + @description = args[:description] if args.key?(:description) + @duration = args[:duration] if args.key?(:duration) + @instance_filter = args[:instance_filter] if args.key?(:instance_filter) + @last_execute_time = args[:last_execute_time] if args.key?(:last_execute_time) + @name = args[:name] if args.key?(:name) + @one_time_schedule = args[:one_time_schedule] if args.key?(:one_time_schedule) + @patch_config = args[:patch_config] if args.key?(:patch_config) + @recurring_schedule = args[:recurring_schedule] if args.key?(:recurring_schedule) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A filter to target VM instances for patching. The targeted + # VMs must meet all criteria specified. So if both labels and zones are + # specified, the patch job targets only VMs with those labels and in those + # zones. + class PatchInstanceFilter + include Google::Apis::Core::Hashable + + # Target all VM instances in the project. If true, no other criteria is + # permitted. + # Corresponds to the JSON property `all` + # @return [Boolean] + attr_accessor :all + alias_method :all?, :all + + # Targets VM instances matching at least one of these label sets. This allows + # targeting of disparate groups, for example "env=prod or env=staging". + # Corresponds to the JSON property `groupLabels` + # @return [Array] + attr_accessor :group_labels + + # Targets VMs whose name starts with one of these prefixes. Similar to + # labels, this is another way to group VMs when targeting configs, for + # example prefix="prod-". + # Corresponds to the JSON property `instanceNamePrefixes` + # @return [Array] + attr_accessor :instance_name_prefixes + + # Targets any of the VM instances specified. Instances are specified by their + # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME], + # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or + # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/ + # instances/[INSTANCE_NAME]` + # Corresponds to the JSON property `instances` + # @return [Array] + attr_accessor :instances + + # Targets VM instances in ANY of these zones. Leave empty to target VM + # instances in any zone. + # Corresponds to the JSON property `zones` + # @return [Array] + attr_accessor :zones + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @all = args[:all] if args.key?(:all) + @group_labels = args[:group_labels] if args.key?(:group_labels) + @instance_name_prefixes = args[:instance_name_prefixes] if args.key?(:instance_name_prefixes) + @instances = args[:instances] if args.key?(:instances) + @zones = args[:zones] if args.key?(:zones) + end + end + + # Represents a group of VMs that can be identified as having all these + # labels, for example "env=prod and app=web". + class PatchInstanceFilterGroupLabel + include Google::Apis::Core::Hashable + + # Google Compute Engine instance labels that must be present for a VM + # instance to be targeted by this filter. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @labels = args[:labels] if args.key?(:labels) + end + end + + # A high level representation of a patch job that is either in progress + # or has completed. + # Instances details are not included in the job. To paginate through instance + # details, use ListPatchJobInstanceDetails. + class PatchJob + include Google::Apis::Core::Hashable + + # Time this patch job was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Description of the patch job. Length of the description is limited + # to 1024 characters. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Display name for this patch job. This is not a unique identifier. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # If this patch job is a dry run, the agent reports that it has + # finished without running any updates on the VM instance. + # Corresponds to the JSON property `dryRun` + # @return [Boolean] + attr_accessor :dry_run + alias_method :dry_run?, :dry_run + + # Duration of the patch job. After the duration ends, the + # patch job times out. + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # If this patch job failed, this message provides information about the + # failure. + # Corresponds to the JSON property `errorMessage` + # @return [String] + attr_accessor :error_message + + # A summary of the current patch state across all instances that this patch + # job affects. Contains counts of instances in different states. These states + # map to `InstancePatchState`. List patch job instance details to see the + # specific states of each instance. + # Corresponds to the JSON property `instanceDetailsSummary` + # @return [Google::Apis::OsconfigV1beta::PatchJobInstanceDetailsSummary] + attr_accessor :instance_details_summary + + # A filter to target VM instances for patching. The targeted + # VMs must meet all criteria specified. So if both labels and zones are + # specified, the patch job targets only VMs with those labels and in those + # zones. + # Corresponds to the JSON property `instanceFilter` + # @return [Google::Apis::OsconfigV1beta::PatchInstanceFilter] + attr_accessor :instance_filter + + # Unique identifier for this patch job in the form + # `projects/*/patchJobs/*` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Patch configuration specifications. Contains details on how to apply the + # patch(es) to a VM instance. + # Corresponds to the JSON property `patchConfig` + # @return [Google::Apis::OsconfigV1beta::PatchConfig] + attr_accessor :patch_config + + # Output only. Name of the patch deployment that created this patch job. + # Corresponds to the JSON property `patchDeployment` + # @return [String] + attr_accessor :patch_deployment + + # Reflects the overall progress of the patch job in the range of + # 0.0 being no progress to 100.0 being complete. + # Corresponds to the JSON property `percentComplete` + # @return [Float] + attr_accessor :percent_complete + + # The current state of the PatchJob . + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Last time this patch job was updated. + # 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) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @dry_run = args[:dry_run] if args.key?(:dry_run) + @duration = args[:duration] if args.key?(:duration) + @error_message = args[:error_message] if args.key?(:error_message) + @instance_details_summary = args[:instance_details_summary] if args.key?(:instance_details_summary) + @instance_filter = args[:instance_filter] if args.key?(:instance_filter) + @name = args[:name] if args.key?(:name) + @patch_config = args[:patch_config] if args.key?(:patch_config) + @patch_deployment = args[:patch_deployment] if args.key?(:patch_deployment) + @percent_complete = args[:percent_complete] if args.key?(:percent_complete) + @state = args[:state] if args.key?(:state) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Patch details for a VM instance. + class PatchJobInstanceDetails + include Google::Apis::Core::Hashable + + # The number of times the agent that the agent attempts to apply the patch. + # Corresponds to the JSON property `attemptCount` + # @return [Fixnum] + attr_accessor :attempt_count + + # If the patch fails, this field provides the reason. + # Corresponds to the JSON property `failureReason` + # @return [String] + attr_accessor :failure_reason + + # The unique identifier for the instance. This identifier is + # defined by the server. + # Corresponds to the JSON property `instanceSystemId` + # @return [String] + attr_accessor :instance_system_id + + # The instance name in the form `projects/*/zones/*/instances/*` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Current state of instance patch. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @attempt_count = args[:attempt_count] if args.key?(:attempt_count) + @failure_reason = args[:failure_reason] if args.key?(:failure_reason) + @instance_system_id = args[:instance_system_id] if args.key?(:instance_system_id) + @name = args[:name] if args.key?(:name) + @state = args[:state] if args.key?(:state) + end + end + + # A summary of the current patch state across all instances that this patch + # job affects. Contains counts of instances in different states. These states + # map to `InstancePatchState`. List patch job instance details to see the + # specific states of each instance. + class PatchJobInstanceDetailsSummary + include Google::Apis::Core::Hashable + + # Number of instances that have acked and will start shortly. + # Corresponds to the JSON property `ackedInstanceCount` + # @return [Fixnum] + attr_accessor :acked_instance_count + + # Number of instances that are applying patches. + # Corresponds to the JSON property `applyingPatchesInstanceCount` + # @return [Fixnum] + attr_accessor :applying_patches_instance_count + + # Number of instances that are downloading patches. + # Corresponds to the JSON property `downloadingPatchesInstanceCount` + # @return [Fixnum] + attr_accessor :downloading_patches_instance_count + + # Number of instances that failed. + # Corresponds to the JSON property `failedInstanceCount` + # @return [Fixnum] + attr_accessor :failed_instance_count + + # Number of instances that are inactive. + # Corresponds to the JSON property `inactiveInstanceCount` + # @return [Fixnum] + attr_accessor :inactive_instance_count + + # Number of instances that do not appear to be running the agent. Check to + # ensure that the agent is installed, running, and able to communicate with + # the service. + # Corresponds to the JSON property `noAgentDetectedInstanceCount` + # @return [Fixnum] + attr_accessor :no_agent_detected_instance_count + + # Number of instances notified about patch job. + # Corresponds to the JSON property `notifiedInstanceCount` + # @return [Fixnum] + attr_accessor :notified_instance_count + + # Number of instances pending patch job. + # Corresponds to the JSON property `pendingInstanceCount` + # @return [Fixnum] + attr_accessor :pending_instance_count + + # Number of instances that are running the post-patch step. + # Corresponds to the JSON property `postPatchStepInstanceCount` + # @return [Fixnum] + attr_accessor :post_patch_step_instance_count + + # Number of instances that are running the pre-patch step. + # Corresponds to the JSON property `prePatchStepInstanceCount` + # @return [Fixnum] + attr_accessor :pre_patch_step_instance_count + + # Number of instances rebooting. + # Corresponds to the JSON property `rebootingInstanceCount` + # @return [Fixnum] + attr_accessor :rebooting_instance_count + + # Number of instances that have started. + # Corresponds to the JSON property `startedInstanceCount` + # @return [Fixnum] + attr_accessor :started_instance_count + + # Number of instances that have completed successfully. + # Corresponds to the JSON property `succeededInstanceCount` + # @return [Fixnum] + attr_accessor :succeeded_instance_count + + # Number of instances that require reboot. + # Corresponds to the JSON property `succeededRebootRequiredInstanceCount` + # @return [Fixnum] + attr_accessor :succeeded_reboot_required_instance_count + + # Number of instances that exceeded the time out while applying the patch. + # Corresponds to the JSON property `timedOutInstanceCount` + # @return [Fixnum] + attr_accessor :timed_out_instance_count + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @acked_instance_count = args[:acked_instance_count] if args.key?(:acked_instance_count) + @applying_patches_instance_count = args[:applying_patches_instance_count] if args.key?(:applying_patches_instance_count) + @downloading_patches_instance_count = args[:downloading_patches_instance_count] if args.key?(:downloading_patches_instance_count) + @failed_instance_count = args[:failed_instance_count] if args.key?(:failed_instance_count) + @inactive_instance_count = args[:inactive_instance_count] if args.key?(:inactive_instance_count) + @no_agent_detected_instance_count = args[:no_agent_detected_instance_count] if args.key?(:no_agent_detected_instance_count) + @notified_instance_count = args[:notified_instance_count] if args.key?(:notified_instance_count) + @pending_instance_count = args[:pending_instance_count] if args.key?(:pending_instance_count) + @post_patch_step_instance_count = args[:post_patch_step_instance_count] if args.key?(:post_patch_step_instance_count) + @pre_patch_step_instance_count = args[:pre_patch_step_instance_count] if args.key?(:pre_patch_step_instance_count) + @rebooting_instance_count = args[:rebooting_instance_count] if args.key?(:rebooting_instance_count) + @started_instance_count = args[:started_instance_count] if args.key?(:started_instance_count) + @succeeded_instance_count = args[:succeeded_instance_count] if args.key?(:succeeded_instance_count) + @succeeded_reboot_required_instance_count = args[:succeeded_reboot_required_instance_count] if args.key?(:succeeded_reboot_required_instance_count) + @timed_out_instance_count = args[:timed_out_instance_count] if args.key?(:timed_out_instance_count) + end + end + + # Sets the time for recurring patch deployments. + class RecurringSchedule + include Google::Apis::Core::Hashable + + # Optional. The end time at which a recurring patch deployment schedule is no + # longer + # active. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Required. The frequency unit of this recurring schedule. + # Corresponds to the JSON property `frequency` + # @return [String] + attr_accessor :frequency + + # Output only. The time the last patch job ran successfully. + # Corresponds to the JSON property `lastExecuteTime` + # @return [String] + attr_accessor :last_execute_time + + # Represents a monthly schedule. An example of a valid monthly schedule is + # "on the third Tuesday of the month" or "on the 15th of the month". + # Corresponds to the JSON property `monthly` + # @return [Google::Apis::OsconfigV1beta::MonthlySchedule] + attr_accessor :monthly + + # Output only. The time the next patch job is scheduled to run. + # Corresponds to the JSON property `nextExecuteTime` + # @return [String] + attr_accessor :next_execute_time + + # Optional. The time that the recurring schedule becomes effective. + # Defaults to `create_time` of the patch deployment. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + # Represents a time of day. The date and time zone are either not significant + # or are specified elsewhere. An API may choose to allow leap seconds. Related + # types are google.type.Date and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `timeOfDay` + # @return [Google::Apis::OsconfigV1beta::TimeOfDay] + attr_accessor :time_of_day + + # Represents a time zone from the + # [IANA Time Zone Database](https://www.iana.org/time-zones). + # Corresponds to the JSON property `timeZone` + # @return [Google::Apis::OsconfigV1beta::TimeZone] + attr_accessor :time_zone + + # Represents a weekly schedule. + # Corresponds to the JSON property `weekly` + # @return [Google::Apis::OsconfigV1beta::WeeklySchedule] + attr_accessor :weekly + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_time = args[:end_time] if args.key?(:end_time) + @frequency = args[:frequency] if args.key?(:frequency) + @last_execute_time = args[:last_execute_time] if args.key?(:last_execute_time) + @monthly = args[:monthly] if args.key?(:monthly) + @next_execute_time = args[:next_execute_time] if args.key?(:next_execute_time) + @start_time = args[:start_time] if args.key?(:start_time) + @time_of_day = args[:time_of_day] if args.key?(:time_of_day) + @time_zone = args[:time_zone] if args.key?(:time_zone) + @weekly = args[:weekly] if args.key?(:weekly) + end + end + + # A software recipe is a set of instructions for installing and configuring a + # piece of software. It consists of a set of artifacts that are + # downloaded, and a set of steps that install, configure, and/or update the + # software. + # Recipes support installing and updating software from artifacts in the + # following formats: + # Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. + # Additionally, recipes support executing a script (either defined in a file or + # directly in this api) in bash, sh, cmd, and powershell. + # Updating a software recipe + # If a recipe is assigned to an instance and there is a recipe with the same + # name but a lower version already installed and the assigned state + # of the recipe is `INSTALLED_KEEP_UPDATED`, then the recipe is updated to + # the new version. + # Script Working Directories + # Each script or execution step is run in its own temporary directory which + # is deleted after completing the step. + class SoftwareRecipe + include Google::Apis::Core::Hashable + + # Resources available to be used in the steps in the recipe. + # Corresponds to the JSON property `artifacts` + # @return [Array] + attr_accessor :artifacts + + # Default is INSTALLED. The desired state the agent should maintain for this + # recipe. + # INSTALLED: The software recipe is installed on the instance but + # won't be updated to new versions. + # INSTALLED_KEEP_UPDATED: The software recipe is installed on the + # instance. The recipe is updated to a higher + # version, if a higher version of the recipe is + # assigned to this instance. + # REMOVE: Remove is unsupported for software recipes and attempts to + # create or update a recipe to the REMOVE state is rejected. + # Corresponds to the JSON property `desiredState` + # @return [String] + attr_accessor :desired_state + + # Actions to be taken for installing this recipe. On failure it stops + # executing steps and does not attempt another installation. Any steps taken + # (including partially completed steps) are not rolled back. + # Corresponds to the JSON property `installSteps` + # @return [Array] + attr_accessor :install_steps + + # Required. Unique identifier for the recipe. Only one recipe with a given name + # is + # installed on an instance. + # Names are also used to identify resources which helps to determine whether + # guest policies have conflicts. This means that requests to create multiple + # recipes with the same name and version are rejected since they + # could potentially have conflicting assignments. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Actions to be taken for updating this recipe. On failure it stops + # executing steps and does not attempt another update for this recipe. Any + # steps taken (including partially completed steps) are not rolled back. + # Corresponds to the JSON property `updateSteps` + # @return [Array] + attr_accessor :update_steps + + # The version of this software recipe. Version can be up to 4 period + # separated numbers (e.g. 12.34.56.78). + # 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) + @artifacts = args[:artifacts] if args.key?(:artifacts) + @desired_state = args[:desired_state] if args.key?(:desired_state) + @install_steps = args[:install_steps] if args.key?(:install_steps) + @name = args[:name] if args.key?(:name) + @update_steps = args[:update_steps] if args.key?(:update_steps) + @version = args[:version] if args.key?(:version) + end + end + + # Specifies a resource to be used in the recipe. + class SoftwareRecipeArtifact + include Google::Apis::Core::Hashable + + # Defaults to false. When false, recipes are subject to validations + # based on the artifact type: + # Remote: A checksum must be specified, and only protocols with + # transport-layer security are permitted. + # GCS: An object generation number must be specified. + # Corresponds to the JSON property `allowInsecure` + # @return [Boolean] + attr_accessor :allow_insecure + alias_method :allow_insecure?, :allow_insecure + + # Specifies an artifact available as a Google Cloud Storage object. + # Corresponds to the JSON property `gcs` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactGcs] + attr_accessor :gcs + + # Required. Id of the artifact, which the installation and update steps of this + # recipe can reference. Artifacts in a recipe cannot have the same id. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Specifies an artifact available via some URI. + # Corresponds to the JSON property `remote` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactRemote] + attr_accessor :remote + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allow_insecure = args[:allow_insecure] if args.key?(:allow_insecure) + @gcs = args[:gcs] if args.key?(:gcs) + @id = args[:id] if args.key?(:id) + @remote = args[:remote] if args.key?(:remote) + end + end + + # Specifies an artifact available as a Google Cloud Storage object. + class SoftwareRecipeArtifactGcs + include Google::Apis::Core::Hashable + + # Bucket of the Google Cloud Storage object. + # Given an example URL: + # `https://storage.googleapis.com/my-bucket/foo/bar#1234567` + # this value would be `my-bucket`. + # Corresponds to the JSON property `bucket` + # @return [String] + attr_accessor :bucket + + # Must be provided if allow_insecure is false. + # Generation number of the Google Cloud Storage object. + # `https://storage.googleapis.com/my-bucket/foo/bar#1234567` + # this value would be `1234567`. + # Corresponds to the JSON property `generation` + # @return [Fixnum] + attr_accessor :generation + + # Name of the Google Cloud Storage object. + # As specified [here] + # (https://cloud.google.com/storage/docs/naming#objectnames) + # Given an example URL: + # `https://storage.googleapis.com/my-bucket/foo/bar#1234567` + # this value would be `foo/bar`. + # Corresponds to the JSON property `object` + # @return [String] + attr_accessor :object + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bucket = args[:bucket] if args.key?(:bucket) + @generation = args[:generation] if args.key?(:generation) + @object = args[:object] if args.key?(:object) + end + end + + # Specifies an artifact available via some URI. + class SoftwareRecipeArtifactRemote + include Google::Apis::Core::Hashable + + # Must be provided if `allow_insecure` is `false`. + # SHA256 checksum in hex format, to compare to the checksum of the + # artifact. If the checksum is not empty and it doesn't match the + # artifact then the recipe installation fails before running any of the + # steps. + # Corresponds to the JSON property `checksum` + # @return [String] + attr_accessor :checksum + + # URI from which to fetch the object. It should contain both the protocol + # and path following the format `protocol`://`location`. + # Corresponds to the JSON property `uri` + # @return [String] + attr_accessor :uri + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @checksum = args[:checksum] if args.key?(:checksum) + @uri = args[:uri] if args.key?(:uri) + end + end + + # An action that can be taken as part of installing or updating a recipe. + class SoftwareRecipeStep + include Google::Apis::Core::Hashable + + # Extracts an archive of the type specified in the specified directory. + # Corresponds to the JSON property `archiveExtraction` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepExtractArchive] + attr_accessor :archive_extraction + + # Installs a deb via dpkg. + # Corresponds to the JSON property `dpkgInstallation` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallDpkg] + attr_accessor :dpkg_installation + + # Copies the artifact to the specified path on the instance. + # Corresponds to the JSON property `fileCopy` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepCopyFile] + attr_accessor :file_copy + + # Executes an artifact or local file. + # Corresponds to the JSON property `fileExec` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepExecFile] + attr_accessor :file_exec + + # Installs an MSI file. + # Corresponds to the JSON property `msiInstallation` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallMsi] + attr_accessor :msi_installation + + # Installs an rpm file via the rpm utility. + # Corresponds to the JSON property `rpmInstallation` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallRpm] + attr_accessor :rpm_installation + + # Runs a script through an interpreter. + # Corresponds to the JSON property `scriptRun` + # @return [Google::Apis::OsconfigV1beta::SoftwareRecipeStepRunScript] + attr_accessor :script_run + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @archive_extraction = args[:archive_extraction] if args.key?(:archive_extraction) + @dpkg_installation = args[:dpkg_installation] if args.key?(:dpkg_installation) + @file_copy = args[:file_copy] if args.key?(:file_copy) + @file_exec = args[:file_exec] if args.key?(:file_exec) + @msi_installation = args[:msi_installation] if args.key?(:msi_installation) + @rpm_installation = args[:rpm_installation] if args.key?(:rpm_installation) + @script_run = args[:script_run] if args.key?(:script_run) + end + end + + # Copies the artifact to the specified path on the instance. + class SoftwareRecipeStepCopyFile + include Google::Apis::Core::Hashable + + # Required. The id of the relevant artifact in the recipe. + # Corresponds to the JSON property `artifactId` + # @return [String] + attr_accessor :artifact_id + + # Required. The absolute path on the instance to put the file. + # Corresponds to the JSON property `destination` + # @return [String] + attr_accessor :destination + + # Whether to allow this step to overwrite existing files. If this is + # false and the file already exists the file is not overwritten + # and the step is considered a success. Defaults to false. + # Corresponds to the JSON property `overwrite` + # @return [Boolean] + attr_accessor :overwrite + alias_method :overwrite?, :overwrite + + # Consists of three octal digits which represent, in + # order, the permissions of the owner, group, and other users for the + # file (similarly to the numeric mode used in the linux chmod utility). + # Each digit represents a three bit number with the 4 bit + # corresponding to the read permissions, the 2 bit corresponds to the + # write bit, and the one bit corresponds to the execute permission. + # Default behavior is 755. + # Below are some examples of permissions and their associated values: + # read, write, and execute: 7 + # read and execute: 5 + # read and write: 6 + # read only: 4 + # Corresponds to the JSON property `permissions` + # @return [String] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @artifact_id = args[:artifact_id] if args.key?(:artifact_id) + @destination = args[:destination] if args.key?(:destination) + @overwrite = args[:overwrite] if args.key?(:overwrite) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Executes an artifact or local file. + class SoftwareRecipeStepExecFile + include Google::Apis::Core::Hashable + + # Defaults to [0]. A list of possible return values that the program + # can return to indicate a success. + # Corresponds to the JSON property `allowedExitCodes` + # @return [Array] + attr_accessor :allowed_exit_codes + + # Arguments to be passed to the provided executable. + # Corresponds to the JSON property `args` + # @return [Array] + attr_accessor :args + + # The id of the relevant artifact in the recipe. + # Corresponds to the JSON property `artifactId` + # @return [String] + attr_accessor :artifact_id + + # The absolute path of the file on the local filesystem. + # Corresponds to the JSON property `localPath` + # @return [String] + attr_accessor :local_path + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allowed_exit_codes = args[:allowed_exit_codes] if args.key?(:allowed_exit_codes) + @args = args[:args] if args.key?(:args) + @artifact_id = args[:artifact_id] if args.key?(:artifact_id) + @local_path = args[:local_path] if args.key?(:local_path) + end + end + + # Extracts an archive of the type specified in the specified directory. + class SoftwareRecipeStepExtractArchive + include Google::Apis::Core::Hashable + + # Required. The id of the relevant artifact in the recipe. + # Corresponds to the JSON property `artifactId` + # @return [String] + attr_accessor :artifact_id + + # Directory to extract archive to. + # Defaults to `/` on Linux or `C:\` on Windows. + # Corresponds to the JSON property `destination` + # @return [String] + attr_accessor :destination + + # Required. The type of the archive to extract. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @artifact_id = args[:artifact_id] if args.key?(:artifact_id) + @destination = args[:destination] if args.key?(:destination) + @type = args[:type] if args.key?(:type) + end + end + + # Installs a deb via dpkg. + class SoftwareRecipeStepInstallDpkg + include Google::Apis::Core::Hashable + + # Required. The id of the relevant artifact in the recipe. + # Corresponds to the JSON property `artifactId` + # @return [String] + attr_accessor :artifact_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @artifact_id = args[:artifact_id] if args.key?(:artifact_id) + end + end + + # Installs an MSI file. + class SoftwareRecipeStepInstallMsi + include Google::Apis::Core::Hashable + + # Return codes that indicate that the software installed or updated + # successfully. Behaviour defaults to [0] + # Corresponds to the JSON property `allowedExitCodes` + # @return [Array] + attr_accessor :allowed_exit_codes + + # Required. The id of the relevant artifact in the recipe. + # Corresponds to the JSON property `artifactId` + # @return [String] + attr_accessor :artifact_id + + # The flags to use when installing the MSI + # defaults to ["/i"] (i.e. the install flag). + # Corresponds to the JSON property `flags` + # @return [Array] + attr_accessor :flags + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allowed_exit_codes = args[:allowed_exit_codes] if args.key?(:allowed_exit_codes) + @artifact_id = args[:artifact_id] if args.key?(:artifact_id) + @flags = args[:flags] if args.key?(:flags) + end + end + + # Installs an rpm file via the rpm utility. + class SoftwareRecipeStepInstallRpm + include Google::Apis::Core::Hashable + + # Required. The id of the relevant artifact in the recipe. + # Corresponds to the JSON property `artifactId` + # @return [String] + attr_accessor :artifact_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @artifact_id = args[:artifact_id] if args.key?(:artifact_id) + end + end + + # Runs a script through an interpreter. + class SoftwareRecipeStepRunScript + include Google::Apis::Core::Hashable + + # Return codes that indicate that the software installed or updated + # successfully. Behaviour defaults to [0] + # Corresponds to the JSON property `allowedExitCodes` + # @return [Array] + attr_accessor :allowed_exit_codes + + # The script interpreter to use to run the script. If no interpreter is + # specified the script is executed directly, which likely + # only succeed for scripts with + # [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)). + # Corresponds to the JSON property `interpreter` + # @return [String] + attr_accessor :interpreter + + # Required. The shell script to be executed. + # Corresponds to the JSON property `script` + # @return [String] + attr_accessor :script + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allowed_exit_codes = args[:allowed_exit_codes] if args.key?(:allowed_exit_codes) + @interpreter = args[:interpreter] if args.key?(:interpreter) + @script = args[:script] if args.key?(:script) + end + end + + # Represents a time of day. The date and time zone are either not significant + # or are specified elsewhere. An API may choose to allow leap seconds. Related + # types are google.type.Date and `google.protobuf.Timestamp`. + class TimeOfDay + include Google::Apis::Core::Hashable + + # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + # to allow the value "24:00:00" for scenarios like business closing time. + # Corresponds to the JSON property `hours` + # @return [Fixnum] + attr_accessor :hours + + # Minutes of hour of day. Must be from 0 to 59. + # Corresponds to the JSON property `minutes` + # @return [Fixnum] + attr_accessor :minutes + + # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + # Corresponds to the JSON property `nanos` + # @return [Fixnum] + attr_accessor :nanos + + # Seconds of minutes of the time. Must normally be from 0 to 59. An API may + # allow the value 60 if it allows leap-seconds. + # Corresponds to the JSON property `seconds` + # @return [Fixnum] + attr_accessor :seconds + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @hours = args[:hours] if args.key?(:hours) + @minutes = args[:minutes] if args.key?(:minutes) + @nanos = args[:nanos] if args.key?(:nanos) + @seconds = args[:seconds] if args.key?(:seconds) + end + end + + # Represents a time zone from the + # [IANA Time Zone Database](https://www.iana.org/time-zones). + class TimeZone + include Google::Apis::Core::Hashable + + # IANA Time Zone Database time zone, e.g. "America/New_York". + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Optional. IANA Time Zone Database version number, e.g. "2019a". + # 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) + @id = args[:id] if args.key?(:id) + @version = args[:version] if args.key?(:version) + end + end + + # Represents one week day in a month. An example is "the 4th Sunday". + class WeekDayOfMonth + include Google::Apis::Core::Hashable + + # Required. A day of the week. + # Corresponds to the JSON property `dayOfWeek` + # @return [String] + attr_accessor :day_of_week + + # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the + # month. -1 + # indicates the last week of the month. + # Corresponds to the JSON property `weekOrdinal` + # @return [Fixnum] + attr_accessor :week_ordinal + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @day_of_week = args[:day_of_week] if args.key?(:day_of_week) + @week_ordinal = args[:week_ordinal] if args.key?(:week_ordinal) + end + end + + # Represents a weekly schedule. + class WeeklySchedule + include Google::Apis::Core::Hashable + + # Required. Day of the week. + # Corresponds to the JSON property `dayOfWeek` + # @return [String] + attr_accessor :day_of_week + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @day_of_week = args[:day_of_week] if args.key?(:day_of_week) + end + end + + # Windows patching is performed using the Windows Update Agent. + class WindowsUpdateSettings + include Google::Apis::Core::Hashable + + # Only apply updates of these windows update classifications. If empty, all + # updates are applied. + # Corresponds to the JSON property `classifications` + # @return [Array] + attr_accessor :classifications + + # List of KBs to exclude from update. + # Corresponds to the JSON property `excludes` + # @return [Array] + attr_accessor :excludes + + # An exclusive list of kbs to be updated. These are the only patches + # that will be updated. This field must not be used with other + # patch configurations. + # Corresponds to the JSON property `exclusivePatches` + # @return [Array] + attr_accessor :exclusive_patches + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @classifications = args[:classifications] if args.key?(:classifications) + @excludes = args[:excludes] if args.key?(:excludes) + @exclusive_patches = args[:exclusive_patches] if args.key?(:exclusive_patches) + end + end + + # Represents a single Yum package repository. This repository is added to a + # repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`. + class YumRepository + include Google::Apis::Core::Hashable + + # Required. The location of the repository directory. + # Corresponds to the JSON property `baseUrl` + # @return [String] + attr_accessor :base_url + + # The display name of the repository. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # URIs of GPG keys. + # Corresponds to the JSON property `gpgKeys` + # @return [Array] + attr_accessor :gpg_keys + + # Required. A one word, unique name for this repository. This is + # the `repo id` in the Yum config file and also the `display_name` if + # `display_name` is omitted. This id is also used as the unique identifier + # when checking for guest policy conflicts. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @base_url = args[:base_url] if args.key?(:base_url) + @display_name = args[:display_name] if args.key?(:display_name) + @gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys) + @id = args[:id] if args.key?(:id) + end + end + + # Yum patching is performed by executing `yum update`. Additional options + # can be set to control how this is executed. + # Note that not all settings are supported on all platforms. + class YumSettings + include Google::Apis::Core::Hashable + + # List of packages to exclude from update. These packages are excluded by + # using the yum `--exclude` flag. + # Corresponds to the JSON property `excludes` + # @return [Array] + attr_accessor :excludes + + # An exclusive list of packages to be updated. These are the only packages + # that will be updated. If these packages are not installed, they will be + # ignored. This field must not be specified with any other patch + # configuration fields. + # Corresponds to the JSON property `exclusivePackages` + # @return [Array] + attr_accessor :exclusive_packages + + # Will cause patch to run `yum update-minimal` instead. + # Corresponds to the JSON property `minimal` + # @return [Boolean] + attr_accessor :minimal + alias_method :minimal?, :minimal + + # Adds the `--security` flag to `yum update`. Not supported on + # all platforms. + # Corresponds to the JSON property `security` + # @return [Boolean] + attr_accessor :security + alias_method :security?, :security + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @excludes = args[:excludes] if args.key?(:excludes) + @exclusive_packages = args[:exclusive_packages] if args.key?(:exclusive_packages) + @minimal = args[:minimal] if args.key?(:minimal) + @security = args[:security] if args.key?(:security) + end + end + + # Represents a single Zypper package repository. This repository is added to a + # repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`. + class ZypperRepository + include Google::Apis::Core::Hashable + + # Required. The location of the repository directory. + # Corresponds to the JSON property `baseUrl` + # @return [String] + attr_accessor :base_url + + # The display name of the repository. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # URIs of GPG keys. + # Corresponds to the JSON property `gpgKeys` + # @return [Array] + attr_accessor :gpg_keys + + # Required. A one word, unique name for this repository. This is + # the `repo id` in the zypper config file and also the `display_name` if + # `display_name` is omitted. This id is also used as the unique identifier + # when checking for guest policy conflicts. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @base_url = args[:base_url] if args.key?(:base_url) + @display_name = args[:display_name] if args.key?(:display_name) + @gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys) + @id = args[:id] if args.key?(:id) + end + end + + # Zypper patching is performed by running `zypper patch`. + # See also https://en.opensuse.org/SDB:Zypper_manual. + class ZypperSettings + include Google::Apis::Core::Hashable + + # Install only patches with these categories. + # Common categories include security, recommended, and feature. + # Corresponds to the JSON property `categories` + # @return [Array] + attr_accessor :categories + + # List of patches to exclude from update. + # Corresponds to the JSON property `excludes` + # @return [Array] + attr_accessor :excludes + + # An exclusive list of patches to be updated. These are the only patches + # that will be installed using 'zypper patch patch:' command. + # This field must not be used with any other patch configuration fields. + # Corresponds to the JSON property `exclusivePatches` + # @return [Array] + attr_accessor :exclusive_patches + + # Install only patches with these severities. + # Common severities include critical, important, moderate, and low. + # Corresponds to the JSON property `severities` + # @return [Array] + attr_accessor :severities + + # Adds the `--with-optional` flag to `zypper patch`. + # Corresponds to the JSON property `withOptional` + # @return [Boolean] + attr_accessor :with_optional + alias_method :with_optional?, :with_optional + + # Adds the `--with-update` flag, to `zypper patch`. + # Corresponds to the JSON property `withUpdate` + # @return [Boolean] + attr_accessor :with_update + alias_method :with_update?, :with_update + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @categories = args[:categories] if args.key?(:categories) + @excludes = args[:excludes] if args.key?(:excludes) + @exclusive_patches = args[:exclusive_patches] if args.key?(:exclusive_patches) + @severities = args[:severities] if args.key?(:severities) + @with_optional = args[:with_optional] if args.key?(:with_optional) + @with_update = args[:with_update] if args.key?(:with_update) + end + end + end + end +end diff --git a/generated/google/apis/osconfig_v1beta/representations.rb b/generated/google/apis/osconfig_v1beta/representations.rb new file mode 100644 index 000000000..426bf7efc --- /dev/null +++ b/generated/google/apis/osconfig_v1beta/representations.rb @@ -0,0 +1,966 @@ +# 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 OsconfigV1beta + + class AptRepository + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AptSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Assignment + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AssignmentGroupLabel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AssignmentOsType + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CancelPatchJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class EffectiveGuestPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class EffectiveGuestPolicySourcedPackage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class EffectiveGuestPolicySourcedPackageRepository + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class EffectiveGuestPolicySourcedSoftwareRecipe + 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 ExecStep + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExecStepConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExecutePatchJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GcsObject + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GooRepository + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GooSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GuestPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListGuestPoliciesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListPatchDeploymentsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListPatchJobInstanceDetailsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListPatchJobsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LookupEffectiveGuestPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MonthlySchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class OneTimeSchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Package + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PackageRepository + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchDeployment + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchInstanceFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchInstanceFilterGroupLabel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchJob + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchJobInstanceDetails + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PatchJobInstanceDetailsSummary + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RecurringSchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipe + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeArtifact + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeArtifactGcs + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeArtifactRemote + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStep + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepCopyFile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepExecFile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepExtractArchive + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepInstallDpkg + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepInstallMsi + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepInstallRpm + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SoftwareRecipeStepRunScript + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TimeOfDay + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TimeZone + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WeekDayOfMonth + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WeeklySchedule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WindowsUpdateSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class YumRepository + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class YumSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ZypperRepository + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ZypperSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AptRepository + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :archive_type, as: 'archiveType' + collection :components, as: 'components' + property :distribution, as: 'distribution' + property :gpg_key, as: 'gpgKey' + property :uri, as: 'uri' + end + end + + class AptSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :excludes, as: 'excludes' + collection :exclusive_packages, as: 'exclusivePackages' + property :type, as: 'type' + end + end + + class Assignment + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :group_labels, as: 'groupLabels', class: Google::Apis::OsconfigV1beta::AssignmentGroupLabel, decorator: Google::Apis::OsconfigV1beta::AssignmentGroupLabel::Representation + + collection :instance_name_prefixes, as: 'instanceNamePrefixes' + collection :instances, as: 'instances' + collection :os_types, as: 'osTypes', class: Google::Apis::OsconfigV1beta::AssignmentOsType, decorator: Google::Apis::OsconfigV1beta::AssignmentOsType::Representation + + collection :zones, as: 'zones' + end + end + + class AssignmentGroupLabel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :labels, as: 'labels' + end + end + + class AssignmentOsType + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :os_architecture, as: 'osArchitecture' + property :os_short_name, as: 'osShortName' + property :os_version, as: 'osVersion' + end + end + + class CancelPatchJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class EffectiveGuestPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :package_repositories, as: 'packageRepositories', class: Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedPackageRepository, decorator: Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedPackageRepository::Representation + + collection :packages, as: 'packages', class: Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedPackage, decorator: Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedPackage::Representation + + collection :software_recipes, as: 'softwareRecipes', class: Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedSoftwareRecipe, decorator: Google::Apis::OsconfigV1beta::EffectiveGuestPolicySourcedSoftwareRecipe::Representation + + end + end + + class EffectiveGuestPolicySourcedPackage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :package, as: 'package', class: Google::Apis::OsconfigV1beta::Package, decorator: Google::Apis::OsconfigV1beta::Package::Representation + + property :source, as: 'source' + end + end + + class EffectiveGuestPolicySourcedPackageRepository + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :package_repository, as: 'packageRepository', class: Google::Apis::OsconfigV1beta::PackageRepository, decorator: Google::Apis::OsconfigV1beta::PackageRepository::Representation + + property :source, as: 'source' + end + end + + class EffectiveGuestPolicySourcedSoftwareRecipe + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :software_recipe, as: 'softwareRecipe', class: Google::Apis::OsconfigV1beta::SoftwareRecipe, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipe::Representation + + property :source, as: 'source' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ExecStep + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :linux_exec_step_config, as: 'linuxExecStepConfig', class: Google::Apis::OsconfigV1beta::ExecStepConfig, decorator: Google::Apis::OsconfigV1beta::ExecStepConfig::Representation + + property :windows_exec_step_config, as: 'windowsExecStepConfig', class: Google::Apis::OsconfigV1beta::ExecStepConfig, decorator: Google::Apis::OsconfigV1beta::ExecStepConfig::Representation + + end + end + + class ExecStepConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allowed_success_codes, as: 'allowedSuccessCodes' + property :gcs_object, as: 'gcsObject', class: Google::Apis::OsconfigV1beta::GcsObject, decorator: Google::Apis::OsconfigV1beta::GcsObject::Representation + + property :interpreter, as: 'interpreter' + property :local_path, as: 'localPath' + end + end + + class ExecutePatchJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :display_name, as: 'displayName' + property :dry_run, as: 'dryRun' + property :duration, as: 'duration' + property :instance_filter, as: 'instanceFilter', class: Google::Apis::OsconfigV1beta::PatchInstanceFilter, decorator: Google::Apis::OsconfigV1beta::PatchInstanceFilter::Representation + + property :patch_config, as: 'patchConfig', class: Google::Apis::OsconfigV1beta::PatchConfig, decorator: Google::Apis::OsconfigV1beta::PatchConfig::Representation + + end + end + + class GcsObject + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bucket, as: 'bucket' + property :generation_number, :numeric_string => true, as: 'generationNumber' + property :object, as: 'object' + end + end + + class GooRepository + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :name, as: 'name' + property :url, as: 'url' + end + end + + class GooSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class GuestPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :assignment, as: 'assignment', class: Google::Apis::OsconfigV1beta::Assignment, decorator: Google::Apis::OsconfigV1beta::Assignment::Representation + + property :create_time, as: 'createTime' + property :description, as: 'description' + property :etag, as: 'etag' + property :name, as: 'name' + collection :package_repositories, as: 'packageRepositories', class: Google::Apis::OsconfigV1beta::PackageRepository, decorator: Google::Apis::OsconfigV1beta::PackageRepository::Representation + + collection :packages, as: 'packages', class: Google::Apis::OsconfigV1beta::Package, decorator: Google::Apis::OsconfigV1beta::Package::Representation + + collection :recipes, as: 'recipes', class: Google::Apis::OsconfigV1beta::SoftwareRecipe, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipe::Representation + + property :update_time, as: 'updateTime' + end + end + + class ListGuestPoliciesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :guest_policies, as: 'guestPolicies', class: Google::Apis::OsconfigV1beta::GuestPolicy, decorator: Google::Apis::OsconfigV1beta::GuestPolicy::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ListPatchDeploymentsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :patch_deployments, as: 'patchDeployments', class: Google::Apis::OsconfigV1beta::PatchDeployment, decorator: Google::Apis::OsconfigV1beta::PatchDeployment::Representation + + end + end + + class ListPatchJobInstanceDetailsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :patch_job_instance_details, as: 'patchJobInstanceDetails', class: Google::Apis::OsconfigV1beta::PatchJobInstanceDetails, decorator: Google::Apis::OsconfigV1beta::PatchJobInstanceDetails::Representation + + end + end + + class ListPatchJobsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :patch_jobs, as: 'patchJobs', class: Google::Apis::OsconfigV1beta::PatchJob, decorator: Google::Apis::OsconfigV1beta::PatchJob::Representation + + end + end + + class LookupEffectiveGuestPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :os_architecture, as: 'osArchitecture' + property :os_short_name, as: 'osShortName' + property :os_version, as: 'osVersion' + end + end + + class MonthlySchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :month_day, as: 'monthDay' + property :week_day_of_month, as: 'weekDayOfMonth', class: Google::Apis::OsconfigV1beta::WeekDayOfMonth, decorator: Google::Apis::OsconfigV1beta::WeekDayOfMonth::Representation + + end + end + + class OneTimeSchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :execute_time, as: 'executeTime' + end + end + + class Package + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :desired_state, as: 'desiredState' + property :manager, as: 'manager' + property :name, as: 'name' + end + end + + class PackageRepository + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :apt, as: 'apt', class: Google::Apis::OsconfigV1beta::AptRepository, decorator: Google::Apis::OsconfigV1beta::AptRepository::Representation + + property :goo, as: 'goo', class: Google::Apis::OsconfigV1beta::GooRepository, decorator: Google::Apis::OsconfigV1beta::GooRepository::Representation + + property :yum, as: 'yum', class: Google::Apis::OsconfigV1beta::YumRepository, decorator: Google::Apis::OsconfigV1beta::YumRepository::Representation + + property :zypper, as: 'zypper', class: Google::Apis::OsconfigV1beta::ZypperRepository, decorator: Google::Apis::OsconfigV1beta::ZypperRepository::Representation + + end + end + + class PatchConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :apt, as: 'apt', class: Google::Apis::OsconfigV1beta::AptSettings, decorator: Google::Apis::OsconfigV1beta::AptSettings::Representation + + property :goo, as: 'goo', class: Google::Apis::OsconfigV1beta::GooSettings, decorator: Google::Apis::OsconfigV1beta::GooSettings::Representation + + property :post_step, as: 'postStep', class: Google::Apis::OsconfigV1beta::ExecStep, decorator: Google::Apis::OsconfigV1beta::ExecStep::Representation + + property :pre_step, as: 'preStep', class: Google::Apis::OsconfigV1beta::ExecStep, decorator: Google::Apis::OsconfigV1beta::ExecStep::Representation + + property :reboot_config, as: 'rebootConfig' + property :windows_update, as: 'windowsUpdate', class: Google::Apis::OsconfigV1beta::WindowsUpdateSettings, decorator: Google::Apis::OsconfigV1beta::WindowsUpdateSettings::Representation + + property :yum, as: 'yum', class: Google::Apis::OsconfigV1beta::YumSettings, decorator: Google::Apis::OsconfigV1beta::YumSettings::Representation + + property :zypper, as: 'zypper', class: Google::Apis::OsconfigV1beta::ZypperSettings, decorator: Google::Apis::OsconfigV1beta::ZypperSettings::Representation + + end + end + + class PatchDeployment + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :description, as: 'description' + property :duration, as: 'duration' + property :instance_filter, as: 'instanceFilter', class: Google::Apis::OsconfigV1beta::PatchInstanceFilter, decorator: Google::Apis::OsconfigV1beta::PatchInstanceFilter::Representation + + property :last_execute_time, as: 'lastExecuteTime' + property :name, as: 'name' + property :one_time_schedule, as: 'oneTimeSchedule', class: Google::Apis::OsconfigV1beta::OneTimeSchedule, decorator: Google::Apis::OsconfigV1beta::OneTimeSchedule::Representation + + property :patch_config, as: 'patchConfig', class: Google::Apis::OsconfigV1beta::PatchConfig, decorator: Google::Apis::OsconfigV1beta::PatchConfig::Representation + + property :recurring_schedule, as: 'recurringSchedule', class: Google::Apis::OsconfigV1beta::RecurringSchedule, decorator: Google::Apis::OsconfigV1beta::RecurringSchedule::Representation + + property :update_time, as: 'updateTime' + end + end + + class PatchInstanceFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :all, as: 'all' + collection :group_labels, as: 'groupLabels', class: Google::Apis::OsconfigV1beta::PatchInstanceFilterGroupLabel, decorator: Google::Apis::OsconfigV1beta::PatchInstanceFilterGroupLabel::Representation + + collection :instance_name_prefixes, as: 'instanceNamePrefixes' + collection :instances, as: 'instances' + collection :zones, as: 'zones' + end + end + + class PatchInstanceFilterGroupLabel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :labels, as: 'labels' + end + end + + class PatchJob + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :description, as: 'description' + property :display_name, as: 'displayName' + property :dry_run, as: 'dryRun' + property :duration, as: 'duration' + property :error_message, as: 'errorMessage' + property :instance_details_summary, as: 'instanceDetailsSummary', class: Google::Apis::OsconfigV1beta::PatchJobInstanceDetailsSummary, decorator: Google::Apis::OsconfigV1beta::PatchJobInstanceDetailsSummary::Representation + + property :instance_filter, as: 'instanceFilter', class: Google::Apis::OsconfigV1beta::PatchInstanceFilter, decorator: Google::Apis::OsconfigV1beta::PatchInstanceFilter::Representation + + property :name, as: 'name' + property :patch_config, as: 'patchConfig', class: Google::Apis::OsconfigV1beta::PatchConfig, decorator: Google::Apis::OsconfigV1beta::PatchConfig::Representation + + property :patch_deployment, as: 'patchDeployment' + property :percent_complete, as: 'percentComplete' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class PatchJobInstanceDetails + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :attempt_count, :numeric_string => true, as: 'attemptCount' + property :failure_reason, as: 'failureReason' + property :instance_system_id, as: 'instanceSystemId' + property :name, as: 'name' + property :state, as: 'state' + end + end + + class PatchJobInstanceDetailsSummary + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :acked_instance_count, :numeric_string => true, as: 'ackedInstanceCount' + property :applying_patches_instance_count, :numeric_string => true, as: 'applyingPatchesInstanceCount' + property :downloading_patches_instance_count, :numeric_string => true, as: 'downloadingPatchesInstanceCount' + property :failed_instance_count, :numeric_string => true, as: 'failedInstanceCount' + property :inactive_instance_count, :numeric_string => true, as: 'inactiveInstanceCount' + property :no_agent_detected_instance_count, :numeric_string => true, as: 'noAgentDetectedInstanceCount' + property :notified_instance_count, :numeric_string => true, as: 'notifiedInstanceCount' + property :pending_instance_count, :numeric_string => true, as: 'pendingInstanceCount' + property :post_patch_step_instance_count, :numeric_string => true, as: 'postPatchStepInstanceCount' + property :pre_patch_step_instance_count, :numeric_string => true, as: 'prePatchStepInstanceCount' + property :rebooting_instance_count, :numeric_string => true, as: 'rebootingInstanceCount' + property :started_instance_count, :numeric_string => true, as: 'startedInstanceCount' + property :succeeded_instance_count, :numeric_string => true, as: 'succeededInstanceCount' + property :succeeded_reboot_required_instance_count, :numeric_string => true, as: 'succeededRebootRequiredInstanceCount' + property :timed_out_instance_count, :numeric_string => true, as: 'timedOutInstanceCount' + end + end + + class RecurringSchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_time, as: 'endTime' + property :frequency, as: 'frequency' + property :last_execute_time, as: 'lastExecuteTime' + property :monthly, as: 'monthly', class: Google::Apis::OsconfigV1beta::MonthlySchedule, decorator: Google::Apis::OsconfigV1beta::MonthlySchedule::Representation + + property :next_execute_time, as: 'nextExecuteTime' + property :start_time, as: 'startTime' + property :time_of_day, as: 'timeOfDay', class: Google::Apis::OsconfigV1beta::TimeOfDay, decorator: Google::Apis::OsconfigV1beta::TimeOfDay::Representation + + property :time_zone, as: 'timeZone', class: Google::Apis::OsconfigV1beta::TimeZone, decorator: Google::Apis::OsconfigV1beta::TimeZone::Representation + + property :weekly, as: 'weekly', class: Google::Apis::OsconfigV1beta::WeeklySchedule, decorator: Google::Apis::OsconfigV1beta::WeeklySchedule::Representation + + end + end + + class SoftwareRecipe + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :artifacts, as: 'artifacts', class: Google::Apis::OsconfigV1beta::SoftwareRecipeArtifact, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeArtifact::Representation + + property :desired_state, as: 'desiredState' + collection :install_steps, as: 'installSteps', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStep, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStep::Representation + + property :name, as: 'name' + collection :update_steps, as: 'updateSteps', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStep, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStep::Representation + + property :version, as: 'version' + end + end + + class SoftwareRecipeArtifact + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :allow_insecure, as: 'allowInsecure' + property :gcs, as: 'gcs', class: Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactGcs, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactGcs::Representation + + property :id, as: 'id' + property :remote, as: 'remote', class: Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactRemote, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeArtifactRemote::Representation + + end + end + + class SoftwareRecipeArtifactGcs + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bucket, as: 'bucket' + property :generation, :numeric_string => true, as: 'generation' + property :object, as: 'object' + end + end + + class SoftwareRecipeArtifactRemote + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :checksum, as: 'checksum' + property :uri, as: 'uri' + end + end + + class SoftwareRecipeStep + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :archive_extraction, as: 'archiveExtraction', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepExtractArchive, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepExtractArchive::Representation + + property :dpkg_installation, as: 'dpkgInstallation', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallDpkg, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallDpkg::Representation + + property :file_copy, as: 'fileCopy', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepCopyFile, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepCopyFile::Representation + + property :file_exec, as: 'fileExec', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepExecFile, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepExecFile::Representation + + property :msi_installation, as: 'msiInstallation', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallMsi, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallMsi::Representation + + property :rpm_installation, as: 'rpmInstallation', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallRpm, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepInstallRpm::Representation + + property :script_run, as: 'scriptRun', class: Google::Apis::OsconfigV1beta::SoftwareRecipeStepRunScript, decorator: Google::Apis::OsconfigV1beta::SoftwareRecipeStepRunScript::Representation + + end + end + + class SoftwareRecipeStepCopyFile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :artifact_id, as: 'artifactId' + property :destination, as: 'destination' + property :overwrite, as: 'overwrite' + property :permissions, as: 'permissions' + end + end + + class SoftwareRecipeStepExecFile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allowed_exit_codes, as: 'allowedExitCodes' + collection :args, as: 'args' + property :artifact_id, as: 'artifactId' + property :local_path, as: 'localPath' + end + end + + class SoftwareRecipeStepExtractArchive + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :artifact_id, as: 'artifactId' + property :destination, as: 'destination' + property :type, as: 'type' + end + end + + class SoftwareRecipeStepInstallDpkg + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :artifact_id, as: 'artifactId' + end + end + + class SoftwareRecipeStepInstallMsi + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allowed_exit_codes, as: 'allowedExitCodes' + property :artifact_id, as: 'artifactId' + collection :flags, as: 'flags' + end + end + + class SoftwareRecipeStepInstallRpm + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :artifact_id, as: 'artifactId' + end + end + + class SoftwareRecipeStepRunScript + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allowed_exit_codes, as: 'allowedExitCodes' + property :interpreter, as: 'interpreter' + property :script, as: 'script' + end + end + + class TimeOfDay + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :hours, as: 'hours' + property :minutes, as: 'minutes' + property :nanos, as: 'nanos' + property :seconds, as: 'seconds' + end + end + + class TimeZone + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + property :version, as: 'version' + end + end + + class WeekDayOfMonth + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :day_of_week, as: 'dayOfWeek' + property :week_ordinal, as: 'weekOrdinal' + end + end + + class WeeklySchedule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :day_of_week, as: 'dayOfWeek' + end + end + + class WindowsUpdateSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :classifications, as: 'classifications' + collection :excludes, as: 'excludes' + collection :exclusive_patches, as: 'exclusivePatches' + end + end + + class YumRepository + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :base_url, as: 'baseUrl' + property :display_name, as: 'displayName' + collection :gpg_keys, as: 'gpgKeys' + property :id, as: 'id' + end + end + + class YumSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :excludes, as: 'excludes' + collection :exclusive_packages, as: 'exclusivePackages' + property :minimal, as: 'minimal' + property :security, as: 'security' + end + end + + class ZypperRepository + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :base_url, as: 'baseUrl' + property :display_name, as: 'displayName' + collection :gpg_keys, as: 'gpgKeys' + property :id, as: 'id' + end + end + + class ZypperSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :categories, as: 'categories' + collection :excludes, as: 'excludes' + collection :exclusive_patches, as: 'exclusivePatches' + collection :severities, as: 'severities' + property :with_optional, as: 'withOptional' + property :with_update, as: 'withUpdate' + end + end + end + end +end diff --git a/generated/google/apis/osconfig_v1beta/service.rb b/generated/google/apis/osconfig_v1beta/service.rb new file mode 100644 index 000000000..f299e9724 --- /dev/null +++ b/generated/google/apis/osconfig_v1beta/service.rb @@ -0,0 +1,605 @@ +# 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 OsconfigV1beta + # Cloud OS Config API + # + # OS management tools that can be used for patch management, patch compliance, + # and configuration management on VM instances. + # + # @example + # require 'google/apis/osconfig_v1beta' + # + # Osconfig = Google::Apis::OsconfigV1beta # Alias the module + # service = Osconfig::SystemsManagementService.new + # + # @see https://cloud.google.com/ + class SystemsManagementService < 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://osconfig.googleapis.com/', '') + @batch_path = 'batch' + end + + # Create an OS Config guest policy. + # @param [String] parent + # Required. The resource name of the parent using one of the following forms: + # `projects/`project_number``. + # @param [Google::Apis::OsconfigV1beta::GuestPolicy] guest_policy_object + # @param [String] guest_policy_id + # Required. The logical name of the guest policy in the project + # with the following restrictions: + # * Must contain only lowercase letters, numbers, and hyphens. + # * Must start with a letter. + # * Must be between 1-63 characters. + # * Must end with a number or a letter. + # * Must be unique within the 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::OsconfigV1beta::GuestPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::GuestPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_guest_policy(parent, guest_policy_object = nil, guest_policy_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta/{+parent}/guestPolicies', options) + command.request_representation = Google::Apis::OsconfigV1beta::GuestPolicy::Representation + command.request_object = guest_policy_object + command.response_representation = Google::Apis::OsconfigV1beta::GuestPolicy::Representation + command.response_class = Google::Apis::OsconfigV1beta::GuestPolicy + command.params['parent'] = parent unless parent.nil? + command.query['guestPolicyId'] = guest_policy_id unless guest_policy_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Delete an OS Config guest policy. + # @param [String] name + # Required. The resource name of the guest policy using one of the following + # forms: + # `projects/`project_number`/guestPolicies/`guest_policy_id``. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::OsconfigV1beta::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::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_guest_policy(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta/{+name}', options) + command.response_representation = Google::Apis::OsconfigV1beta::Empty::Representation + command.response_class = Google::Apis::OsconfigV1beta::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 + + # Get an OS Config guest policy. + # @param [String] name + # Required. The resource name of the guest policy using one of the following + # forms: + # `projects/`project_number`/guestPolicies/`guest_policy_id``. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::OsconfigV1beta::GuestPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::GuestPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_guest_policy(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+name}', options) + command.response_representation = Google::Apis::OsconfigV1beta::GuestPolicy::Representation + command.response_class = Google::Apis::OsconfigV1beta::GuestPolicy + 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 + + # Get a page of OS Config guest policies. + # @param [String] parent + # Required. The resource name of the parent using one of the following forms: + # `projects/`project_number``. + # @param [Fixnum] page_size + # The maximum number of guest policies to return. + # @param [String] page_token + # A pagination token returned from a previous call to `ListGuestPolicies` + # that indicates where this listing should continue from. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::OsconfigV1beta::ListGuestPoliciesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::ListGuestPoliciesResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_guest_policies(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+parent}/guestPolicies', options) + command.response_representation = Google::Apis::OsconfigV1beta::ListGuestPoliciesResponse::Representation + command.response_class = Google::Apis::OsconfigV1beta::ListGuestPoliciesResponse + command.params['parent'] = parent unless parent.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 + + # Update an OS Config guest policy. + # @param [String] name + # Required. Unique name of the resource in this project using one of the + # following + # forms: + # `projects/`project_number`/guestPolicies/`guest_policy_id``. + # @param [Google::Apis::OsconfigV1beta::GuestPolicy] guest_policy_object + # @param [String] update_mask + # Field mask that controls which fields of the guest policy should be + # updated. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::OsconfigV1beta::GuestPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::GuestPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_guest_policy(name, guest_policy_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1beta/{+name}', options) + command.request_representation = Google::Apis::OsconfigV1beta::GuestPolicy::Representation + command.request_object = guest_policy_object + command.response_representation = Google::Apis::OsconfigV1beta::GuestPolicy::Representation + command.response_class = Google::Apis::OsconfigV1beta::GuestPolicy + 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 + + # Create an OS Config patch deployment. + # @param [String] parent + # Required. The project to apply this patch deployment to in the form `projects/* + # `. + # @param [Google::Apis::OsconfigV1beta::PatchDeployment] patch_deployment_object + # @param [String] patch_deployment_id + # Required. A name for the patch deployment in the project. When creating a name + # the following rules apply: + # * Must contain only lowercase letters, numbers, and hyphens. + # * Must start with a letter. + # * Must be between 1-63 characters. + # * Must end with a number or a letter. + # * Must be unique within the 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::OsconfigV1beta::PatchDeployment] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::PatchDeployment] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_deployment(parent, patch_deployment_object = nil, patch_deployment_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta/{+parent}/patchDeployments', options) + command.request_representation = Google::Apis::OsconfigV1beta::PatchDeployment::Representation + command.request_object = patch_deployment_object + command.response_representation = Google::Apis::OsconfigV1beta::PatchDeployment::Representation + command.response_class = Google::Apis::OsconfigV1beta::PatchDeployment + command.params['parent'] = parent unless parent.nil? + command.query['patchDeploymentId'] = patch_deployment_id unless patch_deployment_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Delete an OS Config patch deployment. + # @param [String] name + # Required. The resource name of the patch deployment in the form + # `projects/*/patchDeployments/*`. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::OsconfigV1beta::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::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_patch_deployment(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta/{+name}', options) + command.response_representation = Google::Apis::OsconfigV1beta::Empty::Representation + command.response_class = Google::Apis::OsconfigV1beta::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 + + # Get an OS Config patch deployment. + # @param [String] name + # Required. The resource name of the patch deployment in the form + # `projects/*/patchDeployments/*`. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::OsconfigV1beta::PatchDeployment] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::PatchDeployment] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_deployment(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+name}', options) + command.response_representation = Google::Apis::OsconfigV1beta::PatchDeployment::Representation + command.response_class = Google::Apis::OsconfigV1beta::PatchDeployment + 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 + + # Get a page of OS Config patch deployments. + # @param [String] parent + # Required. The resource name of the parent in the form `projects/*`. + # @param [Fixnum] page_size + # Optional. The maximum number of patch deployments to return. Default is 100. + # @param [String] page_token + # Optional. A pagination token returned from a previous call to + # ListPatchDeployments + # that indicates where this listing should continue from. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::OsconfigV1beta::ListPatchDeploymentsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::ListPatchDeploymentsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_deployments(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+parent}/patchDeployments', options) + command.response_representation = Google::Apis::OsconfigV1beta::ListPatchDeploymentsResponse::Representation + command.response_class = Google::Apis::OsconfigV1beta::ListPatchDeploymentsResponse + command.params['parent'] = parent unless parent.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 + + # Cancel a patch job. The patch job must be active. Canceled patch jobs + # cannot be restarted. + # @param [String] name + # Required. Name of the patch in the form `projects/*/patchJobs/*` + # @param [Google::Apis::OsconfigV1beta::CancelPatchJobRequest] cancel_patch_job_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::OsconfigV1beta::PatchJob] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::PatchJob] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_job(name, cancel_patch_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta/{+name}:cancel', options) + command.request_representation = Google::Apis::OsconfigV1beta::CancelPatchJobRequest::Representation + command.request_object = cancel_patch_job_request_object + command.response_representation = Google::Apis::OsconfigV1beta::PatchJob::Representation + command.response_class = Google::Apis::OsconfigV1beta::PatchJob + 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 + + # Patch VM instances by creating and running a patch job. + # @param [String] parent + # Required. The project in which to run this patch in the form `projects/*` + # @param [Google::Apis::OsconfigV1beta::ExecutePatchJobRequest] execute_patch_job_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::OsconfigV1beta::PatchJob] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::PatchJob] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def execute_patch_job(parent, execute_patch_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta/{+parent}/patchJobs:execute', options) + command.request_representation = Google::Apis::OsconfigV1beta::ExecutePatchJobRequest::Representation + command.request_object = execute_patch_job_request_object + command.response_representation = Google::Apis::OsconfigV1beta::PatchJob::Representation + command.response_class = Google::Apis::OsconfigV1beta::PatchJob + command.params['parent'] = parent unless parent.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Get the patch job. This can be used to track the progress of an + # ongoing patch job or review the details of completed jobs. + # @param [String] name + # Required. Name of the patch in the form `projects/*/patchJobs/*` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available 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::OsconfigV1beta::PatchJob] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::PatchJob] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_job(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+name}', options) + command.response_representation = Google::Apis::OsconfigV1beta::PatchJob::Representation + command.response_class = Google::Apis::OsconfigV1beta::PatchJob + 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 + + # Get a list of patch jobs. + # @param [String] parent + # Required. In the form of `projects/*` + # @param [String] filter + # If provided, this field specifies the criteria that must be met by patch + # jobs to be included in the response. + # Currently, filtering is only available on the patch_deployment field. + # @param [Fixnum] page_size + # The maximum number of instance status to return. + # @param [String] page_token + # A pagination token returned from a previous call + # that indicates where this listing should continue from. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::OsconfigV1beta::ListPatchJobsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::ListPatchJobsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_jobs(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+parent}/patchJobs', options) + command.response_representation = Google::Apis::OsconfigV1beta::ListPatchJobsResponse::Representation + command.response_class = Google::Apis::OsconfigV1beta::ListPatchJobsResponse + command.params['parent'] = parent unless parent.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 + + # Get a list of instance details for a given patch job. + # @param [String] parent + # Required. The parent for the instances are in the form of `projects/*/ + # patchJobs/*`. + # @param [String] filter + # A filter expression that filters results listed in the response. This + # field supports filtering results by instance zone, name, state, or + # `failure_reason`. + # @param [Fixnum] page_size + # The maximum number of instance details records to return. Default is 100. + # @param [String] page_token + # A pagination token returned from a previous call + # that indicates where this listing should continue from. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::OsconfigV1beta::ListPatchJobInstanceDetailsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::ListPatchJobInstanceDetailsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_patch_job_instance_details(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta/{+parent}/instanceDetails', options) + command.response_representation = Google::Apis::OsconfigV1beta::ListPatchJobInstanceDetailsResponse::Representation + command.response_class = Google::Apis::OsconfigV1beta::ListPatchJobInstanceDetailsResponse + command.params['parent'] = parent unless parent.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 + + # Lookup the effective guest policy that applies to a VM instance. This + # lookup merges all policies that are assigned to the instance ancestry. + # @param [String] instance + # Required. The VM instance whose policies are being looked up. + # @param [Google::Apis::OsconfigV1beta::LookupEffectiveGuestPolicyRequest] lookup_effective_guest_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::OsconfigV1beta::EffectiveGuestPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::OsconfigV1beta::EffectiveGuestPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def lookup_instance_effective_guest_policy(instance, lookup_effective_guest_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta/{+instance}:lookupEffectiveGuestPolicy', options) + command.request_representation = Google::Apis::OsconfigV1beta::LookupEffectiveGuestPolicyRequest::Representation + command.request_object = lookup_effective_guest_policy_request_object + command.response_representation = Google::Apis::OsconfigV1beta::EffectiveGuestPolicy::Representation + command.response_class = Google::Apis::OsconfigV1beta::EffectiveGuestPolicy + command.params['instance'] = instance unless instance.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/plus_domains_v1.rb b/generated/google/apis/plus_domains_v1.rb deleted file mode 100644 index 39cfca371..000000000 --- a/generated/google/apis/plus_domains_v1.rb +++ /dev/null @@ -1,55 +0,0 @@ -# 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/plus_domains_v1/service.rb' -require 'google/apis/plus_domains_v1/classes.rb' -require 'google/apis/plus_domains_v1/representations.rb' - -module Google - module Apis - # Google+ Domains API - # - # Builds on top of the Google+ platform for Google Apps Domains. - # - # @see https://developers.google.com/+/domains/ - module PlusDomainsV1 - VERSION = 'V1' - REVISION = '20190415' - - # View your circles and the people and pages in them - AUTH_PLUS_CIRCLES_READ = 'https://www.googleapis.com/auth/plus.circles.read' - - # View your basic profile info, including your age range and language - AUTH_PLUS_LOGIN = 'https://www.googleapis.com/auth/plus.login' - - # Associate you with your personal info on Google - AUTH_PLUS_ME = 'https://www.googleapis.com/auth/plus.me' - - # Send your photos and videos to Google+ - AUTH_PLUS_MEDIA_UPLOAD = 'https://www.googleapis.com/auth/plus.media.upload' - - # View your own Google+ profile and profiles visible to you - AUTH_PLUS_PROFILES_READ = 'https://www.googleapis.com/auth/plus.profiles.read' - - # View your Google+ posts, comments, and stream - AUTH_PLUS_STREAM_READ = 'https://www.googleapis.com/auth/plus.stream.read' - - # View your email address - AUTH_USERINFO_EMAIL = 'https://www.googleapis.com/auth/userinfo.email' - - # See your personal info, including any personal info you've made publicly available - AUTH_USERINFO_PROFILE = 'https://www.googleapis.com/auth/userinfo.profile' - end - end -end diff --git a/generated/google/apis/plus_domains_v1/classes.rb b/generated/google/apis/plus_domains_v1/classes.rb deleted file mode 100644 index 26d88827f..000000000 --- a/generated/google/apis/plus_domains_v1/classes.rb +++ /dev/null @@ -1,2609 +0,0 @@ -# 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 PlusDomainsV1 - - # - class Acl - include Google::Apis::Core::Hashable - - # Description of the access granted, suitable for display. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # Whether access is restricted to the domain. - # Corresponds to the JSON property `domainRestricted` - # @return [Boolean] - attr_accessor :domain_restricted - alias_method :domain_restricted?, :domain_restricted - - # The list of access entries. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - # Identifies this resource as a collection of access controls. Value: "plus#acl". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @description = args[:description] if args.key?(:description) - @domain_restricted = args[:domain_restricted] if args.key?(:domain_restricted) - @items = args[:items] if args.key?(:items) - @kind = args[:kind] if args.key?(:kind) - end - end - - # - class Activity - include Google::Apis::Core::Hashable - - # Identifies who has access to see this activity. - # Corresponds to the JSON property `access` - # @return [Google::Apis::PlusDomainsV1::Acl] - attr_accessor :access - - # The person who performed this activity. - # Corresponds to the JSON property `actor` - # @return [Google::Apis::PlusDomainsV1::Activity::Actor] - attr_accessor :actor - - # Street address where this activity occurred. - # Corresponds to the JSON property `address` - # @return [String] - attr_accessor :address - - # Additional content added by the person who shared this activity, applicable - # only when resharing an activity. - # Corresponds to the JSON property `annotation` - # @return [String] - attr_accessor :annotation - - # If this activity is a crosspost from another system, this property specifies - # the ID of the original activity. - # Corresponds to the JSON property `crosspostSource` - # @return [String] - attr_accessor :crosspost_source - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # Latitude and longitude where this activity occurred. Format is latitude - # followed by longitude, space separated. - # Corresponds to the JSON property `geocode` - # @return [String] - attr_accessor :geocode - - # The ID of this activity. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # Identifies this resource as an activity. Value: "plus#activity". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The location where this activity occurred. - # Corresponds to the JSON property `location` - # @return [Google::Apis::PlusDomainsV1::Place] - attr_accessor :location - - # The object of this activity. - # Corresponds to the JSON property `object` - # @return [Google::Apis::PlusDomainsV1::Activity::Object] - attr_accessor :object - - # ID of the place where this activity occurred. - # Corresponds to the JSON property `placeId` - # @return [String] - attr_accessor :place_id - - # Name of the place where this activity occurred. - # Corresponds to the JSON property `placeName` - # @return [String] - attr_accessor :place_name - - # The service provider that initially published this activity. - # Corresponds to the JSON property `provider` - # @return [Google::Apis::PlusDomainsV1::Activity::Provider] - attr_accessor :provider - - # The time at which this activity was initially published. Formatted as an RFC - # 3339 timestamp. - # Corresponds to the JSON property `published` - # @return [DateTime] - attr_accessor :published - - # Radius, in meters, of the region where this activity occurred, centered at the - # latitude and longitude identified in geocode. - # Corresponds to the JSON property `radius` - # @return [String] - attr_accessor :radius - - # Title of this activity. - # Corresponds to the JSON property `title` - # @return [String] - attr_accessor :title - - # The time at which this activity was last updated. Formatted as an RFC 3339 - # timestamp. - # Corresponds to the JSON property `updated` - # @return [DateTime] - attr_accessor :updated - - # The link to this activity. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # This activity's verb, which indicates the action that was performed. Possible - # values include, but are not limited to, the following values: - # - "post" - Publish content to the stream. - # - "share" - Reshare an activity. - # 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) - @access = args[:access] if args.key?(:access) - @actor = args[:actor] if args.key?(:actor) - @address = args[:address] if args.key?(:address) - @annotation = args[:annotation] if args.key?(:annotation) - @crosspost_source = args[:crosspost_source] if args.key?(:crosspost_source) - @etag = args[:etag] if args.key?(:etag) - @geocode = args[:geocode] if args.key?(:geocode) - @id = args[:id] if args.key?(:id) - @kind = args[:kind] if args.key?(:kind) - @location = args[:location] if args.key?(:location) - @object = args[:object] if args.key?(:object) - @place_id = args[:place_id] if args.key?(:place_id) - @place_name = args[:place_name] if args.key?(:place_name) - @provider = args[:provider] if args.key?(:provider) - @published = args[:published] if args.key?(:published) - @radius = args[:radius] if args.key?(:radius) - @title = args[:title] if args.key?(:title) - @updated = args[:updated] if args.key?(:updated) - @url = args[:url] if args.key?(:url) - @verb = args[:verb] if args.key?(:verb) - end - - # The person who performed this activity. - class Actor - include Google::Apis::Core::Hashable - - # Actor info specific to particular clients. - # Corresponds to the JSON property `clientSpecificActorInfo` - # @return [Google::Apis::PlusDomainsV1::Activity::Actor::ClientSpecificActorInfo] - attr_accessor :client_specific_actor_info - - # The name of the actor, suitable for display. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # The ID of the actor's Person resource. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The image representation of the actor. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Activity::Actor::Image] - attr_accessor :image - - # An object representation of the individual components of name. - # Corresponds to the JSON property `name` - # @return [Google::Apis::PlusDomainsV1::Activity::Actor::Name] - attr_accessor :name - - # The link to the actor's Google profile. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # Verification status of actor. - # Corresponds to the JSON property `verification` - # @return [Google::Apis::PlusDomainsV1::Activity::Actor::Verification] - attr_accessor :verification - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @client_specific_actor_info = args[:client_specific_actor_info] if args.key?(:client_specific_actor_info) - @display_name = args[:display_name] if args.key?(:display_name) - @id = args[:id] if args.key?(:id) - @image = args[:image] if args.key?(:image) - @name = args[:name] if args.key?(:name) - @url = args[:url] if args.key?(:url) - @verification = args[:verification] if args.key?(:verification) - end - - # Actor info specific to particular clients. - class ClientSpecificActorInfo - include Google::Apis::Core::Hashable - - # Actor info specific to YouTube clients. - # Corresponds to the JSON property `youtubeActorInfo` - # @return [Google::Apis::PlusDomainsV1::Activity::Actor::ClientSpecificActorInfo::YoutubeActorInfo] - attr_accessor :youtube_actor_info - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @youtube_actor_info = args[:youtube_actor_info] if args.key?(:youtube_actor_info) - end - - # Actor info specific to YouTube clients. - class YoutubeActorInfo - include Google::Apis::Core::Hashable - - # ID of the YouTube channel owned by the Actor. - # Corresponds to the JSON property `channelId` - # @return [String] - attr_accessor :channel_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @channel_id = args[:channel_id] if args.key?(:channel_id) - end - end - end - - # The image representation of the actor. - class Image - include Google::Apis::Core::Hashable - - # The URL of the actor's profile photo. To resize the image and crop it to a - # square, append the query string ?sz=x, where x is the dimension in pixels of - # each side. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @url = args[:url] if args.key?(:url) - end - end - - # An object representation of the individual components of name. - class Name - include Google::Apis::Core::Hashable - - # The family name ("last name") of the actor. - # Corresponds to the JSON property `familyName` - # @return [String] - attr_accessor :family_name - - # The given name ("first name") of the actor. - # Corresponds to the JSON property `givenName` - # @return [String] - attr_accessor :given_name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @family_name = args[:family_name] if args.key?(:family_name) - @given_name = args[:given_name] if args.key?(:given_name) - end - end - - # Verification status of actor. - class Verification - include Google::Apis::Core::Hashable - - # Verification for one-time or manual processes. - # Corresponds to the JSON property `adHocVerified` - # @return [String] - attr_accessor :ad_hoc_verified - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @ad_hoc_verified = args[:ad_hoc_verified] if args.key?(:ad_hoc_verified) - end - end - end - - # The object of this activity. - class Object - include Google::Apis::Core::Hashable - - # If this activity's object is itself another activity, such as when a person - # reshares an activity, this property specifies the original activity's actor. - # Corresponds to the JSON property `actor` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Actor] - attr_accessor :actor - - # The media objects attached to this activity. - # Corresponds to the JSON property `attachments` - # @return [Array] - attr_accessor :attachments - - # The HTML-formatted content, which is suitable for display. - # Corresponds to the JSON property `content` - # @return [String] - attr_accessor :content - - # The ID of the object. When resharing an activity, this is the ID of the - # activity that is being reshared. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The type of the object. Possible values include, but are not limited to, the - # following values: - # - "note" - Textual content. - # - "activity" - A Google+ activity. - # Corresponds to the JSON property `objectType` - # @return [String] - attr_accessor :object_type - - # The content (text) as provided by the author, which is stored without any HTML - # formatting. When creating or updating an activity, this value must be supplied - # as plain text in the request. - # Corresponds to the JSON property `originalContent` - # @return [String] - attr_accessor :original_content - - # People who +1'd this activity. - # Corresponds to the JSON property `plusoners` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Plusoners] - attr_accessor :plusoners - - # Comments in reply to this activity. - # Corresponds to the JSON property `replies` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Replies] - attr_accessor :replies - - # People who reshared this activity. - # Corresponds to the JSON property `resharers` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Resharers] - attr_accessor :resharers - - # Status of the activity as seen by the viewer. - # Corresponds to the JSON property `statusForViewer` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::StatusForViewer] - attr_accessor :status_for_viewer - - # The URL that points to the linked resource. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @actor = args[:actor] if args.key?(:actor) - @attachments = args[:attachments] if args.key?(:attachments) - @content = args[:content] if args.key?(:content) - @id = args[:id] if args.key?(:id) - @object_type = args[:object_type] if args.key?(:object_type) - @original_content = args[:original_content] if args.key?(:original_content) - @plusoners = args[:plusoners] if args.key?(:plusoners) - @replies = args[:replies] if args.key?(:replies) - @resharers = args[:resharers] if args.key?(:resharers) - @status_for_viewer = args[:status_for_viewer] if args.key?(:status_for_viewer) - @url = args[:url] if args.key?(:url) - end - - # If this activity's object is itself another activity, such as when a person - # reshares an activity, this property specifies the original activity's actor. - class Actor - include Google::Apis::Core::Hashable - - # Actor info specific to particular clients. - # Corresponds to the JSON property `clientSpecificActorInfo` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Actor::ClientSpecificActorInfo] - attr_accessor :client_specific_actor_info - - # The original actor's name, which is suitable for display. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # ID of the original actor. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The image representation of the original actor. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Actor::Image] - attr_accessor :image - - # A link to the original actor's Google profile. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # Verification status of actor. - # Corresponds to the JSON property `verification` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Actor::Verification] - attr_accessor :verification - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @client_specific_actor_info = args[:client_specific_actor_info] if args.key?(:client_specific_actor_info) - @display_name = args[:display_name] if args.key?(:display_name) - @id = args[:id] if args.key?(:id) - @image = args[:image] if args.key?(:image) - @url = args[:url] if args.key?(:url) - @verification = args[:verification] if args.key?(:verification) - end - - # Actor info specific to particular clients. - class ClientSpecificActorInfo - include Google::Apis::Core::Hashable - - # Actor info specific to YouTube clients. - # Corresponds to the JSON property `youtubeActorInfo` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Actor::ClientSpecificActorInfo::YoutubeActorInfo] - attr_accessor :youtube_actor_info - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @youtube_actor_info = args[:youtube_actor_info] if args.key?(:youtube_actor_info) - end - - # Actor info specific to YouTube clients. - class YoutubeActorInfo - include Google::Apis::Core::Hashable - - # ID of the YouTube channel owned by the Actor. - # Corresponds to the JSON property `channelId` - # @return [String] - attr_accessor :channel_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @channel_id = args[:channel_id] if args.key?(:channel_id) - end - end - end - - # The image representation of the original actor. - class Image - include Google::Apis::Core::Hashable - - # A URL that points to a thumbnail photo of the original actor. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @url = args[:url] if args.key?(:url) - end - end - - # Verification status of actor. - class Verification - include Google::Apis::Core::Hashable - - # Verification for one-time or manual processes. - # Corresponds to the JSON property `adHocVerified` - # @return [String] - attr_accessor :ad_hoc_verified - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @ad_hoc_verified = args[:ad_hoc_verified] if args.key?(:ad_hoc_verified) - end - end - end - - # - class Attachment - include Google::Apis::Core::Hashable - - # If the attachment is an article, this property contains a snippet of text from - # the article. It can also include descriptions for other types. - # Corresponds to the JSON property `content` - # @return [String] - attr_accessor :content - - # The title of the attachment, such as a photo caption or an article title. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # If the attachment is a video, the embeddable link. - # Corresponds to the JSON property `embed` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Embed] - attr_accessor :embed - - # The full image URL for photo attachments. - # Corresponds to the JSON property `fullImage` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Attachment::FullImage] - attr_accessor :full_image - - # The ID of the attachment. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The preview image for photos or videos. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Image] - attr_accessor :image - - # The type of media object. Possible values include, but are not limited to, the - # following values: - # - "photo" - A photo. - # - "album" - A photo album. - # - "video" - A video. - # - "article" - An article, specified by a link. - # Corresponds to the JSON property `objectType` - # @return [String] - attr_accessor :object_type - - # When previewing, these are the optional thumbnails for the post. When posting - # an article, choose one by setting the attachment.image.url property. If you - # don't choose one, one will be chosen for you. - # Corresponds to the JSON property `previewThumbnails` - # @return [Array] - attr_accessor :preview_thumbnails - - # If the attachment is an album, this property is a list of potential additional - # thumbnails from the album. - # Corresponds to the JSON property `thumbnails` - # @return [Array] - attr_accessor :thumbnails - - # The link to the attachment, which should be of type text/html. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @content = args[:content] if args.key?(:content) - @display_name = args[:display_name] if args.key?(:display_name) - @embed = args[:embed] if args.key?(:embed) - @full_image = args[:full_image] if args.key?(:full_image) - @id = args[:id] if args.key?(:id) - @image = args[:image] if args.key?(:image) - @object_type = args[:object_type] if args.key?(:object_type) - @preview_thumbnails = args[:preview_thumbnails] if args.key?(:preview_thumbnails) - @thumbnails = args[:thumbnails] if args.key?(:thumbnails) - @url = args[:url] if args.key?(:url) - end - - # If the attachment is a video, the embeddable link. - class Embed - include Google::Apis::Core::Hashable - - # Media type of the link. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # URL of the link. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @type = args[:type] if args.key?(:type) - @url = args[:url] if args.key?(:url) - end - end - - # The full image URL for photo attachments. - class FullImage - include Google::Apis::Core::Hashable - - # The height, in pixels, of the linked resource. - # Corresponds to the JSON property `height` - # @return [Fixnum] - attr_accessor :height - - # Media type of the link. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # URL of the image. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # The width, in pixels, of the linked resource. - # Corresponds to the JSON property `width` - # @return [Fixnum] - attr_accessor :width - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @height = args[:height] if args.key?(:height) - @type = args[:type] if args.key?(:type) - @url = args[:url] if args.key?(:url) - @width = args[:width] if args.key?(:width) - end - end - - # The preview image for photos or videos. - class Image - include Google::Apis::Core::Hashable - - # The height, in pixels, of the linked resource. - # Corresponds to the JSON property `height` - # @return [Fixnum] - attr_accessor :height - - # Media type of the link. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # Image URL. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # The width, in pixels, of the linked resource. - # Corresponds to the JSON property `width` - # @return [Fixnum] - attr_accessor :width - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @height = args[:height] if args.key?(:height) - @type = args[:type] if args.key?(:type) - @url = args[:url] if args.key?(:url) - @width = args[:width] if args.key?(:width) - end - end - - # - class PreviewThumbnail - include Google::Apis::Core::Hashable - - # URL of the thumbnail image. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @url = args[:url] if args.key?(:url) - end - end - - # - class Thumbnail - include Google::Apis::Core::Hashable - - # Potential name of the thumbnail. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # Image resource. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Thumbnail::Image] - attr_accessor :image - - # URL of the webpage containing the image. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @description = args[:description] if args.key?(:description) - @image = args[:image] if args.key?(:image) - @url = args[:url] if args.key?(:url) - end - - # Image resource. - class Image - include Google::Apis::Core::Hashable - - # The height, in pixels, of the linked resource. - # Corresponds to the JSON property `height` - # @return [Fixnum] - attr_accessor :height - - # Media type of the link. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # Image url. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # The width, in pixels, of the linked resource. - # Corresponds to the JSON property `width` - # @return [Fixnum] - attr_accessor :width - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @height = args[:height] if args.key?(:height) - @type = args[:type] if args.key?(:type) - @url = args[:url] if args.key?(:url) - @width = args[:width] if args.key?(:width) - end - end - end - end - - # People who +1'd this activity. - class Plusoners - include Google::Apis::Core::Hashable - - # The URL for the collection of people who +1'd this activity. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # Total number of people who +1'd this activity. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @self_link = args[:self_link] if args.key?(:self_link) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - - # Comments in reply to this activity. - class Replies - include Google::Apis::Core::Hashable - - # The URL for the collection of comments in reply to this activity. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # Total number of comments on this activity. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @self_link = args[:self_link] if args.key?(:self_link) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - - # People who reshared this activity. - class Resharers - include Google::Apis::Core::Hashable - - # The URL for the collection of resharers. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # Total number of people who reshared this activity. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @self_link = args[:self_link] if args.key?(:self_link) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - - # Status of the activity as seen by the viewer. - class StatusForViewer - include Google::Apis::Core::Hashable - - # Whether the viewer can comment on the activity. - # Corresponds to the JSON property `canComment` - # @return [Boolean] - attr_accessor :can_comment - alias_method :can_comment?, :can_comment - - # Whether the viewer can +1 the activity. - # Corresponds to the JSON property `canPlusone` - # @return [Boolean] - attr_accessor :can_plusone - alias_method :can_plusone?, :can_plusone - - # Whether the viewer can edit or delete the activity. - # Corresponds to the JSON property `canUpdate` - # @return [Boolean] - attr_accessor :can_update - alias_method :can_update?, :can_update - - # Whether the viewer has +1'd the activity. - # Corresponds to the JSON property `isPlusOned` - # @return [Boolean] - attr_accessor :is_plus_oned - alias_method :is_plus_oned?, :is_plus_oned - - # Whether reshares are disabled for the activity. - # Corresponds to the JSON property `resharingDisabled` - # @return [Boolean] - attr_accessor :resharing_disabled - alias_method :resharing_disabled?, :resharing_disabled - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @can_comment = args[:can_comment] if args.key?(:can_comment) - @can_plusone = args[:can_plusone] if args.key?(:can_plusone) - @can_update = args[:can_update] if args.key?(:can_update) - @is_plus_oned = args[:is_plus_oned] if args.key?(:is_plus_oned) - @resharing_disabled = args[:resharing_disabled] if args.key?(:resharing_disabled) - end - end - end - - # The service provider that initially published this activity. - class Provider - include Google::Apis::Core::Hashable - - # Name of the service provider. - # 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) - @title = args[:title] if args.key?(:title) - end - end - end - - # - class ActivityFeed - include Google::Apis::Core::Hashable - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The ID of this collection of activities. Deprecated. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The activities in this page of results. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - # Identifies this resource as a collection of activities. Value: "plus# - # activityFeed". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # Link to the next page of activities. - # Corresponds to the JSON property `nextLink` - # @return [String] - attr_accessor :next_link - - # The continuation token, which is used to page through large result sets. - # Provide this value in a subsequent request to return the next page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # Link to this activity resource. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # The title of this collection of activities, which is a truncated portion of - # the content. - # Corresponds to the JSON property `title` - # @return [String] - attr_accessor :title - - # The time at which this collection of activities was last updated. Formatted as - # an RFC 3339 timestamp. - # Corresponds to the JSON property `updated` - # @return [DateTime] - attr_accessor :updated - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @id = args[:id] if args.key?(:id) - @items = args[:items] if args.key?(:items) - @kind = args[:kind] if args.key?(:kind) - @next_link = args[:next_link] if args.key?(:next_link) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @self_link = args[:self_link] if args.key?(:self_link) - @title = args[:title] if args.key?(:title) - @updated = args[:updated] if args.key?(:updated) - end - end - - # - class Audience - include Google::Apis::Core::Hashable - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The access control list entry. - # Corresponds to the JSON property `item` - # @return [Google::Apis::PlusDomainsV1::PlusDomainsAclentryResource] - attr_accessor :item - - # Identifies this resource as an audience. Value: "plus#audience". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The number of people in this circle. This only applies if entity_type is - # CIRCLE. - # Corresponds to the JSON property `memberCount` - # @return [Fixnum] - attr_accessor :member_count - - # The circle members' visibility as chosen by the owner of the circle. This only - # applies for items with "item.type" equals "circle". Possible values are: - # - "public" - Members are visible to the public. - # - "limited" - Members are visible to a limited audience. - # - "private" - Members are visible to the owner only. - # Corresponds to the JSON property `visibility` - # @return [String] - attr_accessor :visibility - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @item = args[:item] if args.key?(:item) - @kind = args[:kind] if args.key?(:kind) - @member_count = args[:member_count] if args.key?(:member_count) - @visibility = args[:visibility] if args.key?(:visibility) - end - end - - # - class AudiencesFeed - include Google::Apis::Core::Hashable - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The audiences in this result. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - # Identifies this resource as a collection of audiences. Value: "plus# - # audienceFeed". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The continuation token, which is used to page through large result sets. - # Provide this value in a subsequent request to return the next page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # The total number of ACL entries. The number of entries in this response may be - # smaller due to paging. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @items = args[:items] if args.key?(:items) - @kind = args[:kind] if args.key?(:kind) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - - # - class Circle - include Google::Apis::Core::Hashable - - # The description of this circle. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # The circle name. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The ID of the circle. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # Identifies this resource as a circle. Value: "plus#circle". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The people in this circle. - # Corresponds to the JSON property `people` - # @return [Google::Apis::PlusDomainsV1::Circle::People] - attr_accessor :people - - # Link to this circle resource - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @description = args[:description] if args.key?(:description) - @display_name = args[:display_name] if args.key?(:display_name) - @etag = args[:etag] if args.key?(:etag) - @id = args[:id] if args.key?(:id) - @kind = args[:kind] if args.key?(:kind) - @people = args[:people] if args.key?(:people) - @self_link = args[:self_link] if args.key?(:self_link) - end - - # The people in this circle. - class People - include Google::Apis::Core::Hashable - - # The total number of people in this circle. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - end - - # - class CircleFeed - include Google::Apis::Core::Hashable - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The circles in this page of results. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - # Identifies this resource as a collection of circles. Value: "plus#circleFeed". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # Link to the next page of circles. - # Corresponds to the JSON property `nextLink` - # @return [String] - attr_accessor :next_link - - # The continuation token, which is used to page through large result sets. - # Provide this value in a subsequent request to return the next page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # Link to this page of circles. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # The title of this list of resources. - # Corresponds to the JSON property `title` - # @return [String] - attr_accessor :title - - # The total number of circles. The number of circles in this response may be - # smaller due to paging. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @items = args[:items] if args.key?(:items) - @kind = args[:kind] if args.key?(:kind) - @next_link = args[:next_link] if args.key?(:next_link) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @self_link = args[:self_link] if args.key?(:self_link) - @title = args[:title] if args.key?(:title) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - - # - class Comment - include Google::Apis::Core::Hashable - - # The person who posted this comment. - # Corresponds to the JSON property `actor` - # @return [Google::Apis::PlusDomainsV1::Comment::Actor] - attr_accessor :actor - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The ID of this comment. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The activity this comment replied to. - # Corresponds to the JSON property `inReplyTo` - # @return [Array] - attr_accessor :in_reply_to - - # Identifies this resource as a comment. Value: "plus#comment". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The object of this comment. - # Corresponds to the JSON property `object` - # @return [Google::Apis::PlusDomainsV1::Comment::Object] - attr_accessor :object - - # People who +1'd this comment. - # Corresponds to the JSON property `plusoners` - # @return [Google::Apis::PlusDomainsV1::Comment::Plusoners] - attr_accessor :plusoners - - # The time at which this comment was initially published. Formatted as an RFC - # 3339 timestamp. - # Corresponds to the JSON property `published` - # @return [DateTime] - attr_accessor :published - - # Link to this comment resource. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # The time at which this comment was last updated. Formatted as an RFC 3339 - # timestamp. - # Corresponds to the JSON property `updated` - # @return [DateTime] - attr_accessor :updated - - # This comment's verb, indicating what action was performed. Possible values are: - # - # - "post" - Publish content to the stream. - # 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) - @actor = args[:actor] if args.key?(:actor) - @etag = args[:etag] if args.key?(:etag) - @id = args[:id] if args.key?(:id) - @in_reply_to = args[:in_reply_to] if args.key?(:in_reply_to) - @kind = args[:kind] if args.key?(:kind) - @object = args[:object] if args.key?(:object) - @plusoners = args[:plusoners] if args.key?(:plusoners) - @published = args[:published] if args.key?(:published) - @self_link = args[:self_link] if args.key?(:self_link) - @updated = args[:updated] if args.key?(:updated) - @verb = args[:verb] if args.key?(:verb) - end - - # The person who posted this comment. - class Actor - include Google::Apis::Core::Hashable - - # Actor info specific to particular clients. - # Corresponds to the JSON property `clientSpecificActorInfo` - # @return [Google::Apis::PlusDomainsV1::Comment::Actor::ClientSpecificActorInfo] - attr_accessor :client_specific_actor_info - - # The name of this actor, suitable for display. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # The ID of the actor. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The image representation of this actor. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Comment::Actor::Image] - attr_accessor :image - - # A link to the Person resource for this actor. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # Verification status of actor. - # Corresponds to the JSON property `verification` - # @return [Google::Apis::PlusDomainsV1::Comment::Actor::Verification] - attr_accessor :verification - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @client_specific_actor_info = args[:client_specific_actor_info] if args.key?(:client_specific_actor_info) - @display_name = args[:display_name] if args.key?(:display_name) - @id = args[:id] if args.key?(:id) - @image = args[:image] if args.key?(:image) - @url = args[:url] if args.key?(:url) - @verification = args[:verification] if args.key?(:verification) - end - - # Actor info specific to particular clients. - class ClientSpecificActorInfo - include Google::Apis::Core::Hashable - - # Actor info specific to YouTube clients. - # Corresponds to the JSON property `youtubeActorInfo` - # @return [Google::Apis::PlusDomainsV1::Comment::Actor::ClientSpecificActorInfo::YoutubeActorInfo] - attr_accessor :youtube_actor_info - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @youtube_actor_info = args[:youtube_actor_info] if args.key?(:youtube_actor_info) - end - - # Actor info specific to YouTube clients. - class YoutubeActorInfo - include Google::Apis::Core::Hashable - - # ID of the YouTube channel owned by the Actor. - # Corresponds to the JSON property `channelId` - # @return [String] - attr_accessor :channel_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @channel_id = args[:channel_id] if args.key?(:channel_id) - end - end - end - - # The image representation of this actor. - class Image - include Google::Apis::Core::Hashable - - # The URL of the actor's profile photo. To resize the image and crop it to a - # square, append the query string ?sz=x, where x is the dimension in pixels of - # each side. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @url = args[:url] if args.key?(:url) - end - end - - # Verification status of actor. - class Verification - include Google::Apis::Core::Hashable - - # Verification for one-time or manual processes. - # Corresponds to the JSON property `adHocVerified` - # @return [String] - attr_accessor :ad_hoc_verified - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @ad_hoc_verified = args[:ad_hoc_verified] if args.key?(:ad_hoc_verified) - end - end - end - - # - class InReplyTo - include Google::Apis::Core::Hashable - - # The ID of the activity. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The URL of the activity. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @id = args[:id] if args.key?(:id) - @url = args[:url] if args.key?(:url) - end - end - - # The object of this comment. - class Object - include Google::Apis::Core::Hashable - - # The HTML-formatted content, suitable for display. - # Corresponds to the JSON property `content` - # @return [String] - attr_accessor :content - - # The object type of this comment. Possible values are: - # - "comment" - A comment in reply to an activity. - # Corresponds to the JSON property `objectType` - # @return [String] - attr_accessor :object_type - - # The content (text) as provided by the author, stored without any HTML - # formatting. When creating or updating a comment, this value must be supplied - # as plain text in the request. - # Corresponds to the JSON property `originalContent` - # @return [String] - attr_accessor :original_content - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @content = args[:content] if args.key?(:content) - @object_type = args[:object_type] if args.key?(:object_type) - @original_content = args[:original_content] if args.key?(:original_content) - end - end - - # People who +1'd this comment. - class Plusoners - include Google::Apis::Core::Hashable - - # Total number of people who +1'd this comment. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - end - - # - class CommentFeed - include Google::Apis::Core::Hashable - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The ID of this collection of comments. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The comments in this page of results. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - # Identifies this resource as a collection of comments. Value: "plus#commentFeed" - # . - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # Link to the next page of activities. - # Corresponds to the JSON property `nextLink` - # @return [String] - attr_accessor :next_link - - # The continuation token, which is used to page through large result sets. - # Provide this value in a subsequent request to return the next page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # The title of this collection of comments. - # Corresponds to the JSON property `title` - # @return [String] - attr_accessor :title - - # The time at which this collection of comments was last updated. Formatted as - # an RFC 3339 timestamp. - # Corresponds to the JSON property `updated` - # @return [DateTime] - attr_accessor :updated - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @id = args[:id] if args.key?(:id) - @items = args[:items] if args.key?(:items) - @kind = args[:kind] if args.key?(:kind) - @next_link = args[:next_link] if args.key?(:next_link) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @title = args[:title] if args.key?(:title) - @updated = args[:updated] if args.key?(:updated) - end - end - - # - class Media - include Google::Apis::Core::Hashable - - # The person who uploaded this media. - # Corresponds to the JSON property `author` - # @return [Google::Apis::PlusDomainsV1::Media::Author] - attr_accessor :author - - # The display name for this media. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # Exif information of the media item. - # Corresponds to the JSON property `exif` - # @return [Google::Apis::PlusDomainsV1::Media::Exif] - attr_accessor :exif - - # The height in pixels of the original image. - # Corresponds to the JSON property `height` - # @return [Fixnum] - attr_accessor :height - - # ID of this media, which is generated by the API. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The type of resource. - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The time at which this media was originally created in UTC. Formatted as an - # RFC 3339 timestamp that matches this example: 2010-11-25T14:30:27.655Z - # Corresponds to the JSON property `mediaCreatedTime` - # @return [DateTime] - attr_accessor :media_created_time - - # The URL of this photo or video's still image. - # Corresponds to the JSON property `mediaUrl` - # @return [String] - attr_accessor :media_url - - # The time at which this media was uploaded. Formatted as an RFC 3339 timestamp. - # Corresponds to the JSON property `published` - # @return [DateTime] - attr_accessor :published - - # The size in bytes of this video. - # Corresponds to the JSON property `sizeBytes` - # @return [Fixnum] - attr_accessor :size_bytes - - # The list of video streams for this video. There might be several different - # streams available for a single video, either Flash or MPEG, of various sizes - # Corresponds to the JSON property `streams` - # @return [Array] - attr_accessor :streams - - # A description, or caption, for this media. - # Corresponds to the JSON property `summary` - # @return [String] - attr_accessor :summary - - # The time at which this media was last updated. This includes changes to media - # metadata. Formatted as an RFC 3339 timestamp. - # Corresponds to the JSON property `updated` - # @return [DateTime] - attr_accessor :updated - - # The URL for the page that hosts this media. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # The duration in milliseconds of this video. - # Corresponds to the JSON property `videoDuration` - # @return [Fixnum] - attr_accessor :video_duration - - # The encoding status of this video. Possible values are: - # - "UPLOADING" - Not all the video bytes have been received. - # - "PENDING" - Video not yet processed. - # - "FAILED" - Video processing failed. - # - "READY" - A single video stream is playable. - # - "FINAL" - All video streams are playable. - # Corresponds to the JSON property `videoStatus` - # @return [String] - attr_accessor :video_status - - # The width in pixels of the original image. - # Corresponds to the JSON property `width` - # @return [Fixnum] - attr_accessor :width - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @author = args[:author] if args.key?(:author) - @display_name = args[:display_name] if args.key?(:display_name) - @etag = args[:etag] if args.key?(:etag) - @exif = args[:exif] if args.key?(:exif) - @height = args[:height] if args.key?(:height) - @id = args[:id] if args.key?(:id) - @kind = args[:kind] if args.key?(:kind) - @media_created_time = args[:media_created_time] if args.key?(:media_created_time) - @media_url = args[:media_url] if args.key?(:media_url) - @published = args[:published] if args.key?(:published) - @size_bytes = args[:size_bytes] if args.key?(:size_bytes) - @streams = args[:streams] if args.key?(:streams) - @summary = args[:summary] if args.key?(:summary) - @updated = args[:updated] if args.key?(:updated) - @url = args[:url] if args.key?(:url) - @video_duration = args[:video_duration] if args.key?(:video_duration) - @video_status = args[:video_status] if args.key?(:video_status) - @width = args[:width] if args.key?(:width) - end - - # The person who uploaded this media. - class Author - include Google::Apis::Core::Hashable - - # The author's name. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # ID of the author. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The author's Google profile image. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Media::Author::Image] - attr_accessor :image - - # A link to the author's Google profile. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @display_name = args[:display_name] if args.key?(:display_name) - @id = args[:id] if args.key?(:id) - @image = args[:image] if args.key?(:image) - @url = args[:url] if args.key?(:url) - end - - # The author's Google profile image. - class Image - include Google::Apis::Core::Hashable - - # The URL of the author's profile photo. To resize the image and crop it to a - # square, append the query string ?sz=x, where x is the dimension in pixels of - # each side. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @url = args[:url] if args.key?(:url) - end - end - end - - # Exif information of the media item. - class Exif - include Google::Apis::Core::Hashable - - # The time the media was captured. Formatted as an RFC 3339 timestamp. - # Corresponds to the JSON property `time` - # @return [DateTime] - attr_accessor :time - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @time = args[:time] if args.key?(:time) - end - end - end - - # - class PeopleFeed - include Google::Apis::Core::Hashable - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The people in this page of results. Each item includes the id, displayName, - # image, and url for the person. To retrieve additional profile data, see the - # people.get method. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - # Identifies this resource as a collection of people. Value: "plus#peopleFeed". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The continuation token, which is used to page through large result sets. - # Provide this value in a subsequent request to return the next page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # Link to this resource. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # The title of this collection of people. - # Corresponds to the JSON property `title` - # @return [String] - attr_accessor :title - - # The total number of people available in this list. The number of people in a - # response might be smaller due to paging. This might not be set for all - # collections. - # Corresponds to the JSON property `totalItems` - # @return [Fixnum] - attr_accessor :total_items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @items = args[:items] if args.key?(:items) - @kind = args[:kind] if args.key?(:kind) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @self_link = args[:self_link] if args.key?(:self_link) - @title = args[:title] if args.key?(:title) - @total_items = args[:total_items] if args.key?(:total_items) - end - end - - # - class Person - include Google::Apis::Core::Hashable - - # A short biography for this person. - # Corresponds to the JSON property `aboutMe` - # @return [String] - attr_accessor :about_me - - # The person's date of birth, represented as YYYY-MM-DD. - # Corresponds to the JSON property `birthday` - # @return [String] - attr_accessor :birthday - - # The "bragging rights" line of this person. - # Corresponds to the JSON property `braggingRights` - # @return [String] - attr_accessor :bragging_rights - - # For followers who are visible, the number of people who have added this person - # or page to a circle. - # Corresponds to the JSON property `circledByCount` - # @return [Fixnum] - attr_accessor :circled_by_count - - # The cover photo content. - # Corresponds to the JSON property `cover` - # @return [Google::Apis::PlusDomainsV1::Person::Cover] - attr_accessor :cover - - # (this field is not currently used) - # Corresponds to the JSON property `currentLocation` - # @return [String] - attr_accessor :current_location - - # The name of this person, which is suitable for display. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # The hosted domain name for the user's Google Apps account. For instance, - # example.com. The plus.profile.emails.read or email scope is needed to get this - # domain name. - # Corresponds to the JSON property `domain` - # @return [String] - attr_accessor :domain - - # A list of email addresses that this person has, including their Google account - # email address, and the public verified email addresses on their Google+ - # profile. The plus.profile.emails.read scope is needed to retrieve these email - # addresses, or the email scope can be used to retrieve just the Google account - # email address. - # Corresponds to the JSON property `emails` - # @return [Array] - attr_accessor :emails - - # ETag of this response for caching purposes. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The person's gender. Possible values include, but are not limited to, the - # following values: - # - "male" - Male gender. - # - "female" - Female gender. - # - "other" - Other. - # Corresponds to the JSON property `gender` - # @return [String] - attr_accessor :gender - - # The ID of this person. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The representation of the person's profile photo. - # Corresponds to the JSON property `image` - # @return [Google::Apis::PlusDomainsV1::Person::Image] - attr_accessor :image - - # Whether this user has signed up for Google+. - # Corresponds to the JSON property `isPlusUser` - # @return [Boolean] - attr_accessor :is_plus_user - alias_method :is_plus_user?, :is_plus_user - - # Identifies this resource as a person. Value: "plus#person". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # An object representation of the individual components of a person's name. - # Corresponds to the JSON property `name` - # @return [Google::Apis::PlusDomainsV1::Person::Name] - attr_accessor :name - - # The nickname of this person. - # Corresponds to the JSON property `nickname` - # @return [String] - attr_accessor :nickname - - # Type of person within Google+. Possible values include, but are not limited to, - # the following values: - # - "person" - represents an actual person. - # - "page" - represents a page. - # Corresponds to the JSON property `objectType` - # @return [String] - attr_accessor :object_type - - # The occupation of this person. - # Corresponds to the JSON property `occupation` - # @return [String] - attr_accessor :occupation - - # A list of current or past organizations with which this person is associated. - # Corresponds to the JSON property `organizations` - # @return [Array] - attr_accessor :organizations - - # A list of places where this person has lived. - # Corresponds to the JSON property `placesLived` - # @return [Array] - attr_accessor :places_lived - - # If a Google+ Page, the number of people who have +1'd this page. - # Corresponds to the JSON property `plusOneCount` - # @return [Fixnum] - attr_accessor :plus_one_count - - # The person's relationship status. Possible values include, but are not limited - # to, the following values: - # - "single" - Person is single. - # - "in_a_relationship" - Person is in a relationship. - # - "engaged" - Person is engaged. - # - "married" - Person is married. - # - "its_complicated" - The relationship is complicated. - # - "open_relationship" - Person is in an open relationship. - # - "widowed" - Person is widowed. - # - "in_domestic_partnership" - Person is in a domestic partnership. - # - "in_civil_union" - Person is in a civil union. - # Corresponds to the JSON property `relationshipStatus` - # @return [String] - attr_accessor :relationship_status - - # The person's skills. - # Corresponds to the JSON property `skills` - # @return [String] - attr_accessor :skills - - # The brief description (tagline) of this person. - # Corresponds to the JSON property `tagline` - # @return [String] - attr_accessor :tagline - - # The URL of this person's profile. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # A list of URLs for this person. - # Corresponds to the JSON property `urls` - # @return [Array] - attr_accessor :urls - - # Whether the person or Google+ Page has been verified. - # Corresponds to the JSON property `verified` - # @return [Boolean] - attr_accessor :verified - alias_method :verified?, :verified - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @about_me = args[:about_me] if args.key?(:about_me) - @birthday = args[:birthday] if args.key?(:birthday) - @bragging_rights = args[:bragging_rights] if args.key?(:bragging_rights) - @circled_by_count = args[:circled_by_count] if args.key?(:circled_by_count) - @cover = args[:cover] if args.key?(:cover) - @current_location = args[:current_location] if args.key?(:current_location) - @display_name = args[:display_name] if args.key?(:display_name) - @domain = args[:domain] if args.key?(:domain) - @emails = args[:emails] if args.key?(:emails) - @etag = args[:etag] if args.key?(:etag) - @gender = args[:gender] if args.key?(:gender) - @id = args[:id] if args.key?(:id) - @image = args[:image] if args.key?(:image) - @is_plus_user = args[:is_plus_user] if args.key?(:is_plus_user) - @kind = args[:kind] if args.key?(:kind) - @name = args[:name] if args.key?(:name) - @nickname = args[:nickname] if args.key?(:nickname) - @object_type = args[:object_type] if args.key?(:object_type) - @occupation = args[:occupation] if args.key?(:occupation) - @organizations = args[:organizations] if args.key?(:organizations) - @places_lived = args[:places_lived] if args.key?(:places_lived) - @plus_one_count = args[:plus_one_count] if args.key?(:plus_one_count) - @relationship_status = args[:relationship_status] if args.key?(:relationship_status) - @skills = args[:skills] if args.key?(:skills) - @tagline = args[:tagline] if args.key?(:tagline) - @url = args[:url] if args.key?(:url) - @urls = args[:urls] if args.key?(:urls) - @verified = args[:verified] if args.key?(:verified) - end - - # The cover photo content. - class Cover - include Google::Apis::Core::Hashable - - # Extra information about the cover photo. - # Corresponds to the JSON property `coverInfo` - # @return [Google::Apis::PlusDomainsV1::Person::Cover::CoverInfo] - attr_accessor :cover_info - - # The person's primary cover image. - # Corresponds to the JSON property `coverPhoto` - # @return [Google::Apis::PlusDomainsV1::Person::Cover::CoverPhoto] - attr_accessor :cover_photo - - # The layout of the cover art. Possible values include, but are not limited to, - # the following values: - # - "banner" - One large image banner. - # Corresponds to the JSON property `layout` - # @return [String] - attr_accessor :layout - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @cover_info = args[:cover_info] if args.key?(:cover_info) - @cover_photo = args[:cover_photo] if args.key?(:cover_photo) - @layout = args[:layout] if args.key?(:layout) - end - - # Extra information about the cover photo. - class CoverInfo - include Google::Apis::Core::Hashable - - # The difference between the left position of the cover image and the actual - # displayed cover image. Only valid for banner layout. - # Corresponds to the JSON property `leftImageOffset` - # @return [Fixnum] - attr_accessor :left_image_offset - - # The difference between the top position of the cover image and the actual - # displayed cover image. Only valid for banner layout. - # Corresponds to the JSON property `topImageOffset` - # @return [Fixnum] - attr_accessor :top_image_offset - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @left_image_offset = args[:left_image_offset] if args.key?(:left_image_offset) - @top_image_offset = args[:top_image_offset] if args.key?(:top_image_offset) - end - end - - # The person's primary cover image. - class CoverPhoto - include Google::Apis::Core::Hashable - - # The height of the image. - # Corresponds to the JSON property `height` - # @return [Fixnum] - attr_accessor :height - - # The URL of the image. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # The width of the image. - # Corresponds to the JSON property `width` - # @return [Fixnum] - attr_accessor :width - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @height = args[:height] if args.key?(:height) - @url = args[:url] if args.key?(:url) - @width = args[:width] if args.key?(:width) - end - end - end - - # - class Email - include Google::Apis::Core::Hashable - - # The type of address. Possible values include, but are not limited to, the - # following values: - # - "account" - Google account email address. - # - "home" - Home email address. - # - "work" - Work email address. - # - "other" - Other. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # The email address. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @type = args[:type] if args.key?(:type) - @value = args[:value] if args.key?(:value) - end - end - - # The representation of the person's profile photo. - class Image - include Google::Apis::Core::Hashable - - # Whether the person's profile photo is the default one - # Corresponds to the JSON property `isDefault` - # @return [Boolean] - attr_accessor :is_default - alias_method :is_default?, :is_default - - # The URL of the person's profile photo. To resize the image and crop it to a - # square, append the query string ?sz=x, where x is the dimension in pixels of - # each side. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @is_default = args[:is_default] if args.key?(:is_default) - @url = args[:url] if args.key?(:url) - end - end - - # An object representation of the individual components of a person's name. - class Name - include Google::Apis::Core::Hashable - - # The family name (last name) of this person. - # Corresponds to the JSON property `familyName` - # @return [String] - attr_accessor :family_name - - # The full name of this person, including middle names, suffixes, etc. - # Corresponds to the JSON property `formatted` - # @return [String] - attr_accessor :formatted - - # The given name (first name) of this person. - # Corresponds to the JSON property `givenName` - # @return [String] - attr_accessor :given_name - - # The honorific prefixes (such as "Dr." or "Mrs.") for this person. - # Corresponds to the JSON property `honorificPrefix` - # @return [String] - attr_accessor :honorific_prefix - - # The honorific suffixes (such as "Jr.") for this person. - # Corresponds to the JSON property `honorificSuffix` - # @return [String] - attr_accessor :honorific_suffix - - # The middle name of this person. - # Corresponds to the JSON property `middleName` - # @return [String] - attr_accessor :middle_name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @family_name = args[:family_name] if args.key?(:family_name) - @formatted = args[:formatted] if args.key?(:formatted) - @given_name = args[:given_name] if args.key?(:given_name) - @honorific_prefix = args[:honorific_prefix] if args.key?(:honorific_prefix) - @honorific_suffix = args[:honorific_suffix] if args.key?(:honorific_suffix) - @middle_name = args[:middle_name] if args.key?(:middle_name) - end - end - - # - class Organization - include Google::Apis::Core::Hashable - - # The department within the organization. Deprecated. - # Corresponds to the JSON property `department` - # @return [String] - attr_accessor :department - - # A short description of the person's role in this organization. Deprecated. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # The date that the person left this organization. - # Corresponds to the JSON property `endDate` - # @return [String] - attr_accessor :end_date - - # The location of this organization. Deprecated. - # Corresponds to the JSON property `location` - # @return [String] - attr_accessor :location - - # The name of the organization. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # If "true", indicates this organization is the person's primary one, which is - # typically interpreted as the current one. - # Corresponds to the JSON property `primary` - # @return [Boolean] - attr_accessor :primary - alias_method :primary?, :primary - - # The date that the person joined this organization. - # Corresponds to the JSON property `startDate` - # @return [String] - attr_accessor :start_date - - # The person's job title or role within the organization. - # Corresponds to the JSON property `title` - # @return [String] - attr_accessor :title - - # The type of organization. Possible values include, but are not limited to, the - # following values: - # - "work" - Work. - # - "school" - School. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @department = args[:department] if args.key?(:department) - @description = args[:description] if args.key?(:description) - @end_date = args[:end_date] if args.key?(:end_date) - @location = args[:location] if args.key?(:location) - @name = args[:name] if args.key?(:name) - @primary = args[:primary] if args.key?(:primary) - @start_date = args[:start_date] if args.key?(:start_date) - @title = args[:title] if args.key?(:title) - @type = args[:type] if args.key?(:type) - end - end - - # - class PlacesLived - include Google::Apis::Core::Hashable - - # If "true", this place of residence is this person's primary residence. - # Corresponds to the JSON property `primary` - # @return [Boolean] - attr_accessor :primary - alias_method :primary?, :primary - - # A place where this person has lived. For example: "Seattle, WA", "Near Toronto" - # . - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @primary = args[:primary] if args.key?(:primary) - @value = args[:value] if args.key?(:value) - end - end - - # - class Url - include Google::Apis::Core::Hashable - - # The label of the URL. - # Corresponds to the JSON property `label` - # @return [String] - attr_accessor :label - - # The type of URL. Possible values include, but are not limited to, the - # following values: - # - "otherProfile" - URL for another profile. - # - "contributor" - URL to a site for which this person is a contributor. - # - "website" - URL for this Google+ Page's primary website. - # - "other" - Other URL. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # The URL value. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @label = args[:label] if args.key?(:label) - @type = args[:type] if args.key?(:type) - @value = args[:value] if args.key?(:value) - end - end - end - - # - class Place - include Google::Apis::Core::Hashable - - # The physical address of the place. - # Corresponds to the JSON property `address` - # @return [Google::Apis::PlusDomainsV1::Place::Address] - attr_accessor :address - - # The display name of the place. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # The id of the place. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # Identifies this resource as a place. Value: "plus#place". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The position of the place. - # Corresponds to the JSON property `position` - # @return [Google::Apis::PlusDomainsV1::Place::Position] - attr_accessor :position - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @address = args[:address] if args.key?(:address) - @display_name = args[:display_name] if args.key?(:display_name) - @id = args[:id] if args.key?(:id) - @kind = args[:kind] if args.key?(:kind) - @position = args[:position] if args.key?(:position) - end - - # The physical address of the place. - class Address - include Google::Apis::Core::Hashable - - # The formatted address for display. - # Corresponds to the JSON property `formatted` - # @return [String] - attr_accessor :formatted - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @formatted = args[:formatted] if args.key?(:formatted) - end - end - - # The position of the place. - class Position - include Google::Apis::Core::Hashable - - # The latitude of this position. - # Corresponds to the JSON property `latitude` - # @return [Float] - attr_accessor :latitude - - # The longitude of this position. - # Corresponds to the JSON property `longitude` - # @return [Float] - attr_accessor :longitude - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @latitude = args[:latitude] if args.key?(:latitude) - @longitude = args[:longitude] if args.key?(:longitude) - end - end - end - - # - class PlusDomainsAclentryResource - include Google::Apis::Core::Hashable - - # A descriptive name for this entry. Suitable for display. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # The ID of the entry. For entries of type "person" or "circle", this is the ID - # of the resource. For other types, this property is not set. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # The type of entry describing to whom access is granted. Possible values are: - # - "person" - Access to an individual. - # - "circle" - Access to members of a circle. - # - "myCircles" - Access to members of all the person's circles. - # - "extendedCircles" - Access to members of all the person's circles, plus all - # of the people in their circles. - # - "domain" - Access to members of the person's Google Apps domain. - # - "public" - Access to anyone on the web. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @display_name = args[:display_name] if args.key?(:display_name) - @id = args[:id] if args.key?(:id) - @type = args[:type] if args.key?(:type) - end - end - - # - class Videostream - include Google::Apis::Core::Hashable - - # The height, in pixels, of the video resource. - # Corresponds to the JSON property `height` - # @return [Fixnum] - attr_accessor :height - - # MIME type of the video stream. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # URL of the video stream. - # Corresponds to the JSON property `url` - # @return [String] - attr_accessor :url - - # The width, in pixels, of the video resource. - # Corresponds to the JSON property `width` - # @return [Fixnum] - attr_accessor :width - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @height = args[:height] if args.key?(:height) - @type = args[:type] if args.key?(:type) - @url = args[:url] if args.key?(:url) - @width = args[:width] if args.key?(:width) - end - end - end - end -end diff --git a/generated/google/apis/plus_domains_v1/representations.rb b/generated/google/apis/plus_domains_v1/representations.rb deleted file mode 100644 index 474e08a6c..000000000 --- a/generated/google/apis/plus_domains_v1/representations.rb +++ /dev/null @@ -1,1111 +0,0 @@ -# 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 PlusDomainsV1 - - class Acl - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Activity - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Actor - class Representation < Google::Apis::Core::JsonRepresentation; end - - class ClientSpecificActorInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - class YoutubeActorInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Name - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Verification - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Object - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Actor - class Representation < Google::Apis::Core::JsonRepresentation; end - - class ClientSpecificActorInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - class YoutubeActorInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Verification - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Attachment - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Embed - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class FullImage - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class PreviewThumbnail - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Thumbnail - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Plusoners - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Replies - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Resharers - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class StatusForViewer - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Provider - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class ActivityFeed - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Audience - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class AudiencesFeed - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Circle - class Representation < Google::Apis::Core::JsonRepresentation; end - - class People - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class CircleFeed - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Comment - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Actor - class Representation < Google::Apis::Core::JsonRepresentation; end - - class ClientSpecificActorInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - class YoutubeActorInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Verification - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class InReplyTo - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Object - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Plusoners - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class CommentFeed - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Media - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Author - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Exif - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class PeopleFeed - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Person - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Cover - class Representation < Google::Apis::Core::JsonRepresentation; end - - class CoverInfo - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class CoverPhoto - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Email - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Image - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Name - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Organization - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class PlacesLived - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Url - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class Place - class Representation < Google::Apis::Core::JsonRepresentation; end - - class Address - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Position - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - include Google::Apis::Core::JsonObjectSupport - end - - class PlusDomainsAclentryResource - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Videostream - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Acl - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :description, as: 'description' - property :domain_restricted, as: 'domainRestricted' - collection :items, as: 'items', class: Google::Apis::PlusDomainsV1::PlusDomainsAclentryResource, decorator: Google::Apis::PlusDomainsV1::PlusDomainsAclentryResource::Representation - - property :kind, as: 'kind' - end - end - - class Activity - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :access, as: 'access', class: Google::Apis::PlusDomainsV1::Acl, decorator: Google::Apis::PlusDomainsV1::Acl::Representation - - property :actor, as: 'actor', class: Google::Apis::PlusDomainsV1::Activity::Actor, decorator: Google::Apis::PlusDomainsV1::Activity::Actor::Representation - - property :address, as: 'address' - property :annotation, as: 'annotation' - property :crosspost_source, as: 'crosspostSource' - property :etag, as: 'etag' - property :geocode, as: 'geocode' - property :id, as: 'id' - property :kind, as: 'kind' - property :location, as: 'location', class: Google::Apis::PlusDomainsV1::Place, decorator: Google::Apis::PlusDomainsV1::Place::Representation - - property :object, as: 'object', class: Google::Apis::PlusDomainsV1::Activity::Object, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Representation - - property :place_id, as: 'placeId' - property :place_name, as: 'placeName' - property :provider, as: 'provider', class: Google::Apis::PlusDomainsV1::Activity::Provider, decorator: Google::Apis::PlusDomainsV1::Activity::Provider::Representation - - property :published, as: 'published', type: DateTime - - property :radius, as: 'radius' - property :title, as: 'title' - property :updated, as: 'updated', type: DateTime - - property :url, as: 'url' - property :verb, as: 'verb' - end - - class Actor - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :client_specific_actor_info, as: 'clientSpecificActorInfo', class: Google::Apis::PlusDomainsV1::Activity::Actor::ClientSpecificActorInfo, decorator: Google::Apis::PlusDomainsV1::Activity::Actor::ClientSpecificActorInfo::Representation - - property :display_name, as: 'displayName' - property :id, as: 'id' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Activity::Actor::Image, decorator: Google::Apis::PlusDomainsV1::Activity::Actor::Image::Representation - - property :name, as: 'name', class: Google::Apis::PlusDomainsV1::Activity::Actor::Name, decorator: Google::Apis::PlusDomainsV1::Activity::Actor::Name::Representation - - property :url, as: 'url' - property :verification, as: 'verification', class: Google::Apis::PlusDomainsV1::Activity::Actor::Verification, decorator: Google::Apis::PlusDomainsV1::Activity::Actor::Verification::Representation - - end - - class ClientSpecificActorInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :youtube_actor_info, as: 'youtubeActorInfo', class: Google::Apis::PlusDomainsV1::Activity::Actor::ClientSpecificActorInfo::YoutubeActorInfo, decorator: Google::Apis::PlusDomainsV1::Activity::Actor::ClientSpecificActorInfo::YoutubeActorInfo::Representation - - end - - class YoutubeActorInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :channel_id, as: 'channelId' - end - end - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :url, as: 'url' - end - end - - class Name - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :family_name, as: 'familyName' - property :given_name, as: 'givenName' - end - end - - class Verification - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :ad_hoc_verified, as: 'adHocVerified' - end - end - end - - class Object - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :actor, as: 'actor', class: Google::Apis::PlusDomainsV1::Activity::Object::Actor, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Actor::Representation - - collection :attachments, as: 'attachments', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Representation - - property :content, as: 'content' - property :id, as: 'id' - property :object_type, as: 'objectType' - property :original_content, as: 'originalContent' - property :plusoners, as: 'plusoners', class: Google::Apis::PlusDomainsV1::Activity::Object::Plusoners, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Plusoners::Representation - - property :replies, as: 'replies', class: Google::Apis::PlusDomainsV1::Activity::Object::Replies, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Replies::Representation - - property :resharers, as: 'resharers', class: Google::Apis::PlusDomainsV1::Activity::Object::Resharers, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Resharers::Representation - - property :status_for_viewer, as: 'statusForViewer', class: Google::Apis::PlusDomainsV1::Activity::Object::StatusForViewer, decorator: Google::Apis::PlusDomainsV1::Activity::Object::StatusForViewer::Representation - - property :url, as: 'url' - end - - class Actor - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :client_specific_actor_info, as: 'clientSpecificActorInfo', class: Google::Apis::PlusDomainsV1::Activity::Object::Actor::ClientSpecificActorInfo, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Actor::ClientSpecificActorInfo::Representation - - property :display_name, as: 'displayName' - property :id, as: 'id' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Activity::Object::Actor::Image, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Actor::Image::Representation - - property :url, as: 'url' - property :verification, as: 'verification', class: Google::Apis::PlusDomainsV1::Activity::Object::Actor::Verification, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Actor::Verification::Representation - - end - - class ClientSpecificActorInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :youtube_actor_info, as: 'youtubeActorInfo', class: Google::Apis::PlusDomainsV1::Activity::Object::Actor::ClientSpecificActorInfo::YoutubeActorInfo, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Actor::ClientSpecificActorInfo::YoutubeActorInfo::Representation - - end - - class YoutubeActorInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :channel_id, as: 'channelId' - end - end - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :url, as: 'url' - end - end - - class Verification - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :ad_hoc_verified, as: 'adHocVerified' - end - end - end - - class Attachment - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :content, as: 'content' - property :display_name, as: 'displayName' - property :embed, as: 'embed', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Embed, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Embed::Representation - - property :full_image, as: 'fullImage', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::FullImage, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::FullImage::Representation - - property :id, as: 'id' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Image, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Image::Representation - - property :object_type, as: 'objectType' - collection :preview_thumbnails, as: 'previewThumbnails', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::PreviewThumbnail, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::PreviewThumbnail::Representation - - collection :thumbnails, as: 'thumbnails', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Thumbnail, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Thumbnail::Representation - - property :url, as: 'url' - end - - class Embed - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :type, as: 'type' - property :url, as: 'url' - end - end - - class FullImage - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :height, as: 'height' - property :type, as: 'type' - property :url, as: 'url' - property :width, as: 'width' - end - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :height, as: 'height' - property :type, as: 'type' - property :url, as: 'url' - property :width, as: 'width' - end - end - - class PreviewThumbnail - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :url, as: 'url' - end - end - - class Thumbnail - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :description, as: 'description' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Thumbnail::Image, decorator: Google::Apis::PlusDomainsV1::Activity::Object::Attachment::Thumbnail::Image::Representation - - property :url, as: 'url' - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :height, as: 'height' - property :type, as: 'type' - property :url, as: 'url' - property :width, as: 'width' - end - end - end - end - - class Plusoners - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :self_link, as: 'selfLink' - property :total_items, as: 'totalItems' - end - end - - class Replies - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :self_link, as: 'selfLink' - property :total_items, as: 'totalItems' - end - end - - class Resharers - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :self_link, as: 'selfLink' - property :total_items, as: 'totalItems' - end - end - - class StatusForViewer - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :can_comment, as: 'canComment' - property :can_plusone, as: 'canPlusone' - property :can_update, as: 'canUpdate' - property :is_plus_oned, as: 'isPlusOned' - property :resharing_disabled, as: 'resharingDisabled' - end - end - end - - class Provider - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :title, as: 'title' - end - end - end - - class ActivityFeed - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' - property :id, as: 'id' - collection :items, as: 'items', class: Google::Apis::PlusDomainsV1::Activity, decorator: Google::Apis::PlusDomainsV1::Activity::Representation - - property :kind, as: 'kind' - property :next_link, as: 'nextLink' - property :next_page_token, as: 'nextPageToken' - property :self_link, as: 'selfLink' - property :title, as: 'title' - property :updated, as: 'updated', type: DateTime - - end - end - - class Audience - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' - property :item, as: 'item', class: Google::Apis::PlusDomainsV1::PlusDomainsAclentryResource, decorator: Google::Apis::PlusDomainsV1::PlusDomainsAclentryResource::Representation - - property :kind, as: 'kind' - property :member_count, as: 'memberCount' - property :visibility, as: 'visibility' - end - end - - class AudiencesFeed - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' - collection :items, as: 'items', class: Google::Apis::PlusDomainsV1::Audience, decorator: Google::Apis::PlusDomainsV1::Audience::Representation - - property :kind, as: 'kind' - property :next_page_token, as: 'nextPageToken' - property :total_items, as: 'totalItems' - end - end - - class Circle - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :description, as: 'description' - property :display_name, as: 'displayName' - property :etag, as: 'etag' - property :id, as: 'id' - property :kind, as: 'kind' - property :people, as: 'people', class: Google::Apis::PlusDomainsV1::Circle::People, decorator: Google::Apis::PlusDomainsV1::Circle::People::Representation - - property :self_link, as: 'selfLink' - end - - class People - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :total_items, as: 'totalItems' - end - end - end - - class CircleFeed - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' - collection :items, as: 'items', class: Google::Apis::PlusDomainsV1::Circle, decorator: Google::Apis::PlusDomainsV1::Circle::Representation - - property :kind, as: 'kind' - property :next_link, as: 'nextLink' - property :next_page_token, as: 'nextPageToken' - property :self_link, as: 'selfLink' - property :title, as: 'title' - property :total_items, as: 'totalItems' - end - end - - class Comment - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :actor, as: 'actor', class: Google::Apis::PlusDomainsV1::Comment::Actor, decorator: Google::Apis::PlusDomainsV1::Comment::Actor::Representation - - property :etag, as: 'etag' - property :id, as: 'id' - collection :in_reply_to, as: 'inReplyTo', class: Google::Apis::PlusDomainsV1::Comment::InReplyTo, decorator: Google::Apis::PlusDomainsV1::Comment::InReplyTo::Representation - - property :kind, as: 'kind' - property :object, as: 'object', class: Google::Apis::PlusDomainsV1::Comment::Object, decorator: Google::Apis::PlusDomainsV1::Comment::Object::Representation - - property :plusoners, as: 'plusoners', class: Google::Apis::PlusDomainsV1::Comment::Plusoners, decorator: Google::Apis::PlusDomainsV1::Comment::Plusoners::Representation - - property :published, as: 'published', type: DateTime - - property :self_link, as: 'selfLink' - property :updated, as: 'updated', type: DateTime - - property :verb, as: 'verb' - end - - class Actor - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :client_specific_actor_info, as: 'clientSpecificActorInfo', class: Google::Apis::PlusDomainsV1::Comment::Actor::ClientSpecificActorInfo, decorator: Google::Apis::PlusDomainsV1::Comment::Actor::ClientSpecificActorInfo::Representation - - property :display_name, as: 'displayName' - property :id, as: 'id' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Comment::Actor::Image, decorator: Google::Apis::PlusDomainsV1::Comment::Actor::Image::Representation - - property :url, as: 'url' - property :verification, as: 'verification', class: Google::Apis::PlusDomainsV1::Comment::Actor::Verification, decorator: Google::Apis::PlusDomainsV1::Comment::Actor::Verification::Representation - - end - - class ClientSpecificActorInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :youtube_actor_info, as: 'youtubeActorInfo', class: Google::Apis::PlusDomainsV1::Comment::Actor::ClientSpecificActorInfo::YoutubeActorInfo, decorator: Google::Apis::PlusDomainsV1::Comment::Actor::ClientSpecificActorInfo::YoutubeActorInfo::Representation - - end - - class YoutubeActorInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :channel_id, as: 'channelId' - end - end - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :url, as: 'url' - end - end - - class Verification - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :ad_hoc_verified, as: 'adHocVerified' - end - end - end - - class InReplyTo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :id, as: 'id' - property :url, as: 'url' - end - end - - class Object - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :content, as: 'content' - property :object_type, as: 'objectType' - property :original_content, as: 'originalContent' - end - end - - class Plusoners - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :total_items, as: 'totalItems' - end - end - end - - class CommentFeed - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' - property :id, as: 'id' - collection :items, as: 'items', class: Google::Apis::PlusDomainsV1::Comment, decorator: Google::Apis::PlusDomainsV1::Comment::Representation - - property :kind, as: 'kind' - property :next_link, as: 'nextLink' - property :next_page_token, as: 'nextPageToken' - property :title, as: 'title' - property :updated, as: 'updated', type: DateTime - - end - end - - class Media - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :author, as: 'author', class: Google::Apis::PlusDomainsV1::Media::Author, decorator: Google::Apis::PlusDomainsV1::Media::Author::Representation - - property :display_name, as: 'displayName' - property :etag, as: 'etag' - property :exif, as: 'exif', class: Google::Apis::PlusDomainsV1::Media::Exif, decorator: Google::Apis::PlusDomainsV1::Media::Exif::Representation - - property :height, as: 'height' - property :id, as: 'id' - property :kind, as: 'kind' - property :media_created_time, as: 'mediaCreatedTime', type: DateTime - - property :media_url, as: 'mediaUrl' - property :published, as: 'published', type: DateTime - - property :size_bytes, :numeric_string => true, as: 'sizeBytes' - collection :streams, as: 'streams', class: Google::Apis::PlusDomainsV1::Videostream, decorator: Google::Apis::PlusDomainsV1::Videostream::Representation - - property :summary, as: 'summary' - property :updated, as: 'updated', type: DateTime - - property :url, as: 'url' - property :video_duration, :numeric_string => true, as: 'videoDuration' - property :video_status, as: 'videoStatus' - property :width, as: 'width' - end - - class Author - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :display_name, as: 'displayName' - property :id, as: 'id' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Media::Author::Image, decorator: Google::Apis::PlusDomainsV1::Media::Author::Image::Representation - - property :url, as: 'url' - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :url, as: 'url' - end - end - end - - class Exif - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :time, as: 'time', type: DateTime - - end - end - end - - class PeopleFeed - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' - collection :items, as: 'items', class: Google::Apis::PlusDomainsV1::Person, decorator: Google::Apis::PlusDomainsV1::Person::Representation - - property :kind, as: 'kind' - property :next_page_token, as: 'nextPageToken' - property :self_link, as: 'selfLink' - property :title, as: 'title' - property :total_items, as: 'totalItems' - end - end - - class Person - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :about_me, as: 'aboutMe' - property :birthday, as: 'birthday' - property :bragging_rights, as: 'braggingRights' - property :circled_by_count, as: 'circledByCount' - property :cover, as: 'cover', class: Google::Apis::PlusDomainsV1::Person::Cover, decorator: Google::Apis::PlusDomainsV1::Person::Cover::Representation - - property :current_location, as: 'currentLocation' - property :display_name, as: 'displayName' - property :domain, as: 'domain' - collection :emails, as: 'emails', class: Google::Apis::PlusDomainsV1::Person::Email, decorator: Google::Apis::PlusDomainsV1::Person::Email::Representation - - property :etag, as: 'etag' - property :gender, as: 'gender' - property :id, as: 'id' - property :image, as: 'image', class: Google::Apis::PlusDomainsV1::Person::Image, decorator: Google::Apis::PlusDomainsV1::Person::Image::Representation - - property :is_plus_user, as: 'isPlusUser' - property :kind, as: 'kind' - property :name, as: 'name', class: Google::Apis::PlusDomainsV1::Person::Name, decorator: Google::Apis::PlusDomainsV1::Person::Name::Representation - - property :nickname, as: 'nickname' - property :object_type, as: 'objectType' - property :occupation, as: 'occupation' - collection :organizations, as: 'organizations', class: Google::Apis::PlusDomainsV1::Person::Organization, decorator: Google::Apis::PlusDomainsV1::Person::Organization::Representation - - collection :places_lived, as: 'placesLived', class: Google::Apis::PlusDomainsV1::Person::PlacesLived, decorator: Google::Apis::PlusDomainsV1::Person::PlacesLived::Representation - - property :plus_one_count, as: 'plusOneCount' - property :relationship_status, as: 'relationshipStatus' - property :skills, as: 'skills' - property :tagline, as: 'tagline' - property :url, as: 'url' - collection :urls, as: 'urls', class: Google::Apis::PlusDomainsV1::Person::Url, decorator: Google::Apis::PlusDomainsV1::Person::Url::Representation - - property :verified, as: 'verified' - end - - class Cover - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :cover_info, as: 'coverInfo', class: Google::Apis::PlusDomainsV1::Person::Cover::CoverInfo, decorator: Google::Apis::PlusDomainsV1::Person::Cover::CoverInfo::Representation - - property :cover_photo, as: 'coverPhoto', class: Google::Apis::PlusDomainsV1::Person::Cover::CoverPhoto, decorator: Google::Apis::PlusDomainsV1::Person::Cover::CoverPhoto::Representation - - property :layout, as: 'layout' - end - - class CoverInfo - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :left_image_offset, as: 'leftImageOffset' - property :top_image_offset, as: 'topImageOffset' - end - end - - class CoverPhoto - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :height, as: 'height' - property :url, as: 'url' - property :width, as: 'width' - end - end - end - - class Email - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :type, as: 'type' - property :value, as: 'value' - end - end - - class Image - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :is_default, as: 'isDefault' - property :url, as: 'url' - end - end - - class Name - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :family_name, as: 'familyName' - property :formatted, as: 'formatted' - property :given_name, as: 'givenName' - property :honorific_prefix, as: 'honorificPrefix' - property :honorific_suffix, as: 'honorificSuffix' - property :middle_name, as: 'middleName' - end - end - - class Organization - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :department, as: 'department' - property :description, as: 'description' - property :end_date, as: 'endDate' - property :location, as: 'location' - property :name, as: 'name' - property :primary, as: 'primary' - property :start_date, as: 'startDate' - property :title, as: 'title' - property :type, as: 'type' - end - end - - class PlacesLived - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :primary, as: 'primary' - property :value, as: 'value' - end - end - - class Url - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :label, as: 'label' - property :type, as: 'type' - property :value, as: 'value' - end - end - end - - class Place - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :address, as: 'address', class: Google::Apis::PlusDomainsV1::Place::Address, decorator: Google::Apis::PlusDomainsV1::Place::Address::Representation - - property :display_name, as: 'displayName' - property :id, as: 'id' - property :kind, as: 'kind' - property :position, as: 'position', class: Google::Apis::PlusDomainsV1::Place::Position, decorator: Google::Apis::PlusDomainsV1::Place::Position::Representation - - end - - class Address - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :formatted, as: 'formatted' - end - end - - class Position - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :latitude, as: 'latitude' - property :longitude, as: 'longitude' - end - end - end - - class PlusDomainsAclentryResource - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :display_name, as: 'displayName' - property :id, as: 'id' - property :type, as: 'type' - end - end - - class Videostream - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :height, as: 'height' - property :type, as: 'type' - property :url, as: 'url' - property :width, as: 'width' - end - end - end - end -end diff --git a/generated/google/apis/plus_domains_v1/service.rb b/generated/google/apis/plus_domains_v1/service.rb deleted file mode 100644 index 20b242227..000000000 --- a/generated/google/apis/plus_domains_v1/service.rb +++ /dev/null @@ -1,489 +0,0 @@ -# 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 PlusDomainsV1 - # Google+ Domains API - # - # Builds on top of the Google+ platform for Google Apps Domains. - # - # @example - # require 'google/apis/plus_domains_v1' - # - # PlusDomains = Google::Apis::PlusDomainsV1 # Alias the module - # service = PlusDomains::PlusDomainsService.new - # - # @see https://developers.google.com/+/domains/ - class PlusDomainsService < 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] - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - attr_accessor :quota_user - - # @return [String] - # Deprecated. Please use quotaUser instead. - attr_accessor :user_ip - - def initialize - super('https://www.googleapis.com/', 'plusDomains/v1/') - @batch_path = 'batch/plusDomains/v1' - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] activity_id - # The ID of the activity to get. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::Activity] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::Activity] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_activity(activity_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'activities/{activityId}', options) - command.response_representation = Google::Apis::PlusDomainsV1::Activity::Representation - command.response_class = Google::Apis::PlusDomainsV1::Activity - command.params['activityId'] = activity_id unless activity_id.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] user_id - # The ID of the user to get activities for. The special value "me" can be used - # to indicate the authenticated user. - # @param [String] collection - # The collection of activities to list. - # @param [Fixnum] max_results - # The maximum number of activities to include in the response, which is used for - # paging. For any response, the actual number returned might be less than the - # specified maxResults. - # @param [String] page_token - # The continuation token, which is used to page through large result sets. To - # get the next page of results, set this parameter to the value of " - # nextPageToken" from the previous response. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::ActivityFeed] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::ActivityFeed] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_activities(user_id, collection, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'people/{userId}/activities/{collection}', options) - command.response_representation = Google::Apis::PlusDomainsV1::ActivityFeed::Representation - command.response_class = Google::Apis::PlusDomainsV1::ActivityFeed - command.params['userId'] = user_id unless user_id.nil? - command.params['collection'] = collection unless collection.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] user_id - # The ID of the user to get audiences for. The special value "me" can be used to - # indicate the authenticated user. - # @param [Fixnum] max_results - # The maximum number of circles to include in the response, which is used for - # paging. For any response, the actual number returned might be less than the - # specified maxResults. - # @param [String] page_token - # The continuation token, which is used to page through large result sets. To - # get the next page of results, set this parameter to the value of " - # nextPageToken" from the previous response. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::AudiencesFeed] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::AudiencesFeed] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_audiences(user_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'people/{userId}/audiences', options) - command.response_representation = Google::Apis::PlusDomainsV1::AudiencesFeed::Representation - command.response_class = Google::Apis::PlusDomainsV1::AudiencesFeed - command.params['userId'] = user_id unless user_id.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] user_id - # The ID of the user to get circles for. The special value "me" can be used to - # indicate the authenticated user. - # @param [Fixnum] max_results - # The maximum number of circles to include in the response, which is used for - # paging. For any response, the actual number returned might be less than the - # specified maxResults. - # @param [String] page_token - # The continuation token, which is used to page through large result sets. To - # get the next page of results, set this parameter to the value of " - # nextPageToken" from the previous response. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::CircleFeed] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::CircleFeed] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_circles(user_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'people/{userId}/circles', options) - command.response_representation = Google::Apis::PlusDomainsV1::CircleFeed::Representation - command.response_class = Google::Apis::PlusDomainsV1::CircleFeed - command.params['userId'] = user_id unless user_id.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] comment_id - # The ID of the comment to get. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::Comment] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::Comment] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_comment(comment_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'comments/{commentId}', options) - command.response_representation = Google::Apis::PlusDomainsV1::Comment::Representation - command.response_class = Google::Apis::PlusDomainsV1::Comment - command.params['commentId'] = comment_id unless comment_id.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] activity_id - # The ID of the activity to get comments for. - # @param [Fixnum] max_results - # The maximum number of comments to include in the response, which is used for - # paging. For any response, the actual number returned might be less than the - # specified maxResults. - # @param [String] page_token - # The continuation token, which is used to page through large result sets. To - # get the next page of results, set this parameter to the value of " - # nextPageToken" from the previous response. - # @param [String] sort_order - # The order in which to sort the list of comments. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::CommentFeed] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::CommentFeed] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_comments(activity_id, max_results: nil, page_token: nil, sort_order: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'activities/{activityId}/comments', options) - command.response_representation = Google::Apis::PlusDomainsV1::CommentFeed::Representation - command.response_class = Google::Apis::PlusDomainsV1::CommentFeed - command.params['activityId'] = activity_id unless activity_id.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['sortOrder'] = sort_order unless sort_order.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] user_id - # The ID of the user to create the activity on behalf of. - # @param [String] collection - # @param [Google::Apis::PlusDomainsV1::Media] media_object - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [IO, String] upload_source - # IO stream or filename containing content to upload - # @param [String] content_type - # Content type of the uploaded content. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::Media] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::Media] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def insert_medium(user_id, collection, media_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) - if upload_source.nil? - command = make_simple_command(:post, 'people/{userId}/media/{collection}', options) - else - command = make_upload_command(:post, 'people/{userId}/media/{collection}', options) - command.upload_source = upload_source - command.upload_content_type = content_type - end - command.request_representation = Google::Apis::PlusDomainsV1::Media::Representation - command.request_object = media_object - command.response_representation = Google::Apis::PlusDomainsV1::Media::Representation - command.response_class = Google::Apis::PlusDomainsV1::Media - command.params['userId'] = user_id unless user_id.nil? - command.params['collection'] = collection unless collection.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Get a person's profile. - # @param [String] user_id - # The ID of the person to get the profile for. The special value "me" can be - # used to indicate the authenticated user. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::Person] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::Person] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_person(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'people/{userId}', options) - command.response_representation = Google::Apis::PlusDomainsV1::Person::Representation - command.response_class = Google::Apis::PlusDomainsV1::Person - command.params['userId'] = user_id unless user_id.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # List all of the people in the specified collection. - # @param [String] user_id - # Get the collection of people for the person identified. Use "me" to indicate - # the authenticated user. - # @param [String] collection - # The collection of people to list. - # @param [Fixnum] max_results - # The maximum number of people to include in the response, which is used for - # paging. For any response, the actual number returned might be less than the - # specified maxResults. - # @param [String] order_by - # The order to return people in. - # @param [String] page_token - # The continuation token, which is used to page through large result sets. To - # get the next page of results, set this parameter to the value of " - # nextPageToken" from the previous response. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::PeopleFeed] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::PeopleFeed] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_people(user_id, collection, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'people/{userId}/people/{collection}', options) - command.response_representation = Google::Apis::PlusDomainsV1::PeopleFeed::Representation - command.response_class = Google::Apis::PlusDomainsV1::PeopleFeed - command.params['userId'] = user_id unless user_id.nil? - command.params['collection'] = collection unless collection.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['orderBy'] = order_by unless order_by.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Shut down. See https://developers.google.com/+/api-shutdown for more details. - # @param [String] activity_id - # The ID of the activity to get the list of people for. - # @param [String] collection - # The collection of people to list. - # @param [Fixnum] max_results - # The maximum number of people to include in the response, which is used for - # paging. For any response, the actual number returned might be less than the - # specified maxResults. - # @param [String] page_token - # The continuation token, which is used to page through large result sets. To - # get the next page of results, set this parameter to the value of " - # nextPageToken" from the previous response. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::PlusDomainsV1::PeopleFeed] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::PlusDomainsV1::PeopleFeed] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_people_by_activity(activity_id, collection, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'activities/{activityId}/people/{collection}', options) - command.response_representation = Google::Apis::PlusDomainsV1::PeopleFeed::Representation - command.response_class = Google::Apis::PlusDomainsV1::PeopleFeed - command.params['activityId'] = activity_id unless activity_id.nil? - command.params['collection'] = collection unless collection.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - protected - - def apply_command_defaults(command) - command.query['key'] = key unless key.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - end - end - end - end -end diff --git a/generated/google/apis/pubsub_v1.rb b/generated/google/apis/pubsub_v1.rb index 6adbe83c0..eed6440f4 100644 --- a/generated/google/apis/pubsub_v1.rb +++ b/generated/google/apis/pubsub_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/pubsub/docs module PubsubV1 VERSION = 'V1' - REVISION = '20191203' + REVISION = '20200121' # 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/pubsub_v1/classes.rb b/generated/google/apis/pubsub_v1/classes.rb index b5ae3e41c..655bb836d 100644 --- a/generated/google/apis/pubsub_v1/classes.rb +++ b/generated/google/apis/pubsub_v1/classes.rb @@ -46,10 +46,28 @@ module Google class Binding include Google::Apis::Core::Hashable - # Represents an expression text. Example: - # title: "User account presence" - # description: "Determines whether the request has a user account" - # expression: "size(request.user) > 0" + # 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::PubsubV1::Expr] attr_accessor :condition @@ -141,6 +159,49 @@ module Google end end + # Dead lettering is done on a best effort basis. The same message might be + # dead lettered multiple times. + # If validation on any of the fields fails at subscription creation/updation, + # the create/update subscription request will fail. + class DeadLetterPolicy + include Google::Apis::Core::Hashable + + # The name of the topic to which dead letter messages should be published. + # Format is `projects/`project`/topics/`topic``.The Cloud Pub/Sub service + # account associated with the enclosing subscription's parent project (i.e., + # service-`project_number`@gcp-sa-pubsub.iam.gserviceaccount.com) must have + # permission to Publish() to this topic. + # The operation will fail if the topic does not exist. + # Users should ensure that there is a subscription attached to this topic + # since messages published to a topic with no subscriptions are lost. + # Corresponds to the JSON property `deadLetterTopic` + # @return [String] + attr_accessor :dead_letter_topic + + # The maximum number of delivery attempts for any message. The value must be + # between 5 and 100. + # The number of delivery attempts is defined as 1 + (the sum of number of + # NACKs and number of times the acknowledgement deadline has been exceeded + # for the message). + # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that + # client libraries may automatically extend ack_deadlines. + # This field will be honored on a best effort basis. + # If this parameter is 0, a default value of 5 is used. + # Corresponds to the JSON property `maxDeliveryAttempts` + # @return [Fixnum] + attr_accessor :max_delivery_attempts + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dead_letter_topic = args[:dead_letter_topic] if args.key?(:dead_letter_topic) + @max_delivery_attempts = args[:max_delivery_attempts] if args.key?(:max_delivery_attempts) + 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: @@ -185,34 +246,50 @@ module Google end end - # Represents an expression text. Example: - # title: "User account presence" - # description: "Determines whether the request has a user account" - # expression: "size(request.user) > 0" + # 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 - # An optional description of the expression. This is a longer text which + # Optional. Description of the expression. This is a longer text which # describes the expression, e.g. when hovered over it in a UI. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description - # Textual representation of an expression in - # Common Expression Language syntax. - # The application context of the containing message determines which - # well-known feature set of CEL is supported. + # Textual representation of an expression in Common Expression Language + # syntax. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression - # An optional string indicating the location of the expression for error + # Optional. String indicating the location of the expression for error # reporting, e.g. a file name and a position in the file. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location - # An optional title for the expression, i.e. a short string describing + # 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` @@ -792,6 +869,23 @@ module Google # @return [String] attr_accessor :ack_id + # Delivery attempt counter is 1 + (the sum of number of NACKs and number of + # ack_deadline exceeds) for this message. + # A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline + # exceeds event is whenever a message is not acknowledged within + # ack_deadline. Note that ack_deadline is initially + # Subscription.ackDeadlineSeconds, but may get extended automatically by + # the client library. + # The first delivery of a given message will have this value as 1. The value + # is calculated at best effort and is approximate. + # If a DeadLetterPolicy is not set on the subscription, this will be 0. + # EXPERIMENTAL: This feature is part of a closed alpha release. This + # API might be changed in backward-incompatible ways and is not recommended + # for production use. It is not subject to any SLA or deprecation policy. + # Corresponds to the JSON property `deliveryAttempt` + # @return [Fixnum] + attr_accessor :delivery_attempt + # A message that is published by publishers and consumed by subscribers. The # message must contain either a non-empty data field or at least one attribute. # Note that client libraries represent this object differently @@ -811,6 +905,7 @@ module Google # Update properties of this object def update!(**args) @ack_id = args[:ack_id] if args.key?(:ack_id) + @delivery_attempt = args[:delivery_attempt] if args.key?(:delivery_attempt) @message = args[:message] if args.key?(:message) end end @@ -1016,6 +1111,14 @@ module Google # @return [Fixnum] attr_accessor :ack_deadline_seconds + # Dead lettering is done on a best effort basis. The same message might be + # dead lettered multiple times. + # If validation on any of the fields fails at subscription creation/updation, + # the create/update subscription request will fail. + # Corresponds to the JSON property `deadLetterPolicy` + # @return [Google::Apis::PubsubV1::DeadLetterPolicy] + attr_accessor :dead_letter_policy + # A policy that specifies the conditions for resource expiration (i.e., # automatic resource deletion). # Corresponds to the JSON property `expirationPolicy` @@ -1080,6 +1183,7 @@ module Google # Update properties of this object def update!(**args) @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds) + @dead_letter_policy = args[:dead_letter_policy] if args.key?(:dead_letter_policy) @expiration_policy = args[:expiration_policy] if args.key?(:expiration_policy) @labels = args[:labels] if args.key?(:labels) @message_retention_duration = args[:message_retention_duration] if args.key?(:message_retention_duration) diff --git a/generated/google/apis/pubsub_v1/representations.rb b/generated/google/apis/pubsub_v1/representations.rb index cf73b8571..d0f11c5c4 100644 --- a/generated/google/apis/pubsub_v1/representations.rb +++ b/generated/google/apis/pubsub_v1/representations.rb @@ -40,6 +40,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class DeadLetterPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Empty class Representation < Google::Apis::Core::JsonRepresentation; end @@ -251,6 +257,14 @@ module Google end end + class DeadLetterPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dead_letter_topic, as: 'deadLetterTopic' + property :max_delivery_attempts, as: 'maxDeliveryAttempts' + end + end + class Empty # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -413,6 +427,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :ack_id, as: 'ackId' + property :delivery_attempt, as: 'deliveryAttempt' property :message, as: 'message', class: Google::Apis::PubsubV1::Message, decorator: Google::Apis::PubsubV1::Message::Representation end @@ -454,6 +469,8 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :ack_deadline_seconds, as: 'ackDeadlineSeconds' + property :dead_letter_policy, as: 'deadLetterPolicy', class: Google::Apis::PubsubV1::DeadLetterPolicy, decorator: Google::Apis::PubsubV1::DeadLetterPolicy::Representation + property :expiration_policy, as: 'expirationPolicy', class: Google::Apis::PubsubV1::ExpirationPolicy, decorator: Google::Apis::PubsubV1::ExpirationPolicy::Representation hash :labels, as: 'labels' diff --git a/generated/google/apis/pubsub_v1beta2.rb b/generated/google/apis/pubsub_v1beta2.rb index be9bc96b2..71427a273 100644 --- a/generated/google/apis/pubsub_v1beta2.rb +++ b/generated/google/apis/pubsub_v1beta2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/pubsub/docs module PubsubV1beta2 VERSION = 'V1beta2' - REVISION = '20191203' + REVISION = '20200121' # 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/pubsub_v1beta2/classes.rb b/generated/google/apis/pubsub_v1beta2/classes.rb index 47167b725..4438c1603 100644 --- a/generated/google/apis/pubsub_v1beta2/classes.rb +++ b/generated/google/apis/pubsub_v1beta2/classes.rb @@ -46,10 +46,28 @@ module Google class Binding include Google::Apis::Core::Hashable - # Represents an expression text. Example: - # title: "User account presence" - # description: "Determines whether the request has a user account" - # expression: "size(request.user) > 0" + # 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::PubsubV1beta2::Expr] attr_accessor :condition @@ -126,34 +144,50 @@ module Google end end - # Represents an expression text. Example: - # title: "User account presence" - # description: "Determines whether the request has a user account" - # expression: "size(request.user) > 0" + # 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 - # An optional description of the expression. This is a longer text which + # Optional. Description of the expression. This is a longer text which # describes the expression, e.g. when hovered over it in a UI. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description - # Textual representation of an expression in - # Common Expression Language syntax. - # The application context of the containing message determines which - # well-known feature set of CEL is supported. + # Textual representation of an expression in Common Expression Language + # syntax. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression - # An optional string indicating the location of the expression for error + # Optional. String indicating the location of the expression for error # reporting, e.g. a file name and a position in the file. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location - # An optional title for the expression, i.e. a short string describing + # 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` diff --git a/generated/google/apis/remotebuildexecution_v1.rb b/generated/google/apis/remotebuildexecution_v1.rb index 2dce73cfb..0d31a018c 100644 --- a/generated/google/apis/remotebuildexecution_v1.rb +++ b/generated/google/apis/remotebuildexecution_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV1 VERSION = 'V1' - REVISION = '20200121' + REVISION = '20200128' # 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/remotebuildexecution_v1alpha.rb b/generated/google/apis/remotebuildexecution_v1alpha.rb index 466cbf206..f0e5c34c6 100644 --- a/generated/google/apis/remotebuildexecution_v1alpha.rb +++ b/generated/google/apis/remotebuildexecution_v1alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV1alpha VERSION = 'V1alpha' - REVISION = '20200121' + REVISION = '20200128' # 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/replicapool_v1beta1.rb b/generated/google/apis/replicapool_v1beta1.rb deleted file mode 100644 index 8d3b72181..000000000 --- a/generated/google/apis/replicapool_v1beta1.rb +++ /dev/null @@ -1,50 +0,0 @@ -# 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/replicapool_v1beta1/service.rb' -require 'google/apis/replicapool_v1beta1/classes.rb' -require 'google/apis/replicapool_v1beta1/representations.rb' - -module Google - module Apis - # Replica Pool API - # - # The Replica Pool API allows users to declaratively provision and manage groups - # of Google Compute Engine instances based on a common template. - # - # @see https://developers.google.com/compute/docs/replica-pool/ - module ReplicapoolV1beta1 - VERSION = 'V1beta1' - REVISION = '20160512' - - # View and manage your data across Google Cloud Platform services - AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' - - # View your data across Google Cloud Platform services - AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only' - - # View and manage your Google Cloud Platform management resources and deployment status information - AUTH_NDEV_CLOUDMAN = 'https://www.googleapis.com/auth/ndev.cloudman' - - # View your Google Cloud Platform management resources and deployment status information - AUTH_NDEV_CLOUDMAN_READONLY = 'https://www.googleapis.com/auth/ndev.cloudman.readonly' - - # View and manage replica pools - AUTH_REPLICAPOOL = 'https://www.googleapis.com/auth/replicapool' - - # View replica pools - AUTH_REPLICAPOOL_READONLY = 'https://www.googleapis.com/auth/replicapool.readonly' - end - end -end diff --git a/generated/google/apis/replicapool_v1beta1/classes.rb b/generated/google/apis/replicapool_v1beta1/classes.rb deleted file mode 100644 index 8fa5440f6..000000000 --- a/generated/google/apis/replicapool_v1beta1/classes.rb +++ /dev/null @@ -1,918 +0,0 @@ -# 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 ReplicapoolV1beta1 - - # A Compute Engine network accessConfig. Identical to the accessConfig on - # corresponding Compute Engine resource. - class AccessConfig - include Google::Apis::Core::Hashable - - # Name of this access configuration. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # An external IP address associated with this instance. - # Corresponds to the JSON property `natIp` - # @return [String] - attr_accessor :nat_ip - - # Type of this access configuration file. Currently only ONE_TO_ONE_NAT is - # supported. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @nat_ip = args[:nat_ip] if args.key?(:nat_ip) - @type = args[:type] if args.key?(:type) - end - end - - # An action that gets executed during initialization of the replicas. - class Action - include Google::Apis::Core::Hashable - - # A list of commands to run, one per line. If any command fails, the whole - # action is considered a failure and no further actions are run. This also marks - # the virtual machine or replica as a failure. - # Corresponds to the JSON property `commands` - # @return [Array] - attr_accessor :commands - - # A list of environment variables to use for the commands in this action. - # Corresponds to the JSON property `envVariables` - # @return [Array] - attr_accessor :env_variables - - # If an action's commands on a particular replica do not finish in the specified - # timeoutMilliSeconds, the replica is considered to be in a FAILING state. No - # efforts are made to stop any processes that were spawned or created as the - # result of running the action's commands. The default is the max allowed value, - # 1 hour (i.e. 3600000 milliseconds). - # Corresponds to the JSON property `timeoutMilliSeconds` - # @return [Fixnum] - attr_accessor :timeout_milli_seconds - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @commands = args[:commands] if args.key?(:commands) - @env_variables = args[:env_variables] if args.key?(:env_variables) - @timeout_milli_seconds = args[:timeout_milli_seconds] if args.key?(:timeout_milli_seconds) - end - end - - # Specifies how to attach a disk to a Replica. - class DiskAttachment - include Google::Apis::Core::Hashable - - # The device name of this disk. - # Corresponds to the JSON property `deviceName` - # @return [String] - attr_accessor :device_name - - # A zero-based index to assign to this disk, where 0 is reserved for the boot - # disk. If not specified, this is assigned by the server. - # Corresponds to the JSON property `index` - # @return [Fixnum] - attr_accessor :index - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @device_name = args[:device_name] if args.key?(:device_name) - @index = args[:index] if args.key?(:index) - end - end - - # An environment variable to set for an action. - class EnvVariable - include Google::Apis::Core::Hashable - - # Deprecated, do not use. - # Corresponds to the JSON property `hidden` - # @return [Boolean] - attr_accessor :hidden - alias_method :hidden?, :hidden - - # The name of the environment variable. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The value of the variable. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @hidden = args[:hidden] if args.key?(:hidden) - @name = args[:name] if args.key?(:name) - @value = args[:value] if args.key?(:value) - end - end - - # A pre-existing persistent disk that will be attached to every Replica in the - # Pool in READ_ONLY mode. - class ExistingDisk - include Google::Apis::Core::Hashable - - # Specifies how to attach a disk to a Replica. - # Corresponds to the JSON property `attachment` - # @return [Google::Apis::ReplicapoolV1beta1::DiskAttachment] - attr_accessor :attachment - - # The name of the Persistent Disk resource. The Persistent Disk resource must be - # in the same zone as the Pool. - # Corresponds to the JSON property `source` - # @return [String] - attr_accessor :source - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @attachment = args[:attachment] if args.key?(:attachment) - @source = args[:source] if args.key?(:source) - end - end - - # - class HealthCheck - include Google::Apis::Core::Hashable - - # How often (in seconds) to make HTTP requests for this healthcheck. The default - # value is 5 seconds. - # Corresponds to the JSON property `checkIntervalSec` - # @return [Fixnum] - attr_accessor :check_interval_sec - - # The description for this health check. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # The number of consecutive health check requests that need to succeed before - # the replica is considered healthy again. The default value is 2. - # Corresponds to the JSON property `healthyThreshold` - # @return [Fixnum] - attr_accessor :healthy_threshold - - # The value of the host header in the HTTP health check request. If left empty ( - # default value), the localhost IP 127.0.0.1 will be used. - # Corresponds to the JSON property `host` - # @return [String] - attr_accessor :host - - # The name of this health check. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The localhost request path to send this health check, in the format /path/to/ - # use. For example, /healthcheck. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - # The TCP port for the health check requests. - # Corresponds to the JSON property `port` - # @return [Fixnum] - attr_accessor :port - - # How long (in seconds) to wait before a timeout failure for this healthcheck. - # The default value is 5 seconds. - # Corresponds to the JSON property `timeoutSec` - # @return [Fixnum] - attr_accessor :timeout_sec - - # The number of consecutive health check requests that need to fail in order to - # consider the replica unhealthy. The default value is 2. - # Corresponds to the JSON property `unhealthyThreshold` - # @return [Fixnum] - attr_accessor :unhealthy_threshold - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec) - @description = args[:description] if args.key?(:description) - @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold) - @host = args[:host] if args.key?(:host) - @name = args[:name] if args.key?(:name) - @path = args[:path] if args.key?(:path) - @port = args[:port] if args.key?(:port) - @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec) - @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold) - end - end - - # A label to apply to this replica pool. - class Label - include Google::Apis::Core::Hashable - - # The key for this label. - # Corresponds to the JSON property `key` - # @return [String] - attr_accessor :key - - # The value of this label. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @key = args[:key] if args.key?(:key) - @value = args[:value] if args.key?(:value) - end - end - - # A Compute Engine metadata entry. Identical to the metadata on the - # corresponding Compute Engine resource. - class Metadata - include Google::Apis::Core::Hashable - - # The fingerprint of the metadata. Required for updating the metadata entries - # for this instance. - # Corresponds to the JSON property `fingerPrint` - # @return [String] - attr_accessor :finger_print - - # A list of metadata items. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @finger_print = args[:finger_print] if args.key?(:finger_print) - @items = args[:items] if args.key?(:items) - end - end - - # A Compute Engine metadata item, defined as a key:value pair. Identical to the - # metadata on the corresponding Compute Engine resource. - class MetadataItem - include Google::Apis::Core::Hashable - - # A metadata key. - # Corresponds to the JSON property `key` - # @return [String] - attr_accessor :key - - # A metadata value. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @key = args[:key] if args.key?(:key) - @value = args[:value] if args.key?(:value) - end - end - - # A Compute Engine NetworkInterface resource. Identical to the NetworkInterface - # on the corresponding Compute Engine resource. - class NetworkInterface - include Google::Apis::Core::Hashable - - # An array of configurations for this interface. This specifies how this - # interface is configured to interact with other network services. - # Corresponds to the JSON property `accessConfigs` - # @return [Array] - attr_accessor :access_configs - - # Name the Network resource to which this interface applies. - # Corresponds to the JSON property `network` - # @return [String] - attr_accessor :network - - # An optional IPV4 internal network address to assign to the instance for this - # network interface. - # Corresponds to the JSON property `networkIp` - # @return [String] - attr_accessor :network_ip - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @access_configs = args[:access_configs] if args.key?(:access_configs) - @network = args[:network] if args.key?(:network) - @network_ip = args[:network_ip] if args.key?(:network_ip) - end - end - - # A Persistent Disk resource that will be created and attached to each Replica - # in the Pool. Each Replica will have a unique persistent disk that is created - # and attached to that Replica in READ_WRITE mode. - class NewDisk - include Google::Apis::Core::Hashable - - # Specifies how to attach a disk to a Replica. - # Corresponds to the JSON property `attachment` - # @return [Google::Apis::ReplicapoolV1beta1::DiskAttachment] - attr_accessor :attachment - - # If true, then this disk will be deleted when the instance is deleted. The - # default value is true. - # Corresponds to the JSON property `autoDelete` - # @return [Boolean] - attr_accessor :auto_delete - alias_method :auto_delete?, :auto_delete - - # If true, indicates that this is the root persistent disk. - # Corresponds to the JSON property `boot` - # @return [Boolean] - attr_accessor :boot - alias_method :boot?, :boot - - # Initialization parameters for creating a new disk. - # Corresponds to the JSON property `initializeParams` - # @return [Google::Apis::ReplicapoolV1beta1::NewDiskInitializeParams] - attr_accessor :initialize_params - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @attachment = args[:attachment] if args.key?(:attachment) - @auto_delete = args[:auto_delete] if args.key?(:auto_delete) - @boot = args[:boot] if args.key?(:boot) - @initialize_params = args[:initialize_params] if args.key?(:initialize_params) - end - end - - # Initialization parameters for creating a new disk. - class NewDiskInitializeParams - include Google::Apis::Core::Hashable - - # The size of the created disk in gigabytes. - # Corresponds to the JSON property `diskSizeGb` - # @return [Fixnum] - attr_accessor :disk_size_gb - - # Name of the disk type resource describing which disk type to use to create the - # disk. For example 'pd-ssd' or 'pd-standard'. Default is 'pd-standard' - # Corresponds to the JSON property `diskType` - # @return [String] - attr_accessor :disk_type - - # The name or fully-qualified URL of a source image to use to create this disk. - # If you provide a name of the source image, Replica Pool will look for an image - # with that name in your project. If you are specifying an image provided by - # Compute Engine, you will need to provide the full URL with the correct project, - # such as: - # http://www.googleapis.com/compute/v1/projects/debian-cloud/ global/images/ - # debian-wheezy-7-vYYYYMMDD - # Corresponds to the JSON property `sourceImage` - # @return [String] - attr_accessor :source_image - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) - @disk_type = args[:disk_type] if args.key?(:disk_type) - @source_image = args[:source_image] if args.key?(:source_image) - end - end - - # - class Pool - include Google::Apis::Core::Hashable - - # Whether replicas in this pool should be restarted if they experience a failure. - # The default value is true. - # Corresponds to the JSON property `autoRestart` - # @return [Boolean] - attr_accessor :auto_restart - alias_method :auto_restart?, :auto_restart - - # The base instance name to use for the replicas in this pool. This must match - # the regex [a-z]([-a-z0-9]*[a-z0-9])?. If specified, the instances in this - # replica pool will be named in the format -. The - # postfix will be a four character alphanumeric identifier generated by the - # service. - # If this is not specified by the user, a random base instance name is generated - # by the service. - # Corresponds to the JSON property `baseInstanceName` - # @return [String] - attr_accessor :base_instance_name - - # [Output Only] The current number of replicas in the pool. - # Corresponds to the JSON property `currentNumReplicas` - # @return [Fixnum] - attr_accessor :current_num_replicas - - # An optional description of the replica pool. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # Deprecated. Please use template[].healthChecks instead. - # Corresponds to the JSON property `healthChecks` - # @return [Array] - attr_accessor :health_checks - - # The initial number of replicas this pool should have. You must provide a value - # greater than or equal to 0. - # Corresponds to the JSON property `initialNumReplicas` - # @return [Fixnum] - attr_accessor :initial_num_replicas - - # A list of labels to attach to this replica pool and all created virtual - # machines in this replica pool. - # Corresponds to the JSON property `labels` - # @return [Array] - attr_accessor :labels - - # The name of the replica pool. Must follow the regex [a-z]([-a-z0-9]*[a-z0-9])? - # and be 1-28 characters long. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # Deprecated! Use initial_num_replicas instead. - # Corresponds to the JSON property `numReplicas` - # @return [Fixnum] - attr_accessor :num_replicas - - # The list of resource views that should be updated with all the replicas that - # are managed by this pool. - # Corresponds to the JSON property `resourceViews` - # @return [Array] - attr_accessor :resource_views - - # [Output Only] A self-link to the replica pool. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # Deprecated, please use target_pools instead. - # Corresponds to the JSON property `targetPool` - # @return [String] - attr_accessor :target_pool - - # A list of target pools to update with the replicas that are managed by this - # pool. If specified, the replicas in this replica pool will be added to the - # specified target pools for load balancing purposes. The replica pool must live - # in the same region as the specified target pools. These values must be the - # target pool resource names, and not fully qualified URLs. - # Corresponds to the JSON property `targetPools` - # @return [Array] - attr_accessor :target_pools - - # The template used for creating replicas in the pool. - # Corresponds to the JSON property `template` - # @return [Google::Apis::ReplicapoolV1beta1::Template] - attr_accessor :template - - # Deprecated! Do not set. - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @auto_restart = args[:auto_restart] if args.key?(:auto_restart) - @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name) - @current_num_replicas = args[:current_num_replicas] if args.key?(:current_num_replicas) - @description = args[:description] if args.key?(:description) - @health_checks = args[:health_checks] if args.key?(:health_checks) - @initial_num_replicas = args[:initial_num_replicas] if args.key?(:initial_num_replicas) - @labels = args[:labels] if args.key?(:labels) - @name = args[:name] if args.key?(:name) - @num_replicas = args[:num_replicas] if args.key?(:num_replicas) - @resource_views = args[:resource_views] if args.key?(:resource_views) - @self_link = args[:self_link] if args.key?(:self_link) - @target_pool = args[:target_pool] if args.key?(:target_pool) - @target_pools = args[:target_pools] if args.key?(:target_pools) - @template = args[:template] if args.key?(:template) - @type = args[:type] if args.key?(:type) - end - end - - # - class PoolsDeleteRequest - include Google::Apis::Core::Hashable - - # If there are instances you would like to keep, you can specify them here. - # These instances won't be deleted, but the associated replica objects will be - # removed. - # Corresponds to the JSON property `abandonInstances` - # @return [Array] - attr_accessor :abandon_instances - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @abandon_instances = args[:abandon_instances] if args.key?(:abandon_instances) - end - end - - # - class PoolsListResponse - include Google::Apis::Core::Hashable - - # - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # - # Corresponds to the JSON property `resources` - # @return [Array] - attr_accessor :resources - - 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) - @resources = args[:resources] if args.key?(:resources) - end - end - - # An individual Replica within a Pool. Replicas are automatically created by the - # replica pool, using the template provided by the user. You cannot directly - # create replicas. - class Replica - include Google::Apis::Core::Hashable - - # [Output Only] The name of the Replica object. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # [Output Only] The self-link of the Replica. - # Corresponds to the JSON property `selfLink` - # @return [String] - attr_accessor :self_link - - # The current status of a Replica. - # Corresponds to the JSON property `status` - # @return [Google::Apis::ReplicapoolV1beta1::ReplicaStatus] - attr_accessor :status - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @self_link = args[:self_link] if args.key?(:self_link) - @status = args[:status] if args.key?(:status) - end - end - - # The current status of a Replica. - class ReplicaStatus - include Google::Apis::Core::Hashable - - # [Output Only] Human-readable details about the current state of the replica - # Corresponds to the JSON property `details` - # @return [String] - attr_accessor :details - - # [Output Only] The state of the Replica. - # Corresponds to the JSON property `state` - # @return [String] - attr_accessor :state - - # [Output Only] The template used to build the replica. - # Corresponds to the JSON property `templateVersion` - # @return [String] - attr_accessor :template_version - - # [Output Only] Link to the virtual machine that this Replica represents. - # Corresponds to the JSON property `vmLink` - # @return [String] - attr_accessor :vm_link - - # [Output Only] The time that this Replica got to the RUNNING state, in RFC 3339 - # format. If the start time is unknown, UNKNOWN is returned. - # Corresponds to the JSON property `vmStartTime` - # @return [String] - attr_accessor :vm_start_time - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @details = args[:details] if args.key?(:details) - @state = args[:state] if args.key?(:state) - @template_version = args[:template_version] if args.key?(:template_version) - @vm_link = args[:vm_link] if args.key?(:vm_link) - @vm_start_time = args[:vm_start_time] if args.key?(:vm_start_time) - end - end - - # - class ReplicasDeleteRequest - include Google::Apis::Core::Hashable - - # Whether the instance resource represented by this replica should be deleted or - # abandoned. If abandoned, the replica will be deleted but the virtual machine - # instance will remain. By default, this is set to false and the instance will - # be deleted along with the replica. - # Corresponds to the JSON property `abandonInstance` - # @return [Boolean] - attr_accessor :abandon_instance - alias_method :abandon_instance?, :abandon_instance - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @abandon_instance = args[:abandon_instance] if args.key?(:abandon_instance) - end - end - - # - class ReplicasListResponse - include Google::Apis::Core::Hashable - - # - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # - # Corresponds to the JSON property `resources` - # @return [Array] - attr_accessor :resources - - 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) - @resources = args[:resources] if args.key?(:resources) - end - end - - # A Compute Engine service account, identical to the Compute Engine resource. - class ServiceAccount - include Google::Apis::Core::Hashable - - # The service account email address, for example: 123845678986@project. - # gserviceaccount.com - # Corresponds to the JSON property `email` - # @return [String] - attr_accessor :email - - # The list of OAuth2 scopes to obtain for the service account, for example: - # https://www.googleapis.com/auth/devstorage.full_control - # Corresponds to the JSON property `scopes` - # @return [Array] - attr_accessor :scopes - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @email = args[:email] if args.key?(:email) - @scopes = args[:scopes] if args.key?(:scopes) - end - end - - # A Compute Engine Instance tag, identical to the tags on the corresponding - # Compute Engine Instance resource. - class Tag - include Google::Apis::Core::Hashable - - # The fingerprint of the tag. Required for updating the list of tags. - # Corresponds to the JSON property `fingerPrint` - # @return [String] - attr_accessor :finger_print - - # Items contained in this tag. - # Corresponds to the JSON property `items` - # @return [Array] - attr_accessor :items - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @finger_print = args[:finger_print] if args.key?(:finger_print) - @items = args[:items] if args.key?(:items) - end - end - - # The template used for creating replicas in the pool. - class Template - include Google::Apis::Core::Hashable - - # An action that gets executed during initialization of the replicas. - # Corresponds to the JSON property `action` - # @return [Google::Apis::ReplicapoolV1beta1::Action] - attr_accessor :action - - # A list of HTTP Health Checks to configure for this replica pool and all - # virtual machines in this replica pool. - # Corresponds to the JSON property `healthChecks` - # @return [Array] - attr_accessor :health_checks - - # A free-form string describing the version of this template. You can provide - # any versioning string you would like. For example, version1 or template-v1. - # Corresponds to the JSON property `version` - # @return [String] - attr_accessor :version - - # Parameters for creating a Compute Engine Instance resource. Most fields are - # identical to the corresponding Compute Engine resource. - # Corresponds to the JSON property `vmParams` - # @return [Google::Apis::ReplicapoolV1beta1::VmParams] - attr_accessor :vm_params - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action = args[:action] if args.key?(:action) - @health_checks = args[:health_checks] if args.key?(:health_checks) - @version = args[:version] if args.key?(:version) - @vm_params = args[:vm_params] if args.key?(:vm_params) - end - end - - # Parameters for creating a Compute Engine Instance resource. Most fields are - # identical to the corresponding Compute Engine resource. - class VmParams - include Google::Apis::Core::Hashable - - # Deprecated. Please use baseInstanceName instead. - # Corresponds to the JSON property `baseInstanceName` - # @return [String] - attr_accessor :base_instance_name - - # Enables IP Forwarding, which allows this instance to receive packets destined - # for a different IP address, and send packets with a different source IP. See - # IP Forwarding for more information. - # Corresponds to the JSON property `canIpForward` - # @return [Boolean] - attr_accessor :can_ip_forward - alias_method :can_ip_forward?, :can_ip_forward - - # An optional textual description of the instance. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - # A list of existing Persistent Disk resources to attach to each replica in the - # pool. Each disk will be attached in read-only mode to every replica. - # Corresponds to the JSON property `disksToAttach` - # @return [Array] - attr_accessor :disks_to_attach - - # A list of Disk resources to create and attach to each Replica in the Pool. - # Currently, you can only define one disk and it must be a root persistent disk. - # Note that Replica Pool will create a root persistent disk for each replica. - # Corresponds to the JSON property `disksToCreate` - # @return [Array] - attr_accessor :disks_to_create - - # The machine type for this instance. The resource name (e.g. n1-standard-1). - # Corresponds to the JSON property `machineType` - # @return [String] - attr_accessor :machine_type - - # A Compute Engine metadata entry. Identical to the metadata on the - # corresponding Compute Engine resource. - # Corresponds to the JSON property `metadata` - # @return [Google::Apis::ReplicapoolV1beta1::Metadata] - attr_accessor :metadata - - # A list of network interfaces for the instance. Currently only one interface is - # supported by Google Compute Engine, ONE_TO_ONE_NAT. - # Corresponds to the JSON property `networkInterfaces` - # @return [Array] - attr_accessor :network_interfaces - - # - # Corresponds to the JSON property `onHostMaintenance` - # @return [String] - attr_accessor :on_host_maintenance - - # A list of Service Accounts to enable for this instance. - # Corresponds to the JSON property `serviceAccounts` - # @return [Array] - attr_accessor :service_accounts - - # A Compute Engine Instance tag, identical to the tags on the corresponding - # Compute Engine Instance resource. - # Corresponds to the JSON property `tags` - # @return [Google::Apis::ReplicapoolV1beta1::Tag] - attr_accessor :tags - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name) - @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) - @description = args[:description] if args.key?(:description) - @disks_to_attach = args[:disks_to_attach] if args.key?(:disks_to_attach) - @disks_to_create = args[:disks_to_create] if args.key?(:disks_to_create) - @machine_type = args[:machine_type] if args.key?(:machine_type) - @metadata = args[:metadata] if args.key?(:metadata) - @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) - @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance) - @service_accounts = args[:service_accounts] if args.key?(:service_accounts) - @tags = args[:tags] if args.key?(:tags) - end - end - end - end -end diff --git a/generated/google/apis/replicapool_v1beta1/representations.rb b/generated/google/apis/replicapool_v1beta1/representations.rb deleted file mode 100644 index af277ebdc..000000000 --- a/generated/google/apis/replicapool_v1beta1/representations.rb +++ /dev/null @@ -1,409 +0,0 @@ -# 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 ReplicapoolV1beta1 - - class AccessConfig - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Action - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class DiskAttachment - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class EnvVariable - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class ExistingDisk - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class HealthCheck - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Label - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Metadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class MetadataItem - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class NetworkInterface - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class NewDisk - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class NewDiskInitializeParams - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Pool - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class PoolsDeleteRequest - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class PoolsListResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Replica - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class ReplicaStatus - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class ReplicasDeleteRequest - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class ReplicasListResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class ServiceAccount - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Tag - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class Template - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class VmParams - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class AccessConfig - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :name, as: 'name' - property :nat_ip, as: 'natIp' - property :type, as: 'type' - end - end - - class Action - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :commands, as: 'commands' - collection :env_variables, as: 'envVariables', class: Google::Apis::ReplicapoolV1beta1::EnvVariable, decorator: Google::Apis::ReplicapoolV1beta1::EnvVariable::Representation - - property :timeout_milli_seconds, as: 'timeoutMilliSeconds' - end - end - - class DiskAttachment - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :device_name, as: 'deviceName' - property :index, as: 'index' - end - end - - class EnvVariable - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :hidden, as: 'hidden' - property :name, as: 'name' - property :value, as: 'value' - end - end - - class ExistingDisk - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :attachment, as: 'attachment', class: Google::Apis::ReplicapoolV1beta1::DiskAttachment, decorator: Google::Apis::ReplicapoolV1beta1::DiskAttachment::Representation - - property :source, as: 'source' - end - end - - class HealthCheck - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :check_interval_sec, as: 'checkIntervalSec' - property :description, as: 'description' - property :healthy_threshold, as: 'healthyThreshold' - property :host, as: 'host' - property :name, as: 'name' - property :path, as: 'path' - property :port, as: 'port' - property :timeout_sec, as: 'timeoutSec' - property :unhealthy_threshold, as: 'unhealthyThreshold' - end - end - - class Label - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :key, as: 'key' - property :value, as: 'value' - end - end - - class Metadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :finger_print, as: 'fingerPrint' - collection :items, as: 'items', class: Google::Apis::ReplicapoolV1beta1::MetadataItem, decorator: Google::Apis::ReplicapoolV1beta1::MetadataItem::Representation - - end - end - - class MetadataItem - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :key, as: 'key' - property :value, as: 'value' - end - end - - class NetworkInterface - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :access_configs, as: 'accessConfigs', class: Google::Apis::ReplicapoolV1beta1::AccessConfig, decorator: Google::Apis::ReplicapoolV1beta1::AccessConfig::Representation - - property :network, as: 'network' - property :network_ip, as: 'networkIp' - end - end - - class NewDisk - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :attachment, as: 'attachment', class: Google::Apis::ReplicapoolV1beta1::DiskAttachment, decorator: Google::Apis::ReplicapoolV1beta1::DiskAttachment::Representation - - property :auto_delete, as: 'autoDelete' - property :boot, as: 'boot' - property :initialize_params, as: 'initializeParams', class: Google::Apis::ReplicapoolV1beta1::NewDiskInitializeParams, decorator: Google::Apis::ReplicapoolV1beta1::NewDiskInitializeParams::Representation - - end - end - - class NewDiskInitializeParams - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' - property :disk_type, as: 'diskType' - property :source_image, as: 'sourceImage' - end - end - - class Pool - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :auto_restart, as: 'autoRestart' - property :base_instance_name, as: 'baseInstanceName' - property :current_num_replicas, as: 'currentNumReplicas' - property :description, as: 'description' - collection :health_checks, as: 'healthChecks', class: Google::Apis::ReplicapoolV1beta1::HealthCheck, decorator: Google::Apis::ReplicapoolV1beta1::HealthCheck::Representation - - property :initial_num_replicas, as: 'initialNumReplicas' - collection :labels, as: 'labels', class: Google::Apis::ReplicapoolV1beta1::Label, decorator: Google::Apis::ReplicapoolV1beta1::Label::Representation - - property :name, as: 'name' - property :num_replicas, as: 'numReplicas' - collection :resource_views, as: 'resourceViews' - property :self_link, as: 'selfLink' - property :target_pool, as: 'targetPool' - collection :target_pools, as: 'targetPools' - property :template, as: 'template', class: Google::Apis::ReplicapoolV1beta1::Template, decorator: Google::Apis::ReplicapoolV1beta1::Template::Representation - - property :type, as: 'type' - end - end - - class PoolsDeleteRequest - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :abandon_instances, as: 'abandonInstances' - end - end - - class PoolsListResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :next_page_token, as: 'nextPageToken' - collection :resources, as: 'resources', class: Google::Apis::ReplicapoolV1beta1::Pool, decorator: Google::Apis::ReplicapoolV1beta1::Pool::Representation - - end - end - - class Replica - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :name, as: 'name' - property :self_link, as: 'selfLink' - property :status, as: 'status', class: Google::Apis::ReplicapoolV1beta1::ReplicaStatus, decorator: Google::Apis::ReplicapoolV1beta1::ReplicaStatus::Representation - - end - end - - class ReplicaStatus - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :details, as: 'details' - property :state, as: 'state' - property :template_version, as: 'templateVersion' - property :vm_link, as: 'vmLink' - property :vm_start_time, as: 'vmStartTime' - end - end - - class ReplicasDeleteRequest - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :abandon_instance, as: 'abandonInstance' - end - end - - class ReplicasListResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :next_page_token, as: 'nextPageToken' - collection :resources, as: 'resources', class: Google::Apis::ReplicapoolV1beta1::Replica, decorator: Google::Apis::ReplicapoolV1beta1::Replica::Representation - - end - end - - class ServiceAccount - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :email, as: 'email' - collection :scopes, as: 'scopes' - end - end - - class Tag - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :finger_print, as: 'fingerPrint' - collection :items, as: 'items' - end - end - - class Template - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action, as: 'action', class: Google::Apis::ReplicapoolV1beta1::Action, decorator: Google::Apis::ReplicapoolV1beta1::Action::Representation - - collection :health_checks, as: 'healthChecks', class: Google::Apis::ReplicapoolV1beta1::HealthCheck, decorator: Google::Apis::ReplicapoolV1beta1::HealthCheck::Representation - - property :version, as: 'version' - property :vm_params, as: 'vmParams', class: Google::Apis::ReplicapoolV1beta1::VmParams, decorator: Google::Apis::ReplicapoolV1beta1::VmParams::Representation - - end - end - - class VmParams - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :base_instance_name, as: 'baseInstanceName' - property :can_ip_forward, as: 'canIpForward' - property :description, as: 'description' - collection :disks_to_attach, as: 'disksToAttach', class: Google::Apis::ReplicapoolV1beta1::ExistingDisk, decorator: Google::Apis::ReplicapoolV1beta1::ExistingDisk::Representation - - collection :disks_to_create, as: 'disksToCreate', class: Google::Apis::ReplicapoolV1beta1::NewDisk, decorator: Google::Apis::ReplicapoolV1beta1::NewDisk::Representation - - property :machine_type, as: 'machineType' - property :metadata, as: 'metadata', class: Google::Apis::ReplicapoolV1beta1::Metadata, decorator: Google::Apis::ReplicapoolV1beta1::Metadata::Representation - - collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ReplicapoolV1beta1::NetworkInterface, decorator: Google::Apis::ReplicapoolV1beta1::NetworkInterface::Representation - - property :on_host_maintenance, as: 'onHostMaintenance' - collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ReplicapoolV1beta1::ServiceAccount, decorator: Google::Apis::ReplicapoolV1beta1::ServiceAccount::Representation - - property :tags, as: 'tags', class: Google::Apis::ReplicapoolV1beta1::Tag, decorator: Google::Apis::ReplicapoolV1beta1::Tag::Representation - - end - end - end - end -end diff --git a/generated/google/apis/replicapool_v1beta1/service.rb b/generated/google/apis/replicapool_v1beta1/service.rb deleted file mode 100644 index 51af21496..000000000 --- a/generated/google/apis/replicapool_v1beta1/service.rb +++ /dev/null @@ -1,489 +0,0 @@ -# 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 ReplicapoolV1beta1 - # Replica Pool API - # - # The Replica Pool API allows users to declaratively provision and manage groups - # of Google Compute Engine instances based on a common template. - # - # @example - # require 'google/apis/replicapool_v1beta1' - # - # Replicapool = Google::Apis::ReplicapoolV1beta1 # Alias the module - # service = Replicapool::ReplicapoolService.new - # - # @see https://developers.google.com/compute/docs/replica-pool/ - class ReplicapoolService < 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] - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - attr_accessor :quota_user - - # @return [String] - # Deprecated. Please use quotaUser instead. - attr_accessor :user_ip - - def initialize - super('https://www.googleapis.com/', 'replicapool/v1beta1/projects/') - @batch_path = 'batch/replicapool/v1beta1' - end - - # Deletes a replica pool. - # @param [String] project_name - # The project ID for this replica pool. - # @param [String] zone - # The zone for this replica pool. - # @param [String] pool_name - # The name of the replica pool for this request. - # @param [Google::Apis::ReplicapoolV1beta1::PoolsDeleteRequest] pools_delete_request_object - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [NilClass] No result returned for this method - # @yieldparam err [StandardError] error object if request failed - # - # @return [void] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def delete_pool(project_name, zone, pool_name, pools_delete_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:post, '{projectName}/zones/{zone}/pools/{poolName}', options) - command.request_representation = Google::Apis::ReplicapoolV1beta1::PoolsDeleteRequest::Representation - command.request_object = pools_delete_request_object - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Gets information about a single replica pool. - # @param [String] project_name - # The project ID for this replica pool. - # @param [String] zone - # The zone for this replica pool. - # @param [String] pool_name - # The name of the replica pool for this request. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::Pool] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::Pool] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_pool(project_name, zone, pool_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, '{projectName}/zones/{zone}/pools/{poolName}', options) - command.response_representation = Google::Apis::ReplicapoolV1beta1::Pool::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::Pool - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Inserts a new replica pool. - # @param [String] project_name - # The project ID for this replica pool. - # @param [String] zone - # The zone for this replica pool. - # @param [Google::Apis::ReplicapoolV1beta1::Pool] pool_object - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::Pool] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::Pool] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def insert_pool(project_name, zone, pool_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:post, '{projectName}/zones/{zone}/pools', options) - command.request_representation = Google::Apis::ReplicapoolV1beta1::Pool::Representation - command.request_object = pool_object - command.response_representation = Google::Apis::ReplicapoolV1beta1::Pool::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::Pool - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # List all replica pools. - # @param [String] project_name - # The project ID for this request. - # @param [String] zone - # The zone for this replica pool. - # @param [Fixnum] max_results - # Maximum count of results to be returned. Acceptable values are 0 to 100, - # inclusive. (Default: 50) - # @param [String] page_token - # Set this to the nextPageToken value returned by a previous list request to - # obtain the next page of results from the previous list request. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::PoolsListResponse] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::PoolsListResponse] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_pools(project_name, zone, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, '{projectName}/zones/{zone}/pools', options) - command.response_representation = Google::Apis::ReplicapoolV1beta1::PoolsListResponse::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::PoolsListResponse - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Resize a pool. This is an asynchronous operation, and multiple overlapping - # resize requests can be made. Replica Pools will use the information from the - # last resize request. - # @param [String] project_name - # The project ID for this replica pool. - # @param [String] zone - # The zone for this replica pool. - # @param [String] pool_name - # The name of the replica pool for this request. - # @param [Fixnum] num_replicas - # The desired number of replicas to resize to. If this number is larger than the - # existing number of replicas, new replicas will be added. If the number is - # smaller, then existing replicas will be deleted. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::Pool] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::Pool] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def resize_pool(project_name, zone, pool_name, num_replicas: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:post, '{projectName}/zones/{zone}/pools/{poolName}/resize', options) - command.response_representation = Google::Apis::ReplicapoolV1beta1::Pool::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::Pool - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.query['numReplicas'] = num_replicas unless num_replicas.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Update the template used by the pool. - # @param [String] project_name - # The project ID for this replica pool. - # @param [String] zone - # The zone for this replica pool. - # @param [String] pool_name - # The name of the replica pool for this request. - # @param [Google::Apis::ReplicapoolV1beta1::Template] template_object - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [NilClass] No result returned for this method - # @yieldparam err [StandardError] error object if request failed - # - # @return [void] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def updatetemplate_pool(project_name, zone, pool_name, template_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:post, '{projectName}/zones/{zone}/pools/{poolName}/updateTemplate', options) - command.request_representation = Google::Apis::ReplicapoolV1beta1::Template::Representation - command.request_object = template_object - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Deletes a replica from the pool. - # @param [String] project_name - # The project ID for this request. - # @param [String] zone - # The zone where the replica lives. - # @param [String] pool_name - # The replica pool name for this request. - # @param [String] replica_name - # The name of the replica for this request. - # @param [Google::Apis::ReplicapoolV1beta1::ReplicasDeleteRequest] replicas_delete_request_object - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::Replica] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::Replica] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_replica(project_name, zone, pool_name, replica_name, replicas_delete_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:post, '{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}', options) - command.request_representation = Google::Apis::ReplicapoolV1beta1::ReplicasDeleteRequest::Representation - command.request_object = replicas_delete_request_object - command.response_representation = Google::Apis::ReplicapoolV1beta1::Replica::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::Replica - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.params['replicaName'] = replica_name unless replica_name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Gets information about a specific replica. - # @param [String] project_name - # The project ID for this request. - # @param [String] zone - # The zone where the replica lives. - # @param [String] pool_name - # The replica pool name for this request. - # @param [String] replica_name - # The name of the replica for this request. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::Replica] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::Replica] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_replica(project_name, zone, pool_name, replica_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, '{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}', options) - command.response_representation = Google::Apis::ReplicapoolV1beta1::Replica::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::Replica - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.params['replicaName'] = replica_name unless replica_name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Lists all replicas in a pool. - # @param [String] project_name - # The project ID for this request. - # @param [String] zone - # The zone where the replica pool lives. - # @param [String] pool_name - # The replica pool name for this request. - # @param [Fixnum] max_results - # Maximum count of results to be returned. Acceptable values are 0 to 100, - # inclusive. (Default: 50) - # @param [String] page_token - # Set this to the nextPageToken value returned by a previous list request to - # obtain the next page of results from the previous list request. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::ReplicasListResponse] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::ReplicasListResponse] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_replicas(project_name, zone, pool_name, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, '{projectName}/zones/{zone}/pools/{poolName}/replicas', options) - command.response_representation = Google::Apis::ReplicapoolV1beta1::ReplicasListResponse::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::ReplicasListResponse - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.query['maxResults'] = max_results unless max_results.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Restarts a replica in a pool. - # @param [String] project_name - # The project ID for this request. - # @param [String] zone - # The zone where the replica lives. - # @param [String] pool_name - # The replica pool name for this request. - # @param [String] replica_name - # The name of the replica for this request. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::ReplicapoolV1beta1::Replica] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::ReplicapoolV1beta1::Replica] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def restart_replica(project_name, zone, pool_name, replica_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:post, '{projectName}/zones/{zone}/pools/{poolName}/replicas/{replicaName}/restart', options) - command.response_representation = Google::Apis::ReplicapoolV1beta1::Replica::Representation - command.response_class = Google::Apis::ReplicapoolV1beta1::Replica - command.params['projectName'] = project_name unless project_name.nil? - command.params['zone'] = zone unless zone.nil? - command.params['poolName'] = pool_name unless pool_name.nil? - command.params['replicaName'] = replica_name unless replica_name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - protected - - def apply_command_defaults(command) - command.query['key'] = key unless key.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - end - end - end - end -end diff --git a/generated/google/apis/sourcerepo_v1.rb b/generated/google/apis/sourcerepo_v1.rb index dbd83b53b..4ef478efc 100644 --- a/generated/google/apis/sourcerepo_v1.rb +++ b/generated/google/apis/sourcerepo_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/source-repositories/docs/apis module SourcerepoV1 VERSION = 'V1' - REVISION = '20200102' + REVISION = '20200121' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/sourcerepo_v1/classes.rb b/generated/google/apis/sourcerepo_v1/classes.rb index 82293bc90..d7415fdab 100644 --- a/generated/google/apis/sourcerepo_v1/classes.rb +++ b/generated/google/apis/sourcerepo_v1/classes.rb @@ -142,10 +142,28 @@ module Google class Binding include Google::Apis::Core::Hashable - # Represents an expression text. Example: - # title: "User account presence" - # description: "Determines whether the request has a user account" - # expression: "size(request.user) > 0" + # 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::SourcerepoV1::Expr] attr_accessor :condition @@ -222,34 +240,50 @@ module Google end end - # Represents an expression text. Example: - # title: "User account presence" - # description: "Determines whether the request has a user account" - # expression: "size(request.user) > 0" + # 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 - # An optional description of the expression. This is a longer text which + # Optional. Description of the expression. This is a longer text which # describes the expression, e.g. when hovered over it in a UI. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description - # Textual representation of an expression in - # Common Expression Language syntax. - # The application context of the containing message determines which - # well-known feature set of CEL is supported. + # Textual representation of an expression in Common Expression Language + # syntax. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression - # An optional string indicating the location of the expression for error + # Optional. String indicating the location of the expression for error # reporting, e.g. a file name and a position in the file. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location - # An optional title for the expression, i.e. a short string describing + # 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`