google-api-client 0.46.1 → 0.46.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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +58 -0
  5. data/api_list_config.yaml +8 -0
  6. data/bin/generate-api +77 -15
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  9. data/generated/google/apis/admin_directory_v1.rb +1 -1
  10. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  11. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  12. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  13. data/generated/google/apis/admin_reports_v1.rb +1 -1
  14. data/generated/google/apis/admob_v1.rb +1 -1
  15. data/generated/google/apis/admob_v1/classes.rb +29 -29
  16. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  17. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +6 -6
  18. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +8 -9
  19. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  20. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +1 -1
  21. data/generated/google/apis/analyticsdata_v1alpha/service.rb +7 -7
  22. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v3/service.rb +5 -2
  24. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  25. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +7 -0
  26. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  27. data/generated/google/apis/bigquery_v2.rb +1 -1
  28. data/generated/google/apis/bigquery_v2/classes.rb +80 -5
  29. data/generated/google/apis/bigquery_v2/representations.rb +33 -0
  30. data/generated/google/apis/bigquery_v2/service.rb +46 -0
  31. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  32. data/generated/google/apis/billingbudgets_v1/classes.rb +1 -1
  33. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  34. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +1 -1
  35. data/generated/google/apis/civicinfo_v2.rb +1 -1
  36. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  37. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  38. data/generated/google/apis/classroom_v1.rb +1 -1
  39. data/generated/google/apis/classroom_v1/classes.rb +21 -21
  40. data/generated/google/apis/container_v1.rb +1 -1
  41. data/generated/google/apis/container_v1/classes.rb +22 -10
  42. data/generated/google/apis/container_v1beta1.rb +1 -1
  43. data/generated/google/apis/container_v1beta1/classes.rb +22 -10
  44. data/generated/google/apis/content_v2.rb +1 -1
  45. data/generated/google/apis/content_v2_1.rb +1 -1
  46. data/generated/google/apis/content_v2_1/classes.rb +6 -3
  47. data/generated/google/apis/displayvideo_v1.rb +1 -1
  48. data/generated/google/apis/displayvideo_v1/classes.rb +30 -30
  49. data/generated/google/apis/displayvideo_v1/service.rb +8 -8
  50. data/generated/google/apis/dlp_v2.rb +1 -1
  51. data/generated/google/apis/dlp_v2/classes.rb +4 -3
  52. data/generated/google/apis/dns_v1.rb +1 -1
  53. data/generated/google/apis/dns_v1/classes.rb +181 -0
  54. data/generated/google/apis/dns_v1/representations.rb +83 -0
  55. data/generated/google/apis/dns_v1beta2.rb +1 -1
  56. data/generated/google/apis/dns_v1beta2/classes.rb +181 -0
  57. data/generated/google/apis/dns_v1beta2/representations.rb +83 -0
  58. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  59. data/generated/google/apis/domains_v1alpha2/classes.rb +1534 -0
  60. data/generated/google/apis/domains_v1alpha2/representations.rb +605 -0
  61. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  62. data/generated/google/apis/domains_v1beta1.rb +34 -0
  63. data/generated/google/apis/domains_v1beta1/classes.rb +1534 -0
  64. data/generated/google/apis/domains_v1beta1/representations.rb +605 -0
  65. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  66. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  67. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  68. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  69. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -1
  70. data/generated/google/apis/drive_v2.rb +1 -1
  71. data/generated/google/apis/drive_v2/classes.rb +2 -0
  72. data/generated/google/apis/drive_v3.rb +1 -1
  73. data/generated/google/apis/drive_v3/classes.rb +4 -2
  74. data/generated/google/apis/fitness_v1.rb +1 -1
  75. data/generated/google/apis/fitness_v1/service.rb +3 -1
  76. data/generated/google/apis/gameservices_v1.rb +1 -1
  77. data/generated/google/apis/gameservices_v1/classes.rb +15 -14
  78. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  79. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  80. data/generated/google/apis/gameservices_v1beta/classes.rb +15 -14
  81. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  82. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  83. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  84. data/generated/google/apis/healthcare_v1.rb +1 -1
  85. data/generated/google/apis/healthcare_v1/classes.rb +4 -4
  86. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  87. data/generated/google/apis/healthcare_v1beta1/classes.rb +7 -6
  88. data/generated/google/apis/licensing_v1.rb +1 -1
  89. data/generated/google/apis/licensing_v1/service.rb +2 -2
  90. data/generated/google/apis/localservices_v1.rb +1 -1
  91. data/generated/google/apis/localservices_v1/service.rb +20 -20
  92. data/generated/google/apis/managedidentities_v1.rb +1 -1
  93. data/generated/google/apis/managedidentities_v1/classes.rb +1 -1
  94. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  95. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  96. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +80 -9
  97. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +33 -1
  98. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  99. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  100. data/generated/google/apis/managedidentities_v1beta1/classes.rb +81 -9
  101. data/generated/google/apis/managedidentities_v1beta1/representations.rb +33 -1
  102. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  103. data/generated/google/apis/monitoring_v3.rb +1 -1
  104. data/generated/google/apis/monitoring_v3/classes.rb +8 -8
  105. data/generated/google/apis/people_v1.rb +1 -1
  106. data/generated/google/apis/people_v1/classes.rb +45 -45
  107. data/generated/google/apis/playablelocations_v3.rb +1 -1
  108. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  109. data/generated/google/apis/poly_v1.rb +3 -4
  110. data/generated/google/apis/poly_v1/classes.rb +65 -79
  111. data/generated/google/apis/poly_v1/service.rb +50 -63
  112. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  113. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  114. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  115. data/generated/google/apis/realtimebidding_v1/classes.rb +33 -33
  116. data/generated/google/apis/realtimebidding_v1/service.rb +4 -4
  117. data/generated/google/apis/run_v1.rb +1 -1
  118. data/generated/google/apis/run_v1/classes.rb +7 -6
  119. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  120. data/generated/google/apis/servicenetworking_v1/classes.rb +107 -4
  121. data/generated/google/apis/servicenetworking_v1/representations.rb +34 -0
  122. data/generated/google/apis/servicenetworking_v1/service.rb +2 -2
  123. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  124. data/generated/google/apis/servicenetworking_v1beta/classes.rb +107 -4
  125. data/generated/google/apis/servicenetworking_v1beta/representations.rb +34 -0
  126. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  127. data/generated/google/apis/storagetransfer_v1/classes.rb +8 -0
  128. data/generated/google/apis/storagetransfer_v1/representations.rb +1 -0
  129. data/generated/google/apis/storagetransfer_v1/service.rb +17 -18
  130. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  131. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  132. data/generated/google/apis/sts_v1beta.rb +1 -1
  133. data/generated/google/apis/sts_v1beta/classes.rb +12 -11
  134. data/generated/google/apis/tpu_v1.rb +1 -1
  135. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  136. data/generated/google/apis/tpu_v1/service.rb +8 -8
  137. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  138. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  139. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  140. data/generated/google/apis/vault_v1.rb +1 -1
  141. data/generated/google/apis/vault_v1/classes.rb +333 -0
  142. data/generated/google/apis/vault_v1/representations.rb +162 -0
  143. data/generated/google/apis/vault_v1/service.rb +151 -0
  144. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  145. data/generated/google/apis/youtube_v3.rb +1 -1
  146. data/generated/google/apis/youtube_v3/service.rb +2 -2
  147. data/google-api-client.gemspec +1 -1
  148. data/lib/google/apis/core/api_command.rb +1 -0
  149. data/lib/google/apis/version.rb +1 -1
  150. data/synth.py +40 -0
  151. metadata +13 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 741a077cf8300e1469da6edd9ff0b1701d41c03e62aee255fd926c1c6842fdf4
4
- data.tar.gz: 8f7bb006114218fcc70983ef36178d51f9876be86215a3971acffc289ea24762
3
+ metadata.gz: 27a2a0001a6c9b86aaa04200c457f9be550e54c06666a77c992d098825140782
4
+ data.tar.gz: 451dabfba4dfc030cc242cceb118aca9ee5323ce196a5309991304f57be34a3e
5
5
  SHA512:
6
- metadata.gz: be3d87f2dfd479473b2b59513a7dbdfa93ef0ea4ad2a9116b3b767de48910a92a0aadb3684a66644d35ceb3ebf11030985daaed3d9dea9dff12273952c464c7c
7
- data.tar.gz: 92305adbeb449885f12a15fe03377ea16b74103a9faac2141230b877708187a7d5ccdf8391c6b01dce7a97a0a48189c4f22d9d16ada8bc2a48c719e70ef4e133
6
+ metadata.gz: 8ad0a46fd820b66ae8e6143e292eded6f61a299857d85db7d1942f63e1f759c8fc603251860a5c546d1e7d48a82079881f0397c8c51a6b72dd8268330e1a7642
7
+ data.tar.gz: 515fb3c8f9f5960dc93d7e8b78cac755711cbe79db5bdcae2c541ad09ccc5b76e957d4b27e040c87fa6f22838269f78f5f8960b6eaeea19f1b4ba6d567e431f3
@@ -0,0 +1,49 @@
1
+ name: AutoApprove
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - master
7
+ types:
8
+ - opened
9
+
10
+ jobs:
11
+ auto-approve:
12
+ runs-on: ubuntu-latest
13
+ if: contains(github.head_ref, 'autosynth')
14
+ env:
15
+ ENABLE_AUTO_APPROVE: ${{ secrets.ENABLE_AUTO_APPROVE }}
16
+ steps:
17
+ - name: AutoApprove
18
+ uses: actions/github-script@v2
19
+ with:
20
+ github-token: ${{secrets.YOSHI_APPROVER_TOKEN}}
21
+ script: |
22
+ if (context.payload.sender.login != "yoshi-automation") {
23
+ core.error("AutoApprove: Not running for this sender.");
24
+ return;
25
+ }
26
+ if (!context.payload.pull_request.title.startsWith("feat: Automated ")) {
27
+ core.error("AutoApprove: Not running for this PR title.");
28
+ return;
29
+ }
30
+ if (!process.env.ENABLE_AUTO_APPROVE) {
31
+ core.error("AutoApprove: PR conditions passed but ENABLE_AUTO_APPROVE is not set.");
32
+ return;
33
+ }
34
+ core.info("AutoApprove: PR conditions passed!");
35
+ await github.pulls.createReview({
36
+ owner: context.repo.owner,
37
+ repo: context.repo.repo,
38
+ body: "AutoApprove: Rubber stamped client regeneration!",
39
+ pull_number: context.payload.pull_request.number,
40
+ event: "APPROVE"
41
+ });
42
+ core.info("AutoApprove: Rubber stamped client regeneration!");
43
+ await github.issues.addLabels({
44
+ owner: context.repo.owner,
45
+ repo: context.repo.repo,
46
+ issue_number: context.payload.pull_request.number,
47
+ labels: ["automerge"]
48
+ });
49
+ core.info("AutoApprove: Applied automerge label!");
data/.gitignore CHANGED
@@ -19,3 +19,5 @@ tmp/
19
19
  *.iml
20
20
  atlassian*
21
21
 
22
+ __pycache__/
23
+ /vendor/
@@ -1,3 +1,61 @@
1
+ # 0.46.2
2
+ * Backwards compatible changes:
3
+ * Added `domains_v1alpha2`
4
+ * Added `domains_v1beta1`
5
+ * Updated `adexchangebuyer2_v2beta1`
6
+ * Updated `admin_directory_v1`
7
+ * Updated `admin_reports_v1`
8
+ * Updated `admob_v1`
9
+ * Updated `analyticsadmin_v1alpha`
10
+ * Updated `analyticsdata_v1alpha`
11
+ * Updated `androidpublisher_v3`
12
+ * Updated `artifactregistry_v1beta1`
13
+ * Updated `bigquery_v2`
14
+ * Updated `billingbudgets_v1`
15
+ * Updated `billingbudgets_v1beta1`
16
+ * Updated `civicinfo_v2`
17
+ * Updated `classroom_v1`
18
+ * Updated `container_v1`
19
+ * Updated `container_v1beta1`
20
+ * Updated `content_v2`
21
+ * Updated `content_v2_1`
22
+ * Updated `displayvideo_v1`
23
+ * Updated `dlp_v2`
24
+ * Updated `dns_v1`
25
+ * Updated `dns_v1beta2`
26
+ * Updated `doubleclickbidmanager_v1`
27
+ * Updated `doubleclickbidmanager_v1_1`
28
+ * Updated `drive_v2`
29
+ * Updated `drive_v3`
30
+ * Updated `fitness_v1`
31
+ * Updated `gameservices_v1`
32
+ * Updated `gameservices_v1beta`
33
+ * Updated `gmailpostmastertools_v1beta1`
34
+ * Updated `healthcare_v1`
35
+ * Updated `healthcare_v1beta1`
36
+ * Updated `licensing_v1`
37
+ * Updated `localservices_v1`
38
+ * Updated `managedidentities_v1`
39
+ * Updated `managedidentities_v1alpha1`
40
+ * Updated `managedidentities_v1beta1`
41
+ * Updated `monitoring_v3`
42
+ * Updated `people_v1`
43
+ * Updated `playablelocations_v3`
44
+ * Updated `poly_v1`
45
+ * Updated `prod_tt_sasportal_v1alpha1`
46
+ * Updated `realtimebidding_v1`
47
+ * Updated `run_v1`
48
+ * Updated `servicenetworking_v1`
49
+ * Updated `servicenetworking_v1beta`
50
+ * Updated `storagetransfer_v1`
51
+ * Updated `streetviewpublish_v1`
52
+ * Updated `sts_v1beta`
53
+ * Updated `tpu_v1`
54
+ * Updated `tpu_v1alpha1`
55
+ * Updated `vault_v1`
56
+ * Updated `youtube_partner_v1`
57
+ * Updated `youtube_v3`
58
+
1
59
  # 0.46.1
2
60
  * Backwards compatible changes:
3
61
  * Added `billingbudgets_v1`
@@ -1 +1,9 @@
1
+ include:
2
+ - name: appsmarket
3
+ version: v2
4
+ discovery_rest_url: https://content.googleapis.com/discovery/v1/apis/appsmarket/v2/rest
5
+ - name: youtubePartner
6
+ version: v1
7
+ discovery_rest_url: https://content.googleapis.com/discovery/v1/apis/youtubePartner/v1/rest
1
8
  exclude: []
9
+ pause: []
@@ -28,32 +28,34 @@ module Google
28
28
 
29
29
  desc 'gen OUTDIR', 'Generate ruby API from an API description'
30
30
  method_options url: :array, file: :array, from_discovery: :boolean, preferred_only: :boolean,
31
- verbose: :boolean, names: :string, names_out: :string
31
+ verbose: :boolean, names: :string, names_out: :string, api: :string, clean: :boolean
32
32
  def gen(dir)
33
33
  ensure_active_support
34
34
  require 'google/apis/generator'
35
35
 
36
36
  self.destination_root = dir
37
37
  Google::Apis.logger.level = Logger::DEBUG if options[:verbose]
38
- generate_from_url(options[:url]) if options[:url]
39
- generate_from_file(options[:file]) if options[:file]
40
- generate_from_discovery(preferred_only: options[:preferred_only]) if options[:from_discovery]
41
- create_file(options[:names_out]) { |*| generator.dump_api_names } if options[:names_out]
38
+ count = 0
39
+ count += generate_from_url(options[:url]) if options[:url]
40
+ count += generate_from_file(options[:file]) if options[:file]
41
+ count += generate_specific_apis(options[:api]) if options[:api]
42
+ count += generate_from_discovery(preferred_only: options[:preferred_only]) if options[:from_discovery]
43
+ count += clean_from_discovery if options[:clean]
44
+ create_file(options[:names_out]) { |*| generator.dump_api_names } if count > 0 && options[:names_out]
42
45
  end
43
46
 
44
47
  desc 'list', 'List public APIs'
45
48
  method_options verbose: :boolean, preferred_only: :boolean
46
49
  def list
47
50
  Google::Apis.logger.level = Logger::DEBUG if options[:verbose]
48
- discovery = Discovery::DiscoveryService.new
49
- apis = discovery.list_apis
50
- apis.items.each do |api|
51
+ discovery_api_list.each do |api|
51
52
  say sprintf('%s - %s', api.id, api.description).strip unless options[:preferred_only] && !api.preferred?
52
53
  end
53
54
  end
54
55
 
55
56
  no_commands do
56
- def generate_from_url(urls)
57
+ def generate_from_url(urls, first_only: false)
58
+ count = 0
57
59
  Array(urls).each do |url|
58
60
  begin
59
61
  json = discovery.http(:get, url)
@@ -62,7 +64,10 @@ module Google
62
64
  next
63
65
  end
64
66
  generate_api(json)
67
+ return 1 if first_only
68
+ count += 1
65
69
  end
70
+ count
66
71
  end
67
72
 
68
73
  def generate_from_file(files)
@@ -71,15 +76,38 @@ module Google
71
76
  generate_api(f.read)
72
77
  end
73
78
  end
79
+ Array(files).size
80
+ end
81
+
82
+ def generate_specific_apis(apis)
83
+ discovery_apis = discovery_api_list.each_with_object({}) do |api, hash|
84
+ hash["#{api.name}.#{api.version}"] = api
85
+ end
86
+ paused_apis = Array(api_list_config["pause"])
87
+ count = 0
88
+ Array(apis).each do |name_version|
89
+ api = discovery_apis[name_version]
90
+ if api.nil?
91
+ say "API #{api} is not in the discovery list."
92
+ elsif paused_apis.include? name_version
93
+ say "Ignoring paused API #{api.name} #{api.version}"
94
+ else
95
+ discovery_rest_url = "https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/#{api.name}.#{api.version}.json"
96
+ say sprintf('Loading %s, version %s from %s', api.name, api.version, discovery_rest_url)
97
+ generate_from_url([discovery_rest_url, api.discovery_rest_url], first_only: true)
98
+ count += 1
99
+ end
100
+ end
101
+ count
74
102
  end
75
103
 
76
104
  def generate_from_discovery(preferred_only: false)
77
105
  say 'Fetching API list'
78
- apis = discovery.list_apis
79
- exclude_apis = api_list_config["exclude"] || []
80
- apis.items.each do |api|
81
- if exclude_apis.include? "#{api.name}.#{api.version}"
82
- say "Ignoring excluded API #{api.name} #{api.version}"
106
+ paused_apis = Array(api_list_config["pause"])
107
+ count = 0
108
+ discovery_api_list.each do |api|
109
+ if paused_apis.include? "#{api.name}.#{api.version}"
110
+ say "Ignoring paused API #{api.name} #{api.version}"
83
111
  elsif (preferred_only && !api.preferred?)
84
112
  say sprintf('Ignoring disoverable API %s', api.id)
85
113
  else
@@ -91,9 +119,27 @@ module Google
91
119
  # by the Discovery index.
92
120
  discovery_rest_url = "https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/#{api.name}.#{api.version}.json"
93
121
  say sprintf('Loading %s, version %s from %s', api.name, api.version, discovery_rest_url)
94
- generate_from_url(discovery_rest_url)
122
+ generate_from_url([discovery_rest_url, api.discovery_rest_url], first_only: true)
123
+ count += 1
95
124
  end
96
125
  end
126
+ count
127
+ end
128
+
129
+ def clean_from_discovery
130
+ count = 0
131
+ apis = discovery_api_list.map { |api| "#{api.name.underscore}_#{api.version.tr '.', '_'}" }
132
+ Dir.chdir("#{destination_root}/google/apis") do
133
+ Dir.glob("*.rb").each do |filename|
134
+ filename = File.basename(filename, ".rb")
135
+ unless apis.include? filename
136
+ FileUtils.rm_r filename
137
+ FileUtils.rm "#{filename}.rb"
138
+ count += 1
139
+ end
140
+ end
141
+ end
142
+ count
97
143
  end
98
144
 
99
145
  def generate_api(json)
@@ -107,6 +153,20 @@ module Google
107
153
  @discovery ||= Discovery::DiscoveryService.new
108
154
  end
109
155
 
156
+ def discovery_api_list
157
+ @discovery_api_list ||= begin
158
+ items = discovery.list_apis.items
159
+ excluded = Array(api_list_config["exclude"])
160
+ items.delete_if { |item| excluded.include? "#{item.name}.#{item.version}" }
161
+ Array(api_list_config["include"]).each do |include_hash|
162
+ include_hash.symbolize_keys!
163
+ include_item = Discovery::DirectoryList::Item.new(**include_hash)
164
+ items << include_item unless items.any? { |item| item.name == include_item.name && item.version == include_item.version }
165
+ end
166
+ items
167
+ end
168
+ end
169
+
110
170
  def generator
111
171
  @generator ||= Google::Apis::Generator.new(api_names: options[:names], api_names_out: options[:names_out])
112
172
  end
@@ -117,7 +177,9 @@ module Google
117
177
 
118
178
  def ensure_active_support
119
179
  begin
180
+ require 'active_support'
120
181
  require 'active_support/inflector'
182
+ require 'active_support/core_ext'
121
183
  rescue LoadError => e
122
184
  error 'ActiveSupport is required, please run:'
123
185
  error 'gem install activesupport'
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://developers.google.com/authorized-buyers/apis/reference/rest/
28
28
  module Adexchangebuyer2V2beta1
29
29
  VERSION = 'V2beta1'
30
- REVISION = '20200822'
30
+ REVISION = '20201013'
31
31
 
32
32
  # Manage your Ad Exchange buyer account configuration
33
33
  AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
@@ -29,26 +29,26 @@ module Google
29
29
  class AbsoluteDateRange
30
30
  include Google::Apis::Core::Hashable
31
31
 
32
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
33
- # and time zone are either specified elsewhere or are not significant. The date
34
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
35
- # date, with non-zero year, month and day values * A month and day value, with a
36
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
37
- # values * A year and month value, with a zero day, e.g. a credit card
38
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
39
- # Timestamp`.
32
+ # Represents a whole or partial calendar date, such as a birthday. The time of
33
+ # day and time zone are either specified elsewhere or are insignificant. The
34
+ # date is relative to the Gregorian Calendar. This can represent one of the
35
+ # following: * A full date, with non-zero year, month, and day values * A month
36
+ # and day value, with a zero year, such as an anniversary * A year on its own,
37
+ # with zero month and day values * A year and month value, with a zero day, such
38
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
39
+ # google.protobuf.Timestamp`.
40
40
  # Corresponds to the JSON property `endDate`
41
41
  # @return [Google::Apis::Adexchangebuyer2V2beta1::Date]
42
42
  attr_accessor :end_date
43
43
 
44
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
45
- # and time zone are either specified elsewhere or are not significant. The date
46
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
47
- # date, with non-zero year, month and day values * A month and day value, with a
48
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
49
- # values * A year and month value, with a zero day, e.g. a credit card
50
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
51
- # Timestamp`.
44
+ # Represents a whole or partial calendar date, such as a birthday. The time of
45
+ # day and time zone are either specified elsewhere or are insignificant. The
46
+ # date is relative to the Gregorian Calendar. This can represent one of the
47
+ # following: * A full date, with non-zero year, month, and day values * A month
48
+ # and day value, with a zero year, such as an anniversary * A year on its own,
49
+ # with zero month and day values * A year and month value, with a zero day, such
50
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
51
+ # google.protobuf.Timestamp`.
52
52
  # Corresponds to the JSON property `startDate`
53
53
  # @return [Google::Apis::Adexchangebuyer2V2beta1::Date]
54
54
  attr_accessor :start_date
@@ -1047,31 +1047,31 @@ module Google
1047
1047
  end
1048
1048
  end
1049
1049
 
1050
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1051
- # and time zone are either specified elsewhere or are not significant. The date
1052
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
1053
- # date, with non-zero year, month and day values * A month and day value, with a
1054
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
1055
- # values * A year and month value, with a zero day, e.g. a credit card
1056
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
1057
- # Timestamp`.
1050
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1051
+ # day and time zone are either specified elsewhere or are insignificant. The
1052
+ # date is relative to the Gregorian Calendar. This can represent one of the
1053
+ # following: * A full date, with non-zero year, month, and day values * A month
1054
+ # and day value, with a zero year, such as an anniversary * A year on its own,
1055
+ # with zero month and day values * A year and month value, with a zero day, such
1056
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
1057
+ # google.protobuf.Timestamp`.
1058
1058
  class Date
1059
1059
  include Google::Apis::Core::Hashable
1060
1060
 
1061
- # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
1062
- # specifying a year by itself or a year and month where the day is not
1063
- # significant.
1061
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
1062
+ # specify a year by itself or a year and month where the day isn't significant.
1064
1063
  # Corresponds to the JSON property `day`
1065
1064
  # @return [Fixnum]
1066
1065
  attr_accessor :day
1067
1066
 
1068
- # Month of year. Must be from 1 to 12, or 0 if specifying a year without a month
1067
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
1069
1068
  # and day.
1070
1069
  # Corresponds to the JSON property `month`
1071
1070
  # @return [Fixnum]
1072
1071
  attr_accessor :month
1073
1072
 
1074
- # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
1073
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
1074
+ # year.
1075
1075
  # Corresponds to the JSON property `year`
1076
1076
  # @return [Fixnum]
1077
1077
  attr_accessor :year
@@ -2669,7 +2669,7 @@ module Google
2669
2669
  class Money
2670
2670
  include Google::Apis::Core::Hashable
2671
2671
 
2672
- # The 3-letter currency code defined in ISO 4217.
2672
+ # The three-letter currency code defined in ISO 4217.
2673
2673
  # Corresponds to the JSON property `currencyCode`
2674
2674
  # @return [String]
2675
2675
  attr_accessor :currency_code
@@ -27,7 +27,7 @@ module Google
27
27
  # @see http://developers.google.com/admin-sdk/
28
28
  module AdminDirectoryV1
29
29
  VERSION = 'DirectoryV1'
30
- REVISION = '20200909'
30
+ REVISION = '20201013'
31
31
 
32
32
  # View and manage customer related information
33
33
  AUTH_ADMIN_DIRECTORY_CUSTOMER = 'https://www.googleapis.com/auth/admin.directory.customer'
@@ -1367,6 +1367,141 @@ module Google
1367
1367
  end
1368
1368
  end
1369
1369
 
1370
+ # Information regarding a command that was issued to a device.
1371
+ class DirectoryChromeosdevicesCommand
1372
+ include Google::Apis::Core::Hashable
1373
+
1374
+ # The time at which the command will expire. If the device doesn't execute the
1375
+ # command within this time the command will become expired.
1376
+ # Corresponds to the JSON property `commandExpireTime`
1377
+ # @return [String]
1378
+ attr_accessor :command_expire_time
1379
+
1380
+ # Unique ID of a device command.
1381
+ # Corresponds to the JSON property `commandId`
1382
+ # @return [Fixnum]
1383
+ attr_accessor :command_id
1384
+
1385
+ # The result of executing a command.
1386
+ # Corresponds to the JSON property `commandResult`
1387
+ # @return [Google::Apis::AdminDirectoryV1::DirectoryChromeosdevicesCommandResult]
1388
+ attr_accessor :command_result
1389
+
1390
+ # The timestamp when the command was issued by the admin.
1391
+ # Corresponds to the JSON property `issueTime`
1392
+ # @return [String]
1393
+ attr_accessor :issue_time
1394
+
1395
+ # The payload that the command specified, if any.
1396
+ # Corresponds to the JSON property `payload`
1397
+ # @return [String]
1398
+ attr_accessor :payload
1399
+
1400
+ # Indicates the command state.
1401
+ # Corresponds to the JSON property `state`
1402
+ # @return [String]
1403
+ attr_accessor :state
1404
+
1405
+ # The type of the command.
1406
+ # Corresponds to the JSON property `type`
1407
+ # @return [String]
1408
+ attr_accessor :type
1409
+
1410
+ def initialize(**args)
1411
+ update!(**args)
1412
+ end
1413
+
1414
+ # Update properties of this object
1415
+ def update!(**args)
1416
+ @command_expire_time = args[:command_expire_time] if args.key?(:command_expire_time)
1417
+ @command_id = args[:command_id] if args.key?(:command_id)
1418
+ @command_result = args[:command_result] if args.key?(:command_result)
1419
+ @issue_time = args[:issue_time] if args.key?(:issue_time)
1420
+ @payload = args[:payload] if args.key?(:payload)
1421
+ @state = args[:state] if args.key?(:state)
1422
+ @type = args[:type] if args.key?(:type)
1423
+ end
1424
+ end
1425
+
1426
+ # The result of executing a command.
1427
+ class DirectoryChromeosdevicesCommandResult
1428
+ include Google::Apis::Core::Hashable
1429
+
1430
+ # The error message with a short explanation as to why the command failed. Only
1431
+ # present if the command failed.
1432
+ # Corresponds to the JSON property `errorMessage`
1433
+ # @return [String]
1434
+ attr_accessor :error_message
1435
+
1436
+ # The time at which the command was executed or failed to execute.
1437
+ # Corresponds to the JSON property `executeTime`
1438
+ # @return [String]
1439
+ attr_accessor :execute_time
1440
+
1441
+ # The result of the command.
1442
+ # Corresponds to the JSON property `result`
1443
+ # @return [String]
1444
+ attr_accessor :result
1445
+
1446
+ def initialize(**args)
1447
+ update!(**args)
1448
+ end
1449
+
1450
+ # Update properties of this object
1451
+ def update!(**args)
1452
+ @error_message = args[:error_message] if args.key?(:error_message)
1453
+ @execute_time = args[:execute_time] if args.key?(:execute_time)
1454
+ @result = args[:result] if args.key?(:result)
1455
+ end
1456
+ end
1457
+
1458
+ # A request for issuing a command.
1459
+ class DirectoryChromeosdevicesIssueCommandRequest
1460
+ include Google::Apis::Core::Hashable
1461
+
1462
+ # The type of command.
1463
+ # Corresponds to the JSON property `commandType`
1464
+ # @return [String]
1465
+ attr_accessor :command_type
1466
+
1467
+ # The payload for the command, provide it only if command supports it. The
1468
+ # following commands support adding payload: - SET_VOLUME: Payload is a JSON
1469
+ # object in the form: ` "volume": 50 `. The volume has to be an integer in the
1470
+ # range [0,100].
1471
+ # Corresponds to the JSON property `payload`
1472
+ # @return [String]
1473
+ attr_accessor :payload
1474
+
1475
+ def initialize(**args)
1476
+ update!(**args)
1477
+ end
1478
+
1479
+ # Update properties of this object
1480
+ def update!(**args)
1481
+ @command_type = args[:command_type] if args.key?(:command_type)
1482
+ @payload = args[:payload] if args.key?(:payload)
1483
+ end
1484
+ end
1485
+
1486
+ # A response for issuing a command.
1487
+ class DirectoryChromeosdevicesIssueCommandResponse
1488
+ include Google::Apis::Core::Hashable
1489
+
1490
+ # The unique ID of the issued command, used to retrieve the command status.
1491
+ # Corresponds to the JSON property `commandId`
1492
+ # @return [Fixnum]
1493
+ attr_accessor :command_id
1494
+
1495
+ def initialize(**args)
1496
+ update!(**args)
1497
+ end
1498
+
1499
+ # Update properties of this object
1500
+ def update!(**args)
1501
+ @command_id = args[:command_id] if args.key?(:command_id)
1502
+ end
1503
+ end
1504
+
1370
1505
  #
1371
1506
  class DomainAlias
1372
1507
  include Google::Apis::Core::Hashable