google-api-client 0.36.1 → 0.36.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  4. data/generated/google/apis/androidenterprise_v1/classes.rb +29 -58
  5. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1/classes.rb +188 -0
  7. data/generated/google/apis/androidmanagement_v1/representations.rb +67 -0
  8. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  9. data/generated/google/apis/bigquery_v2.rb +1 -1
  10. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  11. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  12. data/generated/google/apis/bigquery_v2/service.rb +19 -2
  13. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  14. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +6 -0
  15. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +1 -0
  16. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +6 -0
  18. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  19. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  20. data/generated/google/apis/cloudbuild_v1alpha1.rb +34 -0
  21. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1174 -0
  22. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +435 -0
  23. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  24. data/generated/google/apis/compute_alpha.rb +1 -1
  25. data/generated/google/apis/compute_alpha/classes.rb +234 -240
  26. data/generated/google/apis/compute_alpha/representations.rb +7 -47
  27. data/generated/google/apis/compute_alpha/service.rb +1233 -1068
  28. data/generated/google/apis/compute_beta.rb +1 -1
  29. data/generated/google/apis/compute_beta/classes.rb +936 -164
  30. data/generated/google/apis/compute_beta/representations.rb +371 -0
  31. data/generated/google/apis/compute_beta/service.rb +1394 -899
  32. data/generated/google/apis/compute_v1.rb +1 -1
  33. data/generated/google/apis/compute_v1/classes.rb +479 -147
  34. data/generated/google/apis/compute_v1/representations.rb +127 -0
  35. data/generated/google/apis/compute_v1/service.rb +813 -748
  36. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  37. data/generated/google/apis/datacatalog_v1beta1/classes.rb +9 -7
  38. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  39. data/generated/google/apis/datacatalog_v1beta1/service.rb +8 -3
  40. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  41. data/generated/google/apis/dataflow_v1b3/classes.rb +69 -0
  42. data/generated/google/apis/dataflow_v1b3/representations.rb +34 -0
  43. data/generated/google/apis/dataproc_v1.rb +1 -1
  44. data/generated/google/apis/dataproc_v1/classes.rb +73 -43
  45. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  46. data/generated/google/apis/dataproc_v1beta2/classes.rb +73 -43
  47. data/generated/google/apis/dialogflow_v2.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2/classes.rb +44 -11
  49. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  50. data/generated/google/apis/dialogflow_v2beta1/classes.rb +44 -11
  51. data/generated/google/apis/dialogflow_v2beta1/service.rb +20 -0
  52. data/generated/google/apis/dns_v1.rb +1 -1
  53. data/generated/google/apis/dns_v1/classes.rb +70 -0
  54. data/generated/google/apis/dns_v1/representations.rb +32 -0
  55. data/generated/google/apis/dns_v2beta1.rb +1 -1
  56. data/generated/google/apis/dns_v2beta1/classes.rb +70 -0
  57. data/generated/google/apis/dns_v2beta1/representations.rb +32 -0
  58. data/generated/google/apis/docs_v1.rb +1 -1
  59. data/generated/google/apis/docs_v1/classes.rb +152 -0
  60. data/generated/google/apis/docs_v1/representations.rb +56 -0
  61. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  62. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  63. data/generated/google/apis/driveactivity_v2.rb +1 -1
  64. data/generated/google/apis/driveactivity_v2/classes.rb +6 -0
  65. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  66. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  67. data/generated/google/apis/firestore_v1.rb +1 -1
  68. data/generated/google/apis/firestore_v1/classes.rb +1 -1
  69. data/generated/google/apis/firestore_v1/service.rb +24 -22
  70. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  71. data/generated/google/apis/firestore_v1beta1/classes.rb +1 -1
  72. data/generated/google/apis/firestore_v1beta1/service.rb +16 -14
  73. data/generated/google/apis/fitness_v1.rb +11 -11
  74. data/generated/google/apis/games_management_v1management.rb +1 -1
  75. data/generated/google/apis/games_management_v1management/service.rb +5 -7
  76. data/generated/google/apis/iam_v1.rb +1 -1
  77. data/generated/google/apis/iam_v1/classes.rb +83 -141
  78. data/generated/google/apis/iam_v1/representations.rb +0 -6
  79. data/generated/google/apis/iam_v1/service.rb +11 -21
  80. data/generated/google/apis/language_v1beta2.rb +1 -1
  81. data/generated/google/apis/language_v1beta2/classes.rb +15 -0
  82. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  83. data/generated/google/apis/logging_v2.rb +3 -2
  84. data/generated/google/apis/logging_v2/service.rb +2 -1
  85. data/generated/google/apis/{surveys_v2.rb → prod_tt_sasportal_v1alpha1.rb} +9 -15
  86. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1084 -0
  87. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +503 -0
  88. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1322 -0
  89. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  90. data/generated/google/apis/recommender_v1beta1/classes.rb +6 -0
  91. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  92. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  93. data/generated/google/apis/run_v1alpha1.rb +1 -1
  94. data/generated/google/apis/run_v1alpha1/classes.rb +424 -0
  95. data/generated/google/apis/run_v1alpha1/representations.rb +161 -0
  96. data/generated/google/apis/run_v1alpha1/service.rb +862 -46
  97. data/generated/google/apis/run_v1beta1.rb +1 -1
  98. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  99. data/generated/google/apis/sasportal_v1alpha1.rb +34 -0
  100. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1084 -0
  101. data/generated/google/apis/sasportal_v1alpha1/representations.rb +503 -0
  102. data/generated/google/apis/sasportal_v1alpha1/service.rb +1322 -0
  103. data/generated/google/apis/securitycenter_v1.rb +1 -1
  104. data/generated/google/apis/securitycenter_v1/classes.rb +18 -0
  105. data/generated/google/apis/securitycenter_v1/representations.rb +3 -0
  106. data/generated/google/apis/securitycenter_v1/service.rb +6 -0
  107. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  108. data/generated/google/apis/servicemanagement_v1/classes.rb +16 -1
  109. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  110. data/generated/google/apis/sheets_v4.rb +1 -1
  111. data/generated/google/apis/sheets_v4/classes.rb +187 -2
  112. data/generated/google/apis/sheets_v4/representations.rb +47 -0
  113. data/generated/google/apis/spanner_v1.rb +1 -1
  114. data/generated/google/apis/spanner_v1/classes.rb +104 -51
  115. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  116. data/generated/google/apis/spanner_v1/service.rb +6 -1
  117. data/generated/google/apis/sql_v1beta4.rb +1 -1
  118. data/generated/google/apis/sql_v1beta4/classes.rb +75 -4
  119. data/generated/google/apis/sql_v1beta4/representations.rb +32 -0
  120. data/generated/google/apis/sql_v1beta4/service.rb +83 -2
  121. data/generated/google/apis/toolresults_v1.rb +31 -0
  122. data/generated/google/apis/toolresults_v1/classes.rb +696 -0
  123. data/generated/google/apis/toolresults_v1/representations.rb +438 -0
  124. data/generated/google/apis/toolresults_v1/service.rb +59 -0
  125. data/generated/google/apis/vision_v1.rb +1 -1
  126. data/generated/google/apis/vision_v1/service.rb +1 -1
  127. data/lib/google/apis/version.rb +1 -1
  128. metadata +19 -7
  129. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  130. data/generated/google/apis/surveys_v2/representations.rb +0 -305
  131. data/generated/google/apis/surveys_v2/service.rb +0 -348
@@ -410,14 +410,9 @@ module Google
410
410
  class LintPolicyRequest
411
411
  # @private
412
412
  class Representation < Google::Apis::Core::JsonRepresentation
413
- property :binding, as: 'binding', class: Google::Apis::IamV1::Binding, decorator: Google::Apis::IamV1::Binding::Representation
414
-
415
413
  property :condition, as: 'condition', class: Google::Apis::IamV1::Expr, decorator: Google::Apis::IamV1::Expr::Representation
416
414
 
417
- hash :context, as: 'context'
418
415
  property :full_resource_name, as: 'fullResourceName'
419
- property :policy, as: 'policy', class: Google::Apis::IamV1::Policy, decorator: Google::Apis::IamV1::Policy::Representation
420
-
421
416
  end
422
417
  end
423
418
 
@@ -432,7 +427,6 @@ module Google
432
427
  class LintResult
433
428
  # @private
434
429
  class Representation < Google::Apis::Core::JsonRepresentation
435
- property :binding_ordinal, as: 'bindingOrdinal'
436
430
  property :debug_message, as: 'debugMessage'
437
431
  property :field_name, as: 'fieldName'
438
432
  property :level, as: 'level'
@@ -50,21 +50,11 @@ module Google
50
50
  end
51
51
 
52
52
  # Lints a Cloud IAM policy object or its sub fields. Currently supports
53
- # google.iam.v1.Policy, google.iam.v1.Binding and
54
53
  # google.iam.v1.Binding.condition.
55
54
  # Each lint operation consists of multiple lint validation units.
56
- # Validation units have the following properties:
57
- # - Each unit inspects the input object in regard to a particular
58
- # linting aspect and issues a google.iam.admin.v1.LintResult
59
- # disclosing the result.
60
- # - Domain of discourse of each unit can be either
61
- # google.iam.v1.Policy, google.iam.v1.Binding, or
62
- # google.iam.v1.Binding.condition depending on the purpose of the
63
- # validation.
64
- # - A unit may require additional data (like the list of all possible
65
- # enumerable values of a particular attribute used in the policy instance)
66
- # which shall be provided by the caller. Refer to the comments of
67
- # google.iam.admin.v1.LintPolicyRequest.context for more details.
55
+ # Each unit inspects the input object in regard to a particular linting
56
+ # aspect and issues a google.iam.admin.v1.LintResult disclosing the
57
+ # result.
68
58
  # The set of applicable validation units is determined by the Cloud IAM
69
59
  # server and is not configurable.
70
60
  # Regardless of any lint issues or their severities, successful calls to
@@ -867,7 +857,7 @@ module Google
867
857
 
868
858
  # Deletes a ServiceAccount.
869
859
  # @param [String] name
870
- # The resource name of the service account in the following format:
860
+ # Required. The resource name of the service account in the following format:
871
861
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``.
872
862
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
873
863
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -995,7 +985,7 @@ module Google
995
985
 
996
986
  # Gets a ServiceAccount.
997
987
  # @param [String] name
998
- # The resource name of the service account in the following format:
988
+ # Required. The resource name of the service account in the following format:
999
989
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``.
1000
990
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1001
991
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -1218,7 +1208,7 @@ module Google
1218
1208
  # method of the Cloud IAM Service Account Credentials API instead.
1219
1209
  # Signs a blob using a service account's system-managed private key.
1220
1210
  # @param [String] name
1221
- # The resource name of the service account in the following format:
1211
+ # Required. The resource name of the service account in the following format:
1222
1212
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``.
1223
1213
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1224
1214
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -1262,7 +1252,7 @@ module Google
1262
1252
  # an expiry time of one hour by default. If you request an expiry time of
1263
1253
  # more than one hour, the request will fail.
1264
1254
  # @param [String] name
1265
- # The resource name of the service account in the following format:
1255
+ # Required. The resource name of the service account in the following format:
1266
1256
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``.
1267
1257
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1268
1258
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -1416,7 +1406,7 @@ module Google
1416
1406
  # Creates a ServiceAccountKey
1417
1407
  # and returns it.
1418
1408
  # @param [String] name
1419
- # The resource name of the service account in the following format:
1409
+ # Required. The resource name of the service account in the following format:
1420
1410
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``.
1421
1411
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1422
1412
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -1453,7 +1443,7 @@ module Google
1453
1443
 
1454
1444
  # Deletes a ServiceAccountKey.
1455
1445
  # @param [String] name
1456
- # The resource name of the service account key in the following format:
1446
+ # Required. The resource name of the service account key in the following format:
1457
1447
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT`/keys/`key``.
1458
1448
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1459
1449
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -1488,7 +1478,7 @@ module Google
1488
1478
  # Gets the ServiceAccountKey
1489
1479
  # by key id.
1490
1480
  # @param [String] name
1491
- # The resource name of the service account key in the following format:
1481
+ # Required. The resource name of the service account key in the following format:
1492
1482
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT`/keys/`key``.
1493
1483
  # Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1494
1484
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -1526,7 +1516,7 @@ module Google
1526
1516
 
1527
1517
  # Lists ServiceAccountKeys.
1528
1518
  # @param [String] name
1529
- # The resource name of the service account in the following format:
1519
+ # Required. The resource name of the service account in the following format:
1530
1520
  # `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``.
1531
1521
  # Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from
1532
1522
  # the account. The `ACCOUNT` value can be the `email` address or the
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/natural-language/
28
28
  module LanguageV1beta2
29
29
  VERSION = 'V1beta2'
30
- REVISION = '20190704'
30
+ REVISION = '20191214'
31
31
 
32
32
  # Apply machine learning models to reveal the structure and meaning of text
33
33
  AUTH_CLOUD_LANGUAGE = 'https://www.googleapis.com/auth/cloud-language'
@@ -442,6 +442,13 @@ module Google
442
442
  class Document
443
443
  include Google::Apis::Core::Hashable
444
444
 
445
+ # Indicates how detected boilerplate(e.g. advertisements, copyright
446
+ # declarations, banners) should be handled for this document. If not
447
+ # specified, boilerplate will be treated the same as content.
448
+ # Corresponds to the JSON property `boilerplateHandling`
449
+ # @return [String]
450
+ attr_accessor :boilerplate_handling
451
+
445
452
  # The content of the input in string format.
446
453
  # Cloud audit logging exempt since it is based on user data.
447
454
  # Corresponds to the JSON property `content`
@@ -468,6 +475,12 @@ module Google
468
475
  # @return [String]
469
476
  attr_accessor :language
470
477
 
478
+ # The web URI where the document comes from. This URI is not used for
479
+ # fetching the content, but as a hint for analyzing the document.
480
+ # Corresponds to the JSON property `referenceWebUri`
481
+ # @return [String]
482
+ attr_accessor :reference_web_uri
483
+
471
484
  # Required. If the type is not set or is `TYPE_UNSPECIFIED`,
472
485
  # returns an `INVALID_ARGUMENT` error.
473
486
  # Corresponds to the JSON property `type`
@@ -480,9 +493,11 @@ module Google
480
493
 
481
494
  # Update properties of this object
482
495
  def update!(**args)
496
+ @boilerplate_handling = args[:boilerplate_handling] if args.key?(:boilerplate_handling)
483
497
  @content = args[:content] if args.key?(:content)
484
498
  @gcs_content_uri = args[:gcs_content_uri] if args.key?(:gcs_content_uri)
485
499
  @language = args[:language] if args.key?(:language)
500
+ @reference_web_uri = args[:reference_web_uri] if args.key?(:reference_web_uri)
486
501
  @type = args[:type] if args.key?(:type)
487
502
  end
488
503
  end
@@ -305,9 +305,11 @@ module Google
305
305
  class Document
306
306
  # @private
307
307
  class Representation < Google::Apis::Core::JsonRepresentation
308
+ property :boilerplate_handling, as: 'boilerplateHandling'
308
309
  property :content, as: 'content'
309
310
  property :gcs_content_uri, as: 'gcsContentUri'
310
311
  property :language, as: 'language'
312
+ property :reference_web_uri, as: 'referenceWebUri'
311
313
  property :type, as: 'type'
312
314
  end
313
315
  end
@@ -23,12 +23,13 @@ module Google
23
23
  # Writes log entries and manages your Stackdriver Logging configuration. The
24
24
  # table entries below are presented in alphabetical order, not in order of
25
25
  # common use. For explanations of the concepts found in the table entries, read
26
- # the Stackdriver Logging documentation.
26
+ # the <a href=https://cloud.google.com/logging/docs>Stackdriver Logging
27
+ # documentation</a>.
27
28
  #
28
29
  # @see https://cloud.google.com/logging/docs/
29
30
  module LoggingV2
30
31
  VERSION = 'V2'
31
- REVISION = '20191206'
32
+ REVISION = '20191214'
32
33
 
33
34
  # View and manage your data across Google Cloud Platform services
34
35
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -25,7 +25,8 @@ module Google
25
25
  # Writes log entries and manages your Stackdriver Logging configuration. The
26
26
  # table entries below are presented in alphabetical order, not in order of
27
27
  # common use. For explanations of the concepts found in the table entries, read
28
- # the Stackdriver Logging documentation.
28
+ # the <a href=https://cloud.google.com/logging/docs>Stackdriver Logging
29
+ # documentation</a>.
29
30
  #
30
31
  # @example
31
32
  # require 'google/apis/logging_v2'
@@ -12,26 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/surveys_v2/service.rb'
16
- require 'google/apis/surveys_v2/classes.rb'
17
- require 'google/apis/surveys_v2/representations.rb'
15
+ require 'google/apis/prod_tt_sasportal_v1alpha1/service.rb'
16
+ require 'google/apis/prod_tt_sasportal_v1alpha1/classes.rb'
17
+ require 'google/apis/prod_tt_sasportal_v1alpha1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Surveys API
21
+ # SAS Portal API (Testing)
22
22
  #
23
- # Creates and conducts surveys, lists the surveys that an authenticated user
24
- # owns, and retrieves survey results and information about specified surveys.
23
+ #
25
24
  #
26
- module SurveysV2
27
- VERSION = 'V2'
28
- REVISION = '20180508'
29
-
30
- # View and manage your surveys and results
31
- AUTH_SURVEYS = 'https://www.googleapis.com/auth/surveys'
32
-
33
- # View your surveys and survey results
34
- AUTH_SURVEYS_READONLY = 'https://www.googleapis.com/auth/surveys.readonly'
25
+ # @see https://developers.google.com/spectrum-access-system/
26
+ module ProdTtSasportalV1alpha1
27
+ VERSION = 'V1alpha1'
28
+ REVISION = '20191217'
35
29
 
36
30
  # View your email address
37
31
  AUTH_USERINFO_EMAIL = 'https://www.googleapis.com/auth/userinfo.email'
@@ -0,0 +1,1084 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ProdTtSasportalV1alpha1
24
+
25
+ # Associates `members` with a `role`.
26
+ class SasPortalAssignment
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The identities the role is assigned to. It can have the following
30
+ # values:
31
+ # * ``user_email``: An email address that represents a specific
32
+ # Google account. For example: `alice@gmail.com`.
33
+ # * ``group_email``: An email address that represents a Google
34
+ # group. For example, `viewers@gmail.com`.
35
+ # Corresponds to the JSON property `members`
36
+ # @return [Array<String>]
37
+ attr_accessor :members
38
+
39
+ # Required. Role that is assigned to `members`.
40
+ # Corresponds to the JSON property `role`
41
+ # @return [String]
42
+ attr_accessor :role
43
+
44
+ def initialize(**args)
45
+ update!(**args)
46
+ end
47
+
48
+ # Update properties of this object
49
+ def update!(**args)
50
+ @members = args[:members] if args.key?(:members)
51
+ @role = args[:role] if args.key?(:role)
52
+ end
53
+ end
54
+
55
+ # Request for CreateSignedDevice method.
56
+ class SasPortalCreateSignedDeviceRequest
57
+ include Google::Apis::Core::Hashable
58
+
59
+ # Required. JSON Web Token signed using a CPI private key. Payload
60
+ # must be the JSON encoding of the [Device].
61
+ # Corresponds to the JSON property `encodedDevice`
62
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
63
+ # @return [String]
64
+ attr_accessor :encoded_device
65
+
66
+ # Required. Unique installer id (cpiId) from the Certified Professional
67
+ # Installers database.
68
+ # Corresponds to the JSON property `installerId`
69
+ # @return [String]
70
+ attr_accessor :installer_id
71
+
72
+ def initialize(**args)
73
+ update!(**args)
74
+ end
75
+
76
+ # Update properties of this object
77
+ def update!(**args)
78
+ @encoded_device = args[:encoded_device] if args.key?(:encoded_device)
79
+ @installer_id = args[:installer_id] if args.key?(:installer_id)
80
+ end
81
+ end
82
+
83
+ # Entity representing a SAS customer.
84
+ class SasPortalCustomer
85
+ include Google::Apis::Core::Hashable
86
+
87
+ # Required. Name of the organization that the customer entity represents.
88
+ # Corresponds to the JSON property `displayName`
89
+ # @return [String]
90
+ attr_accessor :display_name
91
+
92
+ # Output only. Resource name of the customer.
93
+ # Corresponds to the JSON property `name`
94
+ # @return [String]
95
+ attr_accessor :name
96
+
97
+ # User IDs used by the devices belonging to this customer.
98
+ # Corresponds to the JSON property `sasUserIds`
99
+ # @return [Array<String>]
100
+ attr_accessor :sas_user_ids
101
+
102
+ def initialize(**args)
103
+ update!(**args)
104
+ end
105
+
106
+ # Update properties of this object
107
+ def update!(**args)
108
+ @display_name = args[:display_name] if args.key?(:display_name)
109
+ @name = args[:name] if args.key?(:name)
110
+ @sas_user_ids = args[:sas_user_ids] if args.key?(:sas_user_ids)
111
+ end
112
+ end
113
+
114
+ #
115
+ class SasPortalDevice
116
+ include Google::Apis::Core::Hashable
117
+
118
+ # Information about the device configuration.
119
+ # Corresponds to the JSON property `activeConfig`
120
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig]
121
+ attr_accessor :active_config
122
+
123
+ # Device display name.
124
+ # Corresponds to the JSON property `displayName`
125
+ # @return [String]
126
+ attr_accessor :display_name
127
+
128
+ # The FCC identifier of the device.
129
+ # Corresponds to the JSON property `fccId`
130
+ # @return [String]
131
+ attr_accessor :fcc_id
132
+
133
+ # Output only. Grants held by the device.
134
+ # Corresponds to the JSON property `grants`
135
+ # @return [Array<Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceGrant>]
136
+ attr_accessor :grants
137
+
138
+ # Output only. The resource path name.
139
+ # Corresponds to the JSON property `name`
140
+ # @return [String]
141
+ attr_accessor :name
142
+
143
+ # Information about the device configuration.
144
+ # Corresponds to the JSON property `preloadedConfig`
145
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig]
146
+ attr_accessor :preloaded_config
147
+
148
+ # A serial number assigned to the device by the device
149
+ # manufacturer.
150
+ # Corresponds to the JSON property `serialNumber`
151
+ # @return [String]
152
+ attr_accessor :serial_number
153
+
154
+ # Output only. Device state.
155
+ # Corresponds to the JSON property `state`
156
+ # @return [String]
157
+ attr_accessor :state
158
+
159
+ def initialize(**args)
160
+ update!(**args)
161
+ end
162
+
163
+ # Update properties of this object
164
+ def update!(**args)
165
+ @active_config = args[:active_config] if args.key?(:active_config)
166
+ @display_name = args[:display_name] if args.key?(:display_name)
167
+ @fcc_id = args[:fcc_id] if args.key?(:fcc_id)
168
+ @grants = args[:grants] if args.key?(:grants)
169
+ @name = args[:name] if args.key?(:name)
170
+ @preloaded_config = args[:preloaded_config] if args.key?(:preloaded_config)
171
+ @serial_number = args[:serial_number] if args.key?(:serial_number)
172
+ @state = args[:state] if args.key?(:state)
173
+ end
174
+ end
175
+
176
+ # Information about the device's air interface.
177
+ class SasPortalDeviceAirInterface
178
+ include Google::Apis::Core::Hashable
179
+
180
+ # This field specifies the radio access technology that is used for the CBSD.
181
+ # Conditional
182
+ # Corresponds to the JSON property `radioTechnology`
183
+ # @return [String]
184
+ attr_accessor :radio_technology
185
+
186
+ # This field is related to the radioTechnology field and provides the air
187
+ # interface specification that the CBSD is compliant with at the time of
188
+ # registration.
189
+ # Optional
190
+ # Corresponds to the JSON property `supportedSpec`
191
+ # @return [String]
192
+ attr_accessor :supported_spec
193
+
194
+ def initialize(**args)
195
+ update!(**args)
196
+ end
197
+
198
+ # Update properties of this object
199
+ def update!(**args)
200
+ @radio_technology = args[:radio_technology] if args.key?(:radio_technology)
201
+ @supported_spec = args[:supported_spec] if args.key?(:supported_spec)
202
+ end
203
+ end
204
+
205
+ # Information about the device configuration.
206
+ class SasPortalDeviceConfig
207
+ include Google::Apis::Core::Hashable
208
+
209
+ # Information about the device's air interface.
210
+ # Corresponds to the JSON property `airInterface`
211
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceAirInterface]
212
+ attr_accessor :air_interface
213
+
214
+ # The call sign of the device operator.
215
+ # Corresponds to the JSON property `callSign`
216
+ # @return [String]
217
+ attr_accessor :call_sign
218
+
219
+ # FCC category of the device.
220
+ # Corresponds to the JSON property `category`
221
+ # @return [String]
222
+ attr_accessor :category
223
+
224
+ # Information about the device installation parameters.
225
+ # Corresponds to the JSON property `installationParams`
226
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalInstallationParams]
227
+ attr_accessor :installation_params
228
+
229
+ # Output-only. Whether the configuration has been signed by a CPI.
230
+ # Corresponds to the JSON property `isSigned`
231
+ # @return [Boolean]
232
+ attr_accessor :is_signed
233
+ alias_method :is_signed?, :is_signed
234
+
235
+ # Measurement reporting capabilities of the device.
236
+ # Corresponds to the JSON property `measurementCapabilities`
237
+ # @return [Array<String>]
238
+ attr_accessor :measurement_capabilities
239
+
240
+ # Information about the model of the device.
241
+ # Corresponds to the JSON property `model`
242
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceModel]
243
+ attr_accessor :model
244
+
245
+ # State of the configuration.
246
+ # Corresponds to the JSON property `state`
247
+ # @return [String]
248
+ attr_accessor :state
249
+
250
+ # Output-only. The last time the device configuration was edited.
251
+ # Corresponds to the JSON property `updateTime`
252
+ # @return [String]
253
+ attr_accessor :update_time
254
+
255
+ # Output only. The identifier of a device user.
256
+ # Corresponds to the JSON property `userId`
257
+ # @return [String]
258
+ attr_accessor :user_id
259
+
260
+ def initialize(**args)
261
+ update!(**args)
262
+ end
263
+
264
+ # Update properties of this object
265
+ def update!(**args)
266
+ @air_interface = args[:air_interface] if args.key?(:air_interface)
267
+ @call_sign = args[:call_sign] if args.key?(:call_sign)
268
+ @category = args[:category] if args.key?(:category)
269
+ @installation_params = args[:installation_params] if args.key?(:installation_params)
270
+ @is_signed = args[:is_signed] if args.key?(:is_signed)
271
+ @measurement_capabilities = args[:measurement_capabilities] if args.key?(:measurement_capabilities)
272
+ @model = args[:model] if args.key?(:model)
273
+ @state = args[:state] if args.key?(:state)
274
+ @update_time = args[:update_time] if args.key?(:update_time)
275
+ @user_id = args[:user_id] if args.key?(:user_id)
276
+ end
277
+ end
278
+
279
+ # Device grant. It is an authorization provided by the Spectrum
280
+ # Access System to a device to transmit using specified operating
281
+ # parameters after a successful heartbeat by the device.
282
+ class SasPortalDeviceGrant
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # Type of channel used.
286
+ # Corresponds to the JSON property `channelType`
287
+ # @return [String]
288
+ attr_accessor :channel_type
289
+
290
+ # The expiration time of the grant.
291
+ # Corresponds to the JSON property `expireTime`
292
+ # @return [String]
293
+ attr_accessor :expire_time
294
+
295
+ # Frequency range from `low_frequency` to `high_frequency`.
296
+ # Corresponds to the JSON property `frequencyRange`
297
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalFrequencyRange]
298
+ attr_accessor :frequency_range
299
+
300
+ # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
301
+ # by the grant. The maximum EIRP is in units of dBm/MHz. The
302
+ # value of maxEirp represents the average (RMS) EIRP that would be
303
+ # measured by the procedure defined in FCC part 96.41(e)(3).
304
+ # Corresponds to the JSON property `maxEirp`
305
+ # @return [Float]
306
+ attr_accessor :max_eirp
307
+
308
+ # The DPA move lists on which this grant appears.
309
+ # Corresponds to the JSON property `moveList`
310
+ # @return [Array<Google::Apis::ProdTtSasportalV1alpha1::SasPortalDpaMoveList>]
311
+ attr_accessor :move_list
312
+
313
+ # State of the grant.
314
+ # Corresponds to the JSON property `state`
315
+ # @return [String]
316
+ attr_accessor :state
317
+
318
+ def initialize(**args)
319
+ update!(**args)
320
+ end
321
+
322
+ # Update properties of this object
323
+ def update!(**args)
324
+ @channel_type = args[:channel_type] if args.key?(:channel_type)
325
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
326
+ @frequency_range = args[:frequency_range] if args.key?(:frequency_range)
327
+ @max_eirp = args[:max_eirp] if args.key?(:max_eirp)
328
+ @move_list = args[:move_list] if args.key?(:move_list)
329
+ @state = args[:state] if args.key?(:state)
330
+ end
331
+ end
332
+
333
+ # Information about the model of the device.
334
+ class SasPortalDeviceModel
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # The firmware version of the device.
338
+ # Corresponds to the JSON property `firmwareVersion`
339
+ # @return [String]
340
+ attr_accessor :firmware_version
341
+
342
+ # The hardware version of the device.
343
+ # Corresponds to the JSON property `hardwareVersion`
344
+ # @return [String]
345
+ attr_accessor :hardware_version
346
+
347
+ # The name of the device model.
348
+ # Corresponds to the JSON property `name`
349
+ # @return [String]
350
+ attr_accessor :name
351
+
352
+ # The software version of the device.
353
+ # Corresponds to the JSON property `softwareVersion`
354
+ # @return [String]
355
+ attr_accessor :software_version
356
+
357
+ # The name of the device vendor.
358
+ # Corresponds to the JSON property `vendor`
359
+ # @return [String]
360
+ attr_accessor :vendor
361
+
362
+ def initialize(**args)
363
+ update!(**args)
364
+ end
365
+
366
+ # Update properties of this object
367
+ def update!(**args)
368
+ @firmware_version = args[:firmware_version] if args.key?(:firmware_version)
369
+ @hardware_version = args[:hardware_version] if args.key?(:hardware_version)
370
+ @name = args[:name] if args.key?(:name)
371
+ @software_version = args[:software_version] if args.key?(:software_version)
372
+ @vendor = args[:vendor] if args.key?(:vendor)
373
+ end
374
+ end
375
+
376
+ # An entry in a DPA's move list.
377
+ class SasPortalDpaMoveList
378
+ include Google::Apis::Core::Hashable
379
+
380
+ # The ID of the DPA.
381
+ # Corresponds to the JSON property `dpaId`
382
+ # @return [String]
383
+ attr_accessor :dpa_id
384
+
385
+ # Frequency range from `low_frequency` to `high_frequency`.
386
+ # Corresponds to the JSON property `frequencyRange`
387
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalFrequencyRange]
388
+ attr_accessor :frequency_range
389
+
390
+ def initialize(**args)
391
+ update!(**args)
392
+ end
393
+
394
+ # Update properties of this object
395
+ def update!(**args)
396
+ @dpa_id = args[:dpa_id] if args.key?(:dpa_id)
397
+ @frequency_range = args[:frequency_range] if args.key?(:frequency_range)
398
+ end
399
+ end
400
+
401
+ # A generic empty message that you can re-use to avoid defining duplicated
402
+ # empty messages in your APIs. A typical example is to use it as the request
403
+ # or the response type of an API method. For instance:
404
+ # service Foo `
405
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
406
+ # `
407
+ # The JSON representation for `Empty` is empty JSON object ````.
408
+ class SasPortalEmpty
409
+ include Google::Apis::Core::Hashable
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ end
418
+ end
419
+
420
+ # Frequency range from `low_frequency` to `high_frequency`.
421
+ class SasPortalFrequencyRange
422
+ include Google::Apis::Core::Hashable
423
+
424
+ # The highest frequency of the frequency range in MHz.
425
+ # Corresponds to the JSON property `highFrequencyMhz`
426
+ # @return [Float]
427
+ attr_accessor :high_frequency_mhz
428
+
429
+ # The lowest frequency of the frequency range in MHz.
430
+ # Corresponds to the JSON property `lowFrequencyMhz`
431
+ # @return [Float]
432
+ attr_accessor :low_frequency_mhz
433
+
434
+ def initialize(**args)
435
+ update!(**args)
436
+ end
437
+
438
+ # Update properties of this object
439
+ def update!(**args)
440
+ @high_frequency_mhz = args[:high_frequency_mhz] if args.key?(:high_frequency_mhz)
441
+ @low_frequency_mhz = args[:low_frequency_mhz] if args.key?(:low_frequency_mhz)
442
+ end
443
+ end
444
+
445
+ # Request for GenerateSecret method]
446
+ # [spectrum.sas.portal.v1alpha1.DeviceManager.GenerateSecret].
447
+ class SasPortalGenerateSecretRequest
448
+ include Google::Apis::Core::Hashable
449
+
450
+ def initialize(**args)
451
+ update!(**args)
452
+ end
453
+
454
+ # Update properties of this object
455
+ def update!(**args)
456
+ end
457
+ end
458
+
459
+ # Response for GenerateSecret method.
460
+ class SasPortalGenerateSecretResponse
461
+ include Google::Apis::Core::Hashable
462
+
463
+ # The secret generated by the string and used by
464
+ # [ValidateInstaller] method.
465
+ # Corresponds to the JSON property `secret`
466
+ # @return [String]
467
+ attr_accessor :secret
468
+
469
+ def initialize(**args)
470
+ update!(**args)
471
+ end
472
+
473
+ # Update properties of this object
474
+ def update!(**args)
475
+ @secret = args[:secret] if args.key?(:secret)
476
+ end
477
+ end
478
+
479
+ # Request message for `GetPolicy` method.
480
+ class SasPortalGetPolicyRequest
481
+ include Google::Apis::Core::Hashable
482
+
483
+ # Required. The resource for which the policy is being requested.
484
+ # Corresponds to the JSON property `resource`
485
+ # @return [String]
486
+ attr_accessor :resource
487
+
488
+ def initialize(**args)
489
+ update!(**args)
490
+ end
491
+
492
+ # Update properties of this object
493
+ def update!(**args)
494
+ @resource = args[:resource] if args.key?(:resource)
495
+ end
496
+ end
497
+
498
+ # Information about the device installation parameters.
499
+ class SasPortalInstallationParams
500
+ include Google::Apis::Core::Hashable
501
+
502
+ # Boresight direction of the horizontal plane of the antenna in
503
+ # degrees with respect to true north. The value of this parameter
504
+ # is an integer with a value between 0 and 359 inclusive. A value
505
+ # of 0 degrees means true north; a value of 90 degrees means
506
+ # east. This parameter is optional for Category A devices and
507
+ # conditional for Category B devices.
508
+ # Corresponds to the JSON property `antennaAzimuth`
509
+ # @return [Fixnum]
510
+ attr_accessor :antenna_azimuth
511
+
512
+ # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
513
+ # degrees. This parameter is an unsigned integer having a value
514
+ # between 0 and 360 (degrees) inclusive; it is optional for
515
+ # Category A devices and conditional for Category B devices.
516
+ # Corresponds to the JSON property `antennaBeamwidth`
517
+ # @return [Fixnum]
518
+ attr_accessor :antenna_beamwidth
519
+
520
+ # Antenna downtilt in degrees and is an integer with a value
521
+ # between -90 and +90 inclusive; a negative value means the antenna
522
+ # is tilted up (above horizontal). This parameter is optional for
523
+ # Category A devices and conditional for Category B devices.
524
+ # Corresponds to the JSON property `antennaDowntilt`
525
+ # @return [Fixnum]
526
+ attr_accessor :antenna_downtilt
527
+
528
+ # Peak antenna gain in dBi. This parameter is an integer with a
529
+ # value between -127 and +128 (dBi) inclusive.
530
+ # Corresponds to the JSON property `antennaGain`
531
+ # @return [Fixnum]
532
+ attr_accessor :antenna_gain
533
+
534
+ # If an external antenna is used, the antenna model is optionally
535
+ # provided in this field. The string has a maximum length of 128
536
+ # octets.
537
+ # Corresponds to the JSON property `antennaModel`
538
+ # @return [String]
539
+ attr_accessor :antenna_model
540
+
541
+ # This parameter is the maximum device EIRP in units of dBm/10MHz
542
+ # and is an integer with a value between -127 and +47 (dBm/10 MHz)
543
+ # inclusive. If not included, SAS interprets it as maximum
544
+ # allowable EIRP in units of dBm/10MHz for device category.
545
+ # Corresponds to the JSON property `eirpCapability`
546
+ # @return [Fixnum]
547
+ attr_accessor :eirp_capability
548
+
549
+ # Device antenna height in meters. When the heightType parameter
550
+ # value is "AGL", the antenna height should be given relative to
551
+ # ground level. When the heightType parameter value is "AMSL", it
552
+ # is given with respect to WGS84 datum.
553
+ # Corresponds to the JSON property `height`
554
+ # @return [Float]
555
+ attr_accessor :height
556
+
557
+ # Specifies how the height is measured.
558
+ # Corresponds to the JSON property `heightType`
559
+ # @return [String]
560
+ attr_accessor :height_type
561
+
562
+ # A positive number in meters to indicate accuracy of the device
563
+ # antenna horizontal location. This optional parameter should only
564
+ # be present if its value is less than the FCC requirement of 50
565
+ # meters.
566
+ # Corresponds to the JSON property `horizontalAccuracy`
567
+ # @return [Float]
568
+ attr_accessor :horizontal_accuracy
569
+
570
+ # Whether the device antenna is indoor or not. True: indoor. False:
571
+ # outdoor.
572
+ # Corresponds to the JSON property `indoorDeployment`
573
+ # @return [Boolean]
574
+ attr_accessor :indoor_deployment
575
+ alias_method :indoor_deployment?, :indoor_deployment
576
+
577
+ # Latitude of the device antenna location in degrees relative to
578
+ # the WGS 84 datum. The allowed range is from -90.000000 to
579
+ # +90.000000. Positive values represent latitudes north of the
580
+ # equator; negative values south of the equator.
581
+ # Corresponds to the JSON property `latitude`
582
+ # @return [Float]
583
+ attr_accessor :latitude
584
+
585
+ # Longitude of the device antenna location. in degrees relative to
586
+ # the WGS 84 datum. The allowed range is from -180.000000 to
587
+ # +180.000000. Positive values represent longitudes east of the
588
+ # prime meridian; negative values west of the prime
589
+ # meridian.
590
+ # Corresponds to the JSON property `longitude`
591
+ # @return [Float]
592
+ attr_accessor :longitude
593
+
594
+ # A positive number in meters to indicate accuracy of the device
595
+ # antenna vertical location. This optional parameter should only be
596
+ # present if its value is less than the FCC requirement of 3
597
+ # meters.
598
+ # Corresponds to the JSON property `verticalAccuracy`
599
+ # @return [Float]
600
+ attr_accessor :vertical_accuracy
601
+
602
+ def initialize(**args)
603
+ update!(**args)
604
+ end
605
+
606
+ # Update properties of this object
607
+ def update!(**args)
608
+ @antenna_azimuth = args[:antenna_azimuth] if args.key?(:antenna_azimuth)
609
+ @antenna_beamwidth = args[:antenna_beamwidth] if args.key?(:antenna_beamwidth)
610
+ @antenna_downtilt = args[:antenna_downtilt] if args.key?(:antenna_downtilt)
611
+ @antenna_gain = args[:antenna_gain] if args.key?(:antenna_gain)
612
+ @antenna_model = args[:antenna_model] if args.key?(:antenna_model)
613
+ @eirp_capability = args[:eirp_capability] if args.key?(:eirp_capability)
614
+ @height = args[:height] if args.key?(:height)
615
+ @height_type = args[:height_type] if args.key?(:height_type)
616
+ @horizontal_accuracy = args[:horizontal_accuracy] if args.key?(:horizontal_accuracy)
617
+ @indoor_deployment = args[:indoor_deployment] if args.key?(:indoor_deployment)
618
+ @latitude = args[:latitude] if args.key?(:latitude)
619
+ @longitude = args[:longitude] if args.key?(:longitude)
620
+ @vertical_accuracy = args[:vertical_accuracy] if args.key?(:vertical_accuracy)
621
+ end
622
+ end
623
+
624
+ # Response for `ListCustomers`.
625
+ class SasPortalListCustomersResponse
626
+ include Google::Apis::Core::Hashable
627
+
628
+ # The list of customers that
629
+ # match the request.
630
+ # Corresponds to the JSON property `customers`
631
+ # @return [Array<Google::Apis::ProdTtSasportalV1alpha1::SasPortalCustomer>]
632
+ attr_accessor :customers
633
+
634
+ # A pagination token returned from a previous call to ListCustomers method that
635
+ # indicates from
636
+ # where listing should continue. If the field is missing or empty, it means
637
+ # there are no more customers.
638
+ # Corresponds to the JSON property `nextPageToken`
639
+ # @return [String]
640
+ attr_accessor :next_page_token
641
+
642
+ def initialize(**args)
643
+ update!(**args)
644
+ end
645
+
646
+ # Update properties of this object
647
+ def update!(**args)
648
+ @customers = args[:customers] if args.key?(:customers)
649
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
650
+ end
651
+ end
652
+
653
+ # Response for ListDevices method.
654
+ class SasPortalListDevicesResponse
655
+ include Google::Apis::Core::Hashable
656
+
657
+ # The devices that match the request.
658
+ # Corresponds to the JSON property `devices`
659
+ # @return [Array<Google::Apis::ProdTtSasportalV1alpha1::SasPortalDevice>]
660
+ attr_accessor :devices
661
+
662
+ # A pagination token returned from a previous call to ListDevices method
663
+ # that indicates from where listing should continue. If the field
664
+ # is missing or empty, it means there is no more devices.
665
+ # Corresponds to the JSON property `nextPageToken`
666
+ # @return [String]
667
+ attr_accessor :next_page_token
668
+
669
+ def initialize(**args)
670
+ update!(**args)
671
+ end
672
+
673
+ # Update properties of this object
674
+ def update!(**args)
675
+ @devices = args[:devices] if args.key?(:devices)
676
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
677
+ end
678
+ end
679
+
680
+ # Response for ListNodes method.
681
+ class SasPortalListNodesResponse
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # A pagination token returned from a previous call to
685
+ # ListNodes method
686
+ # that indicates from where listing should continue. If the field is missing
687
+ # or empty, it means there is no more nodes.
688
+ # Corresponds to the JSON property `nextPageToken`
689
+ # @return [String]
690
+ attr_accessor :next_page_token
691
+
692
+ # The nodes that match the request.
693
+ # Corresponds to the JSON property `nodes`
694
+ # @return [Array<Google::Apis::ProdTtSasportalV1alpha1::SasPortalNode>]
695
+ attr_accessor :nodes
696
+
697
+ def initialize(**args)
698
+ update!(**args)
699
+ end
700
+
701
+ # Update properties of this object
702
+ def update!(**args)
703
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
704
+ @nodes = args[:nodes] if args.key?(:nodes)
705
+ end
706
+ end
707
+
708
+ # Request for MoveDevice method.
709
+ class SasPortalMoveDeviceRequest
710
+ include Google::Apis::Core::Hashable
711
+
712
+ # Required. The name of the new parent resource (Node or Customer) to
713
+ # reparent the device under.
714
+ # Corresponds to the JSON property `destination`
715
+ # @return [String]
716
+ attr_accessor :destination
717
+
718
+ def initialize(**args)
719
+ update!(**args)
720
+ end
721
+
722
+ # Update properties of this object
723
+ def update!(**args)
724
+ @destination = args[:destination] if args.key?(:destination)
725
+ end
726
+ end
727
+
728
+ # Request for MoveNode method.
729
+ class SasPortalMoveNodeRequest
730
+ include Google::Apis::Core::Hashable
731
+
732
+ # Required. The name of the new parent resource node or Customer) to reparent
733
+ # the node under.
734
+ # Corresponds to the JSON property `destination`
735
+ # @return [String]
736
+ attr_accessor :destination
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @destination = args[:destination] if args.key?(:destination)
745
+ end
746
+ end
747
+
748
+ # The Node.
749
+ class SasPortalNode
750
+ include Google::Apis::Core::Hashable
751
+
752
+ # The node's display name.
753
+ # Corresponds to the JSON property `displayName`
754
+ # @return [String]
755
+ attr_accessor :display_name
756
+
757
+ # Output only. Resource name.
758
+ # Corresponds to the JSON property `name`
759
+ # @return [String]
760
+ attr_accessor :name
761
+
762
+ # User ids used by the devices belonging to this node.
763
+ # Corresponds to the JSON property `sasUserIds`
764
+ # @return [Array<String>]
765
+ attr_accessor :sas_user_ids
766
+
767
+ def initialize(**args)
768
+ update!(**args)
769
+ end
770
+
771
+ # Update properties of this object
772
+ def update!(**args)
773
+ @display_name = args[:display_name] if args.key?(:display_name)
774
+ @name = args[:name] if args.key?(:name)
775
+ @sas_user_ids = args[:sas_user_ids] if args.key?(:sas_user_ids)
776
+ end
777
+ end
778
+
779
+ # This resource represents a long-running operation that is the result of a
780
+ # network API call.
781
+ class SasPortalOperation
782
+ include Google::Apis::Core::Hashable
783
+
784
+ # If the value is `false`, it means the operation is still in progress.
785
+ # If `true`, the operation is completed, and either `error` or `response` is
786
+ # available.
787
+ # Corresponds to the JSON property `done`
788
+ # @return [Boolean]
789
+ attr_accessor :done
790
+ alias_method :done?, :done
791
+
792
+ # The `Status` type defines a logical error model that is suitable for
793
+ # different programming environments, including REST APIs and RPC APIs. It is
794
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
795
+ # three pieces of data: error code, error message, and error details.
796
+ # You can find out more about this error model and how to work with it in the
797
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
798
+ # Corresponds to the JSON property `error`
799
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalStatus]
800
+ attr_accessor :error
801
+
802
+ # Service-specific metadata associated with the operation. It typically
803
+ # contains progress information and common metadata such as create time.
804
+ # Some services might not provide such metadata. Any method that returns a
805
+ # long-running operation should document the metadata type, if any.
806
+ # Corresponds to the JSON property `metadata`
807
+ # @return [Hash<String,Object>]
808
+ attr_accessor :metadata
809
+
810
+ # The server-assigned name, which is only unique within the same service that
811
+ # originally returns it. If you use the default HTTP mapping, the
812
+ # `name` should be a resource name ending with `operations/`unique_id``.
813
+ # Corresponds to the JSON property `name`
814
+ # @return [String]
815
+ attr_accessor :name
816
+
817
+ # The normal response of the operation in case of success. If the original
818
+ # method returns no data on success, such as `Delete`, the response is
819
+ # `google.protobuf.Empty`. If the original method is standard
820
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
821
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
822
+ # is the original method name. For example, if the original method name
823
+ # is `TakeSnapshot()`, the inferred response type is
824
+ # `TakeSnapshotResponse`.
825
+ # Corresponds to the JSON property `response`
826
+ # @return [Hash<String,Object>]
827
+ attr_accessor :response
828
+
829
+ def initialize(**args)
830
+ update!(**args)
831
+ end
832
+
833
+ # Update properties of this object
834
+ def update!(**args)
835
+ @done = args[:done] if args.key?(:done)
836
+ @error = args[:error] if args.key?(:error)
837
+ @metadata = args[:metadata] if args.key?(:metadata)
838
+ @name = args[:name] if args.key?(:name)
839
+ @response = args[:response] if args.key?(:response)
840
+ end
841
+ end
842
+
843
+ # Defines an access control policy to the resources.
844
+ class SasPortalPolicy
845
+ include Google::Apis::Core::Hashable
846
+
847
+ #
848
+ # Corresponds to the JSON property `assignments`
849
+ # @return [Array<Google::Apis::ProdTtSasportalV1alpha1::SasPortalAssignment>]
850
+ attr_accessor :assignments
851
+
852
+ # The [etag] is used for optimistic concurrency control as a way to
853
+ # help prevent simultaneous updates of a policy from overwriting
854
+ # each other. It is strongly suggested that systems make use of
855
+ # the [etag] in the read-modify-write cycle to perform policy
856
+ # updates in order to avoid race conditions: An [etag] is returned
857
+ # in the response to [GetPolicy], and systems are expected to put
858
+ # that etag in the request to [SetPolicy] to ensure that their
859
+ # change will be applied to the same version of the policy.
860
+ # If no [etag] is provided in the call to [SetPolicy], then the
861
+ # existing policy is overwritten blindly.
862
+ # Corresponds to the JSON property `etag`
863
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
864
+ # @return [String]
865
+ attr_accessor :etag
866
+
867
+ def initialize(**args)
868
+ update!(**args)
869
+ end
870
+
871
+ # Update properties of this object
872
+ def update!(**args)
873
+ @assignments = args[:assignments] if args.key?(:assignments)
874
+ @etag = args[:etag] if args.key?(:etag)
875
+ end
876
+ end
877
+
878
+ # Request message for `SetPolicy` method.
879
+ class SasPortalSetPolicyRequest
880
+ include Google::Apis::Core::Hashable
881
+
882
+ # Defines an access control policy to the resources.
883
+ # Corresponds to the JSON property `policy`
884
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalPolicy]
885
+ attr_accessor :policy
886
+
887
+ # Required. The resource for which the policy is being specified. This policy
888
+ # replaces any existing policy.
889
+ # Corresponds to the JSON property `resource`
890
+ # @return [String]
891
+ attr_accessor :resource
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @policy = args[:policy] if args.key?(:policy)
900
+ @resource = args[:resource] if args.key?(:resource)
901
+ end
902
+ end
903
+
904
+ # Request for SignDevice method.
905
+ class SasPortalSignDeviceRequest
906
+ include Google::Apis::Core::Hashable
907
+
908
+ # Required. The device to sign.
909
+ # The device fields name, fcc_id and serial_number must be set.
910
+ # Corresponds to the JSON property `device`
911
+ # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDevice]
912
+ attr_accessor :device
913
+
914
+ def initialize(**args)
915
+ update!(**args)
916
+ end
917
+
918
+ # Update properties of this object
919
+ def update!(**args)
920
+ @device = args[:device] if args.key?(:device)
921
+ end
922
+ end
923
+
924
+ # The `Status` type defines a logical error model that is suitable for
925
+ # different programming environments, including REST APIs and RPC APIs. It is
926
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
927
+ # three pieces of data: error code, error message, and error details.
928
+ # You can find out more about this error model and how to work with it in the
929
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
930
+ class SasPortalStatus
931
+ include Google::Apis::Core::Hashable
932
+
933
+ # The status code, which should be an enum value of google.rpc.Code.
934
+ # Corresponds to the JSON property `code`
935
+ # @return [Fixnum]
936
+ attr_accessor :code
937
+
938
+ # A list of messages that carry the error details. There is a common set of
939
+ # message types for APIs to use.
940
+ # Corresponds to the JSON property `details`
941
+ # @return [Array<Hash<String,Object>>]
942
+ attr_accessor :details
943
+
944
+ # A developer-facing error message, which should be in English. Any
945
+ # user-facing error message should be localized and sent in the
946
+ # google.rpc.Status.details field, or localized by the client.
947
+ # Corresponds to the JSON property `message`
948
+ # @return [String]
949
+ attr_accessor :message
950
+
951
+ def initialize(**args)
952
+ update!(**args)
953
+ end
954
+
955
+ # Update properties of this object
956
+ def update!(**args)
957
+ @code = args[:code] if args.key?(:code)
958
+ @details = args[:details] if args.key?(:details)
959
+ @message = args[:message] if args.key?(:message)
960
+ end
961
+ end
962
+
963
+ # Request message for `TestPermissions` method.
964
+ class SasPortalTestPermissionsRequest
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # The set of permissions to check for the `resource`.
968
+ # Corresponds to the JSON property `permissions`
969
+ # @return [Array<String>]
970
+ attr_accessor :permissions
971
+
972
+ # Required. The resource for which the permissions are being requested.
973
+ # Corresponds to the JSON property `resource`
974
+ # @return [String]
975
+ attr_accessor :resource
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @permissions = args[:permissions] if args.key?(:permissions)
984
+ @resource = args[:resource] if args.key?(:resource)
985
+ end
986
+ end
987
+
988
+ # Response message for `TestPermissions` method.
989
+ class SasPortalTestPermissionsResponse
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # A set of permissions that the caller is allowed.
993
+ # Corresponds to the JSON property `permissions`
994
+ # @return [Array<String>]
995
+ attr_accessor :permissions
996
+
997
+ def initialize(**args)
998
+ update!(**args)
999
+ end
1000
+
1001
+ # Update properties of this object
1002
+ def update!(**args)
1003
+ @permissions = args[:permissions] if args.key?(:permissions)
1004
+ end
1005
+ end
1006
+
1007
+ # Request for UpdateSignedDevice method.
1008
+ class SasPortalUpdateSignedDeviceRequest
1009
+ include Google::Apis::Core::Hashable
1010
+
1011
+ # Required. The JSON Web Token signed using a CPI private key. Payload
1012
+ # must be the JSON encoding
1013
+ # of the device.
1014
+ # Corresponds to the JSON property `encodedDevice`
1015
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1016
+ # @return [String]
1017
+ attr_accessor :encoded_device
1018
+
1019
+ # Required. Unique installer ID (CPI ID) from the Certified Professional
1020
+ # Installers database.
1021
+ # Corresponds to the JSON property `installerId`
1022
+ # @return [String]
1023
+ attr_accessor :installer_id
1024
+
1025
+ def initialize(**args)
1026
+ update!(**args)
1027
+ end
1028
+
1029
+ # Update properties of this object
1030
+ def update!(**args)
1031
+ @encoded_device = args[:encoded_device] if args.key?(:encoded_device)
1032
+ @installer_id = args[:installer_id] if args.key?(:installer_id)
1033
+ end
1034
+ end
1035
+
1036
+ # Request for ValidateInstaller method.
1037
+ class SasPortalValidateInstallerRequest
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # Required. JSON Web Token signed using a CPI private key. Payload
1041
+ # must include a "secret" claim whose value is the secret.
1042
+ # Corresponds to the JSON property `encodedSecret`
1043
+ # @return [String]
1044
+ attr_accessor :encoded_secret
1045
+
1046
+ # Required. Unique installer id (cpiId) from the Certified
1047
+ # Professional Installers database.
1048
+ # Corresponds to the JSON property `installerId`
1049
+ # @return [String]
1050
+ attr_accessor :installer_id
1051
+
1052
+ # Required. Secret returned by the GenerateSecret method.
1053
+ # Corresponds to the JSON property `secret`
1054
+ # @return [String]
1055
+ attr_accessor :secret
1056
+
1057
+ def initialize(**args)
1058
+ update!(**args)
1059
+ end
1060
+
1061
+ # Update properties of this object
1062
+ def update!(**args)
1063
+ @encoded_secret = args[:encoded_secret] if args.key?(:encoded_secret)
1064
+ @installer_id = args[:installer_id] if args.key?(:installer_id)
1065
+ @secret = args[:secret] if args.key?(:secret)
1066
+ end
1067
+ end
1068
+
1069
+ # Response for ValidateInstaller method]
1070
+ # [spectrum.sas.portal.v1alpha1.DeviceManager.ValidateInstaller].
1071
+ class SasPortalValidateInstallerResponse
1072
+ include Google::Apis::Core::Hashable
1073
+
1074
+ def initialize(**args)
1075
+ update!(**args)
1076
+ end
1077
+
1078
+ # Update properties of this object
1079
+ def update!(**args)
1080
+ end
1081
+ end
1082
+ end
1083
+ end
1084
+ end