google-api-client 0.36.1 → 0.36.2

Sign up to get free protection for your applications and to get access to all the features.
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