google-apis-osconfig_v1 0.7.0 → 0.11.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/lib/google/apis/osconfig_v1/classes.rb +1910 -121
- data/lib/google/apis/osconfig_v1/gem_version.rb +3 -3
- data/lib/google/apis/osconfig_v1/representations.rb +754 -8
- data/lib/google/apis/osconfig_v1/service.rb +512 -28
- data/lib/google/apis/osconfig_v1.rb +1 -1
- metadata +5 -5
@@ -57,6 +57,111 @@ module Google
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
+
# Common Vulnerability Scoring System version 3. For details, see https://www.
|
61
|
+
# first.org/cvss/specification-document
|
62
|
+
class CvsSv3
|
63
|
+
include Google::Apis::Core::Hashable
|
64
|
+
|
65
|
+
# This metric describes the conditions beyond the attacker's control that must
|
66
|
+
# exist in order to exploit the vulnerability.
|
67
|
+
# Corresponds to the JSON property `attackComplexity`
|
68
|
+
# @return [String]
|
69
|
+
attr_accessor :attack_complexity
|
70
|
+
|
71
|
+
# This metric reflects the context by which vulnerability exploitation is
|
72
|
+
# possible.
|
73
|
+
# Corresponds to the JSON property `attackVector`
|
74
|
+
# @return [String]
|
75
|
+
attr_accessor :attack_vector
|
76
|
+
|
77
|
+
# This metric measures the impact to the availability of the impacted component
|
78
|
+
# resulting from a successfully exploited vulnerability.
|
79
|
+
# Corresponds to the JSON property `availabilityImpact`
|
80
|
+
# @return [String]
|
81
|
+
attr_accessor :availability_impact
|
82
|
+
|
83
|
+
# The base score is a function of the base metric scores. https://www.first.org/
|
84
|
+
# cvss/specification-document#Base-Metrics
|
85
|
+
# Corresponds to the JSON property `baseScore`
|
86
|
+
# @return [Float]
|
87
|
+
attr_accessor :base_score
|
88
|
+
|
89
|
+
# This metric measures the impact to the confidentiality of the information
|
90
|
+
# resources managed by a software component due to a successfully exploited
|
91
|
+
# vulnerability.
|
92
|
+
# Corresponds to the JSON property `confidentialityImpact`
|
93
|
+
# @return [String]
|
94
|
+
attr_accessor :confidentiality_impact
|
95
|
+
|
96
|
+
# The Exploitability sub-score equation is derived from the Base Exploitability
|
97
|
+
# metrics. https://www.first.org/cvss/specification-document#2-1-Exploitability-
|
98
|
+
# Metrics
|
99
|
+
# Corresponds to the JSON property `exploitabilityScore`
|
100
|
+
# @return [Float]
|
101
|
+
attr_accessor :exploitability_score
|
102
|
+
|
103
|
+
# The Impact sub-score equation is derived from the Base Impact metrics.
|
104
|
+
# Corresponds to the JSON property `impactScore`
|
105
|
+
# @return [Float]
|
106
|
+
attr_accessor :impact_score
|
107
|
+
|
108
|
+
# This metric measures the impact to integrity of a successfully exploited
|
109
|
+
# vulnerability.
|
110
|
+
# Corresponds to the JSON property `integrityImpact`
|
111
|
+
# @return [String]
|
112
|
+
attr_accessor :integrity_impact
|
113
|
+
|
114
|
+
# This metric describes the level of privileges an attacker must possess before
|
115
|
+
# successfully exploiting the vulnerability.
|
116
|
+
# Corresponds to the JSON property `privilegesRequired`
|
117
|
+
# @return [String]
|
118
|
+
attr_accessor :privileges_required
|
119
|
+
|
120
|
+
# The Scope metric captures whether a vulnerability in one vulnerable component
|
121
|
+
# impacts resources in components beyond its security scope.
|
122
|
+
# Corresponds to the JSON property `scope`
|
123
|
+
# @return [String]
|
124
|
+
attr_accessor :scope
|
125
|
+
|
126
|
+
# This metric captures the requirement for a human user, other than the attacker,
|
127
|
+
# to participate in the successful compromise of the vulnerable component.
|
128
|
+
# Corresponds to the JSON property `userInteraction`
|
129
|
+
# @return [String]
|
130
|
+
attr_accessor :user_interaction
|
131
|
+
|
132
|
+
def initialize(**args)
|
133
|
+
update!(**args)
|
134
|
+
end
|
135
|
+
|
136
|
+
# Update properties of this object
|
137
|
+
def update!(**args)
|
138
|
+
@attack_complexity = args[:attack_complexity] if args.key?(:attack_complexity)
|
139
|
+
@attack_vector = args[:attack_vector] if args.key?(:attack_vector)
|
140
|
+
@availability_impact = args[:availability_impact] if args.key?(:availability_impact)
|
141
|
+
@base_score = args[:base_score] if args.key?(:base_score)
|
142
|
+
@confidentiality_impact = args[:confidentiality_impact] if args.key?(:confidentiality_impact)
|
143
|
+
@exploitability_score = args[:exploitability_score] if args.key?(:exploitability_score)
|
144
|
+
@impact_score = args[:impact_score] if args.key?(:impact_score)
|
145
|
+
@integrity_impact = args[:integrity_impact] if args.key?(:integrity_impact)
|
146
|
+
@privileges_required = args[:privileges_required] if args.key?(:privileges_required)
|
147
|
+
@scope = args[:scope] if args.key?(:scope)
|
148
|
+
@user_interaction = args[:user_interaction] if args.key?(:user_interaction)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
# The request message for Operations.CancelOperation.
|
153
|
+
class CancelOperationRequest
|
154
|
+
include Google::Apis::Core::Hashable
|
155
|
+
|
156
|
+
def initialize(**args)
|
157
|
+
update!(**args)
|
158
|
+
end
|
159
|
+
|
160
|
+
# Update properties of this object
|
161
|
+
def update!(**args)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
60
165
|
# Message for canceling a patch job.
|
61
166
|
class CancelPatchJobRequest
|
62
167
|
include Google::Apis::Core::Hashable
|
@@ -70,6 +175,47 @@ module Google
|
|
70
175
|
end
|
71
176
|
end
|
72
177
|
|
178
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
179
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
180
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
181
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
182
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
183
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
184
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
185
|
+
# google.protobuf.Timestamp`.
|
186
|
+
class Date
|
187
|
+
include Google::Apis::Core::Hashable
|
188
|
+
|
189
|
+
# Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
|
190
|
+
# specify a year by itself or a year and month where the day isn't significant.
|
191
|
+
# Corresponds to the JSON property `day`
|
192
|
+
# @return [Fixnum]
|
193
|
+
attr_accessor :day
|
194
|
+
|
195
|
+
# Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
|
196
|
+
# and day.
|
197
|
+
# Corresponds to the JSON property `month`
|
198
|
+
# @return [Fixnum]
|
199
|
+
attr_accessor :month
|
200
|
+
|
201
|
+
# Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
|
202
|
+
# year.
|
203
|
+
# Corresponds to the JSON property `year`
|
204
|
+
# @return [Fixnum]
|
205
|
+
attr_accessor :year
|
206
|
+
|
207
|
+
def initialize(**args)
|
208
|
+
update!(**args)
|
209
|
+
end
|
210
|
+
|
211
|
+
# Update properties of this object
|
212
|
+
def update!(**args)
|
213
|
+
@day = args[:day] if args.key?(:day)
|
214
|
+
@month = args[:month] if args.key?(:month)
|
215
|
+
@year = args[:year] if args.key?(:year)
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
73
219
|
# A generic empty message that you can re-use to avoid defining duplicated empty
|
74
220
|
# messages in your APIs. A typical example is to use it as the request or the
|
75
221
|
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
@@ -286,7 +432,11 @@ module Google
|
|
286
432
|
end
|
287
433
|
end
|
288
434
|
|
289
|
-
#
|
435
|
+
# This API resource represents the available inventory data for a Compute Engine
|
436
|
+
# virtual machine (VM) instance at a given point in time. You can use this API
|
437
|
+
# resource to determine the inventory data of your VM. For more information, see
|
438
|
+
# [Information provided by OS inventory management](https://cloud.google.com/
|
439
|
+
# compute/docs/instances/os-inventory-management#data-collected).
|
290
440
|
class Inventory
|
291
441
|
include Google::Apis::Core::Hashable
|
292
442
|
|
@@ -297,11 +447,22 @@ module Google
|
|
297
447
|
# @return [Hash<String,Google::Apis::OsconfigV1::InventoryItem>]
|
298
448
|
attr_accessor :items
|
299
449
|
|
450
|
+
# Output only. The `Inventory` API resource name. Format: `projects/`
|
451
|
+
# project_number`/locations/`location`/instances/`instance_id`/inventory`
|
452
|
+
# Corresponds to the JSON property `name`
|
453
|
+
# @return [String]
|
454
|
+
attr_accessor :name
|
455
|
+
|
300
456
|
# Operating system information for the VM.
|
301
457
|
# Corresponds to the JSON property `osInfo`
|
302
458
|
# @return [Google::Apis::OsconfigV1::InventoryOsInfo]
|
303
459
|
attr_accessor :os_info
|
304
460
|
|
461
|
+
# Output only. Timestamp of the last reported inventory for the VM.
|
462
|
+
# Corresponds to the JSON property `updateTime`
|
463
|
+
# @return [String]
|
464
|
+
attr_accessor :update_time
|
465
|
+
|
305
466
|
def initialize(**args)
|
306
467
|
update!(**args)
|
307
468
|
end
|
@@ -309,7 +470,9 @@ module Google
|
|
309
470
|
# Update properties of this object
|
310
471
|
def update!(**args)
|
311
472
|
@items = args[:items] if args.key?(:items)
|
473
|
+
@name = args[:name] if args.key?(:name)
|
312
474
|
@os_info = args[:os_info] if args.key?(:os_info)
|
475
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
313
476
|
end
|
314
477
|
end
|
315
478
|
|
@@ -459,6 +622,13 @@ module Google
|
|
459
622
|
# @return [Google::Apis::OsconfigV1::InventoryWindowsQuickFixEngineeringPackage]
|
460
623
|
attr_accessor :qfe_package
|
461
624
|
|
625
|
+
# Contains information about a Windows application that is retrieved from the
|
626
|
+
# Windows Registry. For more information about these fields, see Windows
|
627
|
+
# Installer Properties for the Uninstall Registry.
|
628
|
+
# Corresponds to the JSON property `windowsApplication`
|
629
|
+
# @return [Google::Apis::OsconfigV1::InventoryWindowsApplication]
|
630
|
+
attr_accessor :windows_application
|
631
|
+
|
462
632
|
# Details related to a Windows Update package. Field data and names are taken
|
463
633
|
# from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/
|
464
634
|
# windows/win32/api/_wua/ Descriptive fields like title, and description are
|
@@ -494,6 +664,7 @@ module Google
|
|
494
664
|
@cos_package = args[:cos_package] if args.key?(:cos_package)
|
495
665
|
@googet_package = args[:googet_package] if args.key?(:googet_package)
|
496
666
|
@qfe_package = args[:qfe_package] if args.key?(:qfe_package)
|
667
|
+
@windows_application = args[:windows_application] if args.key?(:windows_application)
|
497
668
|
@wua_package = args[:wua_package] if args.key?(:wua_package)
|
498
669
|
@yum_package = args[:yum_package] if args.key?(:yum_package)
|
499
670
|
@zypper_package = args[:zypper_package] if args.key?(:zypper_package)
|
@@ -533,6 +704,58 @@ module Google
|
|
533
704
|
end
|
534
705
|
end
|
535
706
|
|
707
|
+
# Contains information about a Windows application that is retrieved from the
|
708
|
+
# Windows Registry. For more information about these fields, see Windows
|
709
|
+
# Installer Properties for the Uninstall Registry.
|
710
|
+
class InventoryWindowsApplication
|
711
|
+
include Google::Apis::Core::Hashable
|
712
|
+
|
713
|
+
# The name of the application or product.
|
714
|
+
# Corresponds to the JSON property `displayName`
|
715
|
+
# @return [String]
|
716
|
+
attr_accessor :display_name
|
717
|
+
|
718
|
+
# The version of the product or application in string format.
|
719
|
+
# Corresponds to the JSON property `displayVersion`
|
720
|
+
# @return [String]
|
721
|
+
attr_accessor :display_version
|
722
|
+
|
723
|
+
# The internet address for technical support.
|
724
|
+
# Corresponds to the JSON property `helpLink`
|
725
|
+
# @return [String]
|
726
|
+
attr_accessor :help_link
|
727
|
+
|
728
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
729
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
730
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
731
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
732
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
733
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
734
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
735
|
+
# google.protobuf.Timestamp`.
|
736
|
+
# Corresponds to the JSON property `installDate`
|
737
|
+
# @return [Google::Apis::OsconfigV1::Date]
|
738
|
+
attr_accessor :install_date
|
739
|
+
|
740
|
+
# The name of the manufacturer for the product or application.
|
741
|
+
# Corresponds to the JSON property `publisher`
|
742
|
+
# @return [String]
|
743
|
+
attr_accessor :publisher
|
744
|
+
|
745
|
+
def initialize(**args)
|
746
|
+
update!(**args)
|
747
|
+
end
|
748
|
+
|
749
|
+
# Update properties of this object
|
750
|
+
def update!(**args)
|
751
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
752
|
+
@display_version = args[:display_version] if args.key?(:display_version)
|
753
|
+
@help_link = args[:help_link] if args.key?(:help_link)
|
754
|
+
@install_date = args[:install_date] if args.key?(:install_date)
|
755
|
+
@publisher = args[:publisher] if args.key?(:publisher)
|
756
|
+
end
|
757
|
+
end
|
758
|
+
|
536
759
|
# Information related to a Quick Fix Engineering package. Fields are taken from
|
537
760
|
# Windows QuickFixEngineering Interface and match the source names: https://docs.
|
538
761
|
# microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
|
@@ -652,10 +875,1386 @@ module Google
|
|
652
875
|
# @return [String]
|
653
876
|
attr_accessor :id
|
654
877
|
|
655
|
-
# The name of the windows update category.
|
656
|
-
# Corresponds to the JSON property `name`
|
657
|
-
# @return [String]
|
658
|
-
attr_accessor :name
|
878
|
+
# The name of the windows update category.
|
879
|
+
# Corresponds to the JSON property `name`
|
880
|
+
# @return [String]
|
881
|
+
attr_accessor :name
|
882
|
+
|
883
|
+
def initialize(**args)
|
884
|
+
update!(**args)
|
885
|
+
end
|
886
|
+
|
887
|
+
# Update properties of this object
|
888
|
+
def update!(**args)
|
889
|
+
@id = args[:id] if args.key?(:id)
|
890
|
+
@name = args[:name] if args.key?(:name)
|
891
|
+
end
|
892
|
+
end
|
893
|
+
|
894
|
+
# Details related to a Zypper Patch.
|
895
|
+
class InventoryZypperPatch
|
896
|
+
include Google::Apis::Core::Hashable
|
897
|
+
|
898
|
+
# The category of the patch.
|
899
|
+
# Corresponds to the JSON property `category`
|
900
|
+
# @return [String]
|
901
|
+
attr_accessor :category
|
902
|
+
|
903
|
+
# The name of the patch.
|
904
|
+
# Corresponds to the JSON property `patchName`
|
905
|
+
# @return [String]
|
906
|
+
attr_accessor :patch_name
|
907
|
+
|
908
|
+
# The severity specified for this patch
|
909
|
+
# Corresponds to the JSON property `severity`
|
910
|
+
# @return [String]
|
911
|
+
attr_accessor :severity
|
912
|
+
|
913
|
+
# Any summary information provided about this patch.
|
914
|
+
# Corresponds to the JSON property `summary`
|
915
|
+
# @return [String]
|
916
|
+
attr_accessor :summary
|
917
|
+
|
918
|
+
def initialize(**args)
|
919
|
+
update!(**args)
|
920
|
+
end
|
921
|
+
|
922
|
+
# Update properties of this object
|
923
|
+
def update!(**args)
|
924
|
+
@category = args[:category] if args.key?(:category)
|
925
|
+
@patch_name = args[:patch_name] if args.key?(:patch_name)
|
926
|
+
@severity = args[:severity] if args.key?(:severity)
|
927
|
+
@summary = args[:summary] if args.key?(:summary)
|
928
|
+
end
|
929
|
+
end
|
930
|
+
|
931
|
+
# A response message for listing inventory data for all VMs in a specified
|
932
|
+
# location.
|
933
|
+
class ListInventoriesResponse
|
934
|
+
include Google::Apis::Core::Hashable
|
935
|
+
|
936
|
+
# List of inventory objects.
|
937
|
+
# Corresponds to the JSON property `inventories`
|
938
|
+
# @return [Array<Google::Apis::OsconfigV1::Inventory>]
|
939
|
+
attr_accessor :inventories
|
940
|
+
|
941
|
+
# The pagination token to retrieve the next page of inventory objects.
|
942
|
+
# Corresponds to the JSON property `nextPageToken`
|
943
|
+
# @return [String]
|
944
|
+
attr_accessor :next_page_token
|
945
|
+
|
946
|
+
def initialize(**args)
|
947
|
+
update!(**args)
|
948
|
+
end
|
949
|
+
|
950
|
+
# Update properties of this object
|
951
|
+
def update!(**args)
|
952
|
+
@inventories = args[:inventories] if args.key?(:inventories)
|
953
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
954
|
+
end
|
955
|
+
end
|
956
|
+
|
957
|
+
# A response message for listing OS Policy assignment reports including the page
|
958
|
+
# of results and page token.
|
959
|
+
class ListOsPolicyAssignmentReportsResponse
|
960
|
+
include Google::Apis::Core::Hashable
|
961
|
+
|
962
|
+
# The pagination token to retrieve the next page of OS policy assignment report
|
963
|
+
# objects.
|
964
|
+
# Corresponds to the JSON property `nextPageToken`
|
965
|
+
# @return [String]
|
966
|
+
attr_accessor :next_page_token
|
967
|
+
|
968
|
+
# List of OS policy assignment reports.
|
969
|
+
# Corresponds to the JSON property `osPolicyAssignmentReports`
|
970
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentReport>]
|
971
|
+
attr_accessor :os_policy_assignment_reports
|
972
|
+
|
973
|
+
def initialize(**args)
|
974
|
+
update!(**args)
|
975
|
+
end
|
976
|
+
|
977
|
+
# Update properties of this object
|
978
|
+
def update!(**args)
|
979
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
980
|
+
@os_policy_assignment_reports = args[:os_policy_assignment_reports] if args.key?(:os_policy_assignment_reports)
|
981
|
+
end
|
982
|
+
end
|
983
|
+
|
984
|
+
# A response message for listing all revisions for a OS policy assignment.
|
985
|
+
class ListOsPolicyAssignmentRevisionsResponse
|
986
|
+
include Google::Apis::Core::Hashable
|
987
|
+
|
988
|
+
# The pagination token to retrieve the next page of OS policy assignment
|
989
|
+
# revisions.
|
990
|
+
# Corresponds to the JSON property `nextPageToken`
|
991
|
+
# @return [String]
|
992
|
+
attr_accessor :next_page_token
|
993
|
+
|
994
|
+
# The OS policy assignment revisions
|
995
|
+
# Corresponds to the JSON property `osPolicyAssignments`
|
996
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignment>]
|
997
|
+
attr_accessor :os_policy_assignments
|
998
|
+
|
999
|
+
def initialize(**args)
|
1000
|
+
update!(**args)
|
1001
|
+
end
|
1002
|
+
|
1003
|
+
# Update properties of this object
|
1004
|
+
def update!(**args)
|
1005
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1006
|
+
@os_policy_assignments = args[:os_policy_assignments] if args.key?(:os_policy_assignments)
|
1007
|
+
end
|
1008
|
+
end
|
1009
|
+
|
1010
|
+
# A response message for listing all assignments under given parent.
|
1011
|
+
class ListOsPolicyAssignmentsResponse
|
1012
|
+
include Google::Apis::Core::Hashable
|
1013
|
+
|
1014
|
+
# The pagination token to retrieve the next page of OS policy assignments.
|
1015
|
+
# Corresponds to the JSON property `nextPageToken`
|
1016
|
+
# @return [String]
|
1017
|
+
attr_accessor :next_page_token
|
1018
|
+
|
1019
|
+
# The list of assignments
|
1020
|
+
# Corresponds to the JSON property `osPolicyAssignments`
|
1021
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignment>]
|
1022
|
+
attr_accessor :os_policy_assignments
|
1023
|
+
|
1024
|
+
def initialize(**args)
|
1025
|
+
update!(**args)
|
1026
|
+
end
|
1027
|
+
|
1028
|
+
# Update properties of this object
|
1029
|
+
def update!(**args)
|
1030
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1031
|
+
@os_policy_assignments = args[:os_policy_assignments] if args.key?(:os_policy_assignments)
|
1032
|
+
end
|
1033
|
+
end
|
1034
|
+
|
1035
|
+
# A response message for listing patch deployments.
|
1036
|
+
class ListPatchDeploymentsResponse
|
1037
|
+
include Google::Apis::Core::Hashable
|
1038
|
+
|
1039
|
+
# A pagination token that can be used to get the next page of patch deployments.
|
1040
|
+
# Corresponds to the JSON property `nextPageToken`
|
1041
|
+
# @return [String]
|
1042
|
+
attr_accessor :next_page_token
|
1043
|
+
|
1044
|
+
# The list of patch deployments.
|
1045
|
+
# Corresponds to the JSON property `patchDeployments`
|
1046
|
+
# @return [Array<Google::Apis::OsconfigV1::PatchDeployment>]
|
1047
|
+
attr_accessor :patch_deployments
|
1048
|
+
|
1049
|
+
def initialize(**args)
|
1050
|
+
update!(**args)
|
1051
|
+
end
|
1052
|
+
|
1053
|
+
# Update properties of this object
|
1054
|
+
def update!(**args)
|
1055
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1056
|
+
@patch_deployments = args[:patch_deployments] if args.key?(:patch_deployments)
|
1057
|
+
end
|
1058
|
+
end
|
1059
|
+
|
1060
|
+
# A response message for listing the instances details for a patch job.
|
1061
|
+
class ListPatchJobInstanceDetailsResponse
|
1062
|
+
include Google::Apis::Core::Hashable
|
1063
|
+
|
1064
|
+
# A pagination token that can be used to get the next page of results.
|
1065
|
+
# Corresponds to the JSON property `nextPageToken`
|
1066
|
+
# @return [String]
|
1067
|
+
attr_accessor :next_page_token
|
1068
|
+
|
1069
|
+
# A list of instance status.
|
1070
|
+
# Corresponds to the JSON property `patchJobInstanceDetails`
|
1071
|
+
# @return [Array<Google::Apis::OsconfigV1::PatchJobInstanceDetails>]
|
1072
|
+
attr_accessor :patch_job_instance_details
|
1073
|
+
|
1074
|
+
def initialize(**args)
|
1075
|
+
update!(**args)
|
1076
|
+
end
|
1077
|
+
|
1078
|
+
# Update properties of this object
|
1079
|
+
def update!(**args)
|
1080
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1081
|
+
@patch_job_instance_details = args[:patch_job_instance_details] if args.key?(:patch_job_instance_details)
|
1082
|
+
end
|
1083
|
+
end
|
1084
|
+
|
1085
|
+
# A response message for listing patch jobs.
|
1086
|
+
class ListPatchJobsResponse
|
1087
|
+
include Google::Apis::Core::Hashable
|
1088
|
+
|
1089
|
+
# A pagination token that can be used to get the next page of results.
|
1090
|
+
# Corresponds to the JSON property `nextPageToken`
|
1091
|
+
# @return [String]
|
1092
|
+
attr_accessor :next_page_token
|
1093
|
+
|
1094
|
+
# The list of patch jobs.
|
1095
|
+
# Corresponds to the JSON property `patchJobs`
|
1096
|
+
# @return [Array<Google::Apis::OsconfigV1::PatchJob>]
|
1097
|
+
attr_accessor :patch_jobs
|
1098
|
+
|
1099
|
+
def initialize(**args)
|
1100
|
+
update!(**args)
|
1101
|
+
end
|
1102
|
+
|
1103
|
+
# Update properties of this object
|
1104
|
+
def update!(**args)
|
1105
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1106
|
+
@patch_jobs = args[:patch_jobs] if args.key?(:patch_jobs)
|
1107
|
+
end
|
1108
|
+
end
|
1109
|
+
|
1110
|
+
# A response message for listing vulnerability reports for all VM instances in
|
1111
|
+
# the specified location.
|
1112
|
+
class ListVulnerabilityReportsResponse
|
1113
|
+
include Google::Apis::Core::Hashable
|
1114
|
+
|
1115
|
+
# The pagination token to retrieve the next page of vulnerabilityReports object.
|
1116
|
+
# Corresponds to the JSON property `nextPageToken`
|
1117
|
+
# @return [String]
|
1118
|
+
attr_accessor :next_page_token
|
1119
|
+
|
1120
|
+
# List of vulnerabilityReport objects.
|
1121
|
+
# Corresponds to the JSON property `vulnerabilityReports`
|
1122
|
+
# @return [Array<Google::Apis::OsconfigV1::VulnerabilityReport>]
|
1123
|
+
attr_accessor :vulnerability_reports
|
1124
|
+
|
1125
|
+
def initialize(**args)
|
1126
|
+
update!(**args)
|
1127
|
+
end
|
1128
|
+
|
1129
|
+
# Update properties of this object
|
1130
|
+
def update!(**args)
|
1131
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1132
|
+
@vulnerability_reports = args[:vulnerability_reports] if args.key?(:vulnerability_reports)
|
1133
|
+
end
|
1134
|
+
end
|
1135
|
+
|
1136
|
+
# Represents a monthly schedule. An example of a valid monthly schedule is "on
|
1137
|
+
# the third Tuesday of the month" or "on the 15th of the month".
|
1138
|
+
class MonthlySchedule
|
1139
|
+
include Google::Apis::Core::Hashable
|
1140
|
+
|
1141
|
+
# Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
|
1142
|
+
# indicates the last day of the month. Months without the target day will be
|
1143
|
+
# skipped. For example, a schedule to run "every month on the 31st" will not run
|
1144
|
+
# in February, April, June, etc.
|
1145
|
+
# Corresponds to the JSON property `monthDay`
|
1146
|
+
# @return [Fixnum]
|
1147
|
+
attr_accessor :month_day
|
1148
|
+
|
1149
|
+
# Represents one week day in a month. An example is "the 4th Sunday".
|
1150
|
+
# Corresponds to the JSON property `weekDayOfMonth`
|
1151
|
+
# @return [Google::Apis::OsconfigV1::WeekDayOfMonth]
|
1152
|
+
attr_accessor :week_day_of_month
|
1153
|
+
|
1154
|
+
def initialize(**args)
|
1155
|
+
update!(**args)
|
1156
|
+
end
|
1157
|
+
|
1158
|
+
# Update properties of this object
|
1159
|
+
def update!(**args)
|
1160
|
+
@month_day = args[:month_day] if args.key?(:month_day)
|
1161
|
+
@week_day_of_month = args[:week_day_of_month] if args.key?(:week_day_of_month)
|
1162
|
+
end
|
1163
|
+
end
|
1164
|
+
|
1165
|
+
# An OS policy defines the desired state configuration for a VM.
|
1166
|
+
class OsPolicy
|
1167
|
+
include Google::Apis::Core::Hashable
|
1168
|
+
|
1169
|
+
# This flag determines the OS policy compliance status when none of the resource
|
1170
|
+
# groups within the policy are applicable for a VM. Set this value to `true` if
|
1171
|
+
# the policy needs to be reported as compliant even if the policy has nothing to
|
1172
|
+
# validate or enforce.
|
1173
|
+
# Corresponds to the JSON property `allowNoResourceGroupMatch`
|
1174
|
+
# @return [Boolean]
|
1175
|
+
attr_accessor :allow_no_resource_group_match
|
1176
|
+
alias_method :allow_no_resource_group_match?, :allow_no_resource_group_match
|
1177
|
+
|
1178
|
+
# Policy description. Length of the description is limited to 1024 characters.
|
1179
|
+
# Corresponds to the JSON property `description`
|
1180
|
+
# @return [String]
|
1181
|
+
attr_accessor :description
|
1182
|
+
|
1183
|
+
# Required. The id of the OS policy with the following restrictions: * Must
|
1184
|
+
# contain only lowercase letters, numbers, and hyphens. * Must start with a
|
1185
|
+
# letter. * Must be between 1-63 characters. * Must end with a number or a
|
1186
|
+
# letter. * Must be unique within the assignment.
|
1187
|
+
# Corresponds to the JSON property `id`
|
1188
|
+
# @return [String]
|
1189
|
+
attr_accessor :id
|
1190
|
+
|
1191
|
+
# Required. Policy mode
|
1192
|
+
# Corresponds to the JSON property `mode`
|
1193
|
+
# @return [String]
|
1194
|
+
attr_accessor :mode
|
1195
|
+
|
1196
|
+
# Required. List of resource groups for the policy. For a particular VM,
|
1197
|
+
# resource groups are evaluated in the order specified and the first resource
|
1198
|
+
# group that is applicable is selected and the rest are ignored. If none of the
|
1199
|
+
# resource groups are applicable for a VM, the VM is considered to be non-
|
1200
|
+
# compliant w.r.t this policy. This behavior can be toggled by the flag `
|
1201
|
+
# allow_no_resource_group_match`
|
1202
|
+
# Corresponds to the JSON property `resourceGroups`
|
1203
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyResourceGroup>]
|
1204
|
+
attr_accessor :resource_groups
|
1205
|
+
|
1206
|
+
def initialize(**args)
|
1207
|
+
update!(**args)
|
1208
|
+
end
|
1209
|
+
|
1210
|
+
# Update properties of this object
|
1211
|
+
def update!(**args)
|
1212
|
+
@allow_no_resource_group_match = args[:allow_no_resource_group_match] if args.key?(:allow_no_resource_group_match)
|
1213
|
+
@description = args[:description] if args.key?(:description)
|
1214
|
+
@id = args[:id] if args.key?(:id)
|
1215
|
+
@mode = args[:mode] if args.key?(:mode)
|
1216
|
+
@resource_groups = args[:resource_groups] if args.key?(:resource_groups)
|
1217
|
+
end
|
1218
|
+
end
|
1219
|
+
|
1220
|
+
# OS policy assignment is an API resource that is used to apply a set of OS
|
1221
|
+
# policies to a dynamically targeted group of Compute Engine VM instances. An OS
|
1222
|
+
# policy is used to define the desired state configuration for a Compute Engine
|
1223
|
+
# VM instance through a set of configuration resources that provide capabilities
|
1224
|
+
# such as installing or removing software packages, or executing a script. For
|
1225
|
+
# more information, see [OS policy and OS policy assignment](https://cloud.
|
1226
|
+
# google.com/compute/docs/os-configuration-management/working-with-os-policies).
|
1227
|
+
class OsPolicyAssignment
|
1228
|
+
include Google::Apis::Core::Hashable
|
1229
|
+
|
1230
|
+
# Output only. Indicates that this revision has been successfully rolled out in
|
1231
|
+
# this zone and new VMs will be assigned OS policies from this revision. For a
|
1232
|
+
# given OS policy assignment, there is only one revision with a value of `true`
|
1233
|
+
# for this field.
|
1234
|
+
# Corresponds to the JSON property `baseline`
|
1235
|
+
# @return [Boolean]
|
1236
|
+
attr_accessor :baseline
|
1237
|
+
alias_method :baseline?, :baseline
|
1238
|
+
|
1239
|
+
# Output only. Indicates that this revision deletes the OS policy assignment.
|
1240
|
+
# Corresponds to the JSON property `deleted`
|
1241
|
+
# @return [Boolean]
|
1242
|
+
attr_accessor :deleted
|
1243
|
+
alias_method :deleted?, :deleted
|
1244
|
+
|
1245
|
+
# OS policy assignment description. Length of the description is limited to 1024
|
1246
|
+
# characters.
|
1247
|
+
# Corresponds to the JSON property `description`
|
1248
|
+
# @return [String]
|
1249
|
+
attr_accessor :description
|
1250
|
+
|
1251
|
+
# The etag for this OS policy assignment. If this is provided on update, it must
|
1252
|
+
# match the server's etag.
|
1253
|
+
# Corresponds to the JSON property `etag`
|
1254
|
+
# @return [String]
|
1255
|
+
attr_accessor :etag
|
1256
|
+
|
1257
|
+
# Filters to select target VMs for an assignment. If more than one filter
|
1258
|
+
# criteria is specified below, a VM will be selected if and only if it satisfies
|
1259
|
+
# all of them.
|
1260
|
+
# Corresponds to the JSON property `instanceFilter`
|
1261
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyAssignmentInstanceFilter]
|
1262
|
+
attr_accessor :instance_filter
|
1263
|
+
|
1264
|
+
# Resource name. Format: `projects/`project_number`/locations/`location`/
|
1265
|
+
# osPolicyAssignments/`os_policy_assignment_id`` This field is ignored when you
|
1266
|
+
# create an OS policy assignment.
|
1267
|
+
# Corresponds to the JSON property `name`
|
1268
|
+
# @return [String]
|
1269
|
+
attr_accessor :name
|
1270
|
+
|
1271
|
+
# Required. List of OS policies to be applied to the VMs.
|
1272
|
+
# Corresponds to the JSON property `osPolicies`
|
1273
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicy>]
|
1274
|
+
attr_accessor :os_policies
|
1275
|
+
|
1276
|
+
# Output only. Indicates that reconciliation is in progress for the revision.
|
1277
|
+
# This value is `true` when the `rollout_state` is one of: * IN_PROGRESS *
|
1278
|
+
# CANCELLING
|
1279
|
+
# Corresponds to the JSON property `reconciling`
|
1280
|
+
# @return [Boolean]
|
1281
|
+
attr_accessor :reconciling
|
1282
|
+
alias_method :reconciling?, :reconciling
|
1283
|
+
|
1284
|
+
# Output only. The timestamp that the revision was created.
|
1285
|
+
# Corresponds to the JSON property `revisionCreateTime`
|
1286
|
+
# @return [String]
|
1287
|
+
attr_accessor :revision_create_time
|
1288
|
+
|
1289
|
+
# Output only. The assignment revision ID A new revision is committed whenever a
|
1290
|
+
# rollout is triggered for a OS policy assignment
|
1291
|
+
# Corresponds to the JSON property `revisionId`
|
1292
|
+
# @return [String]
|
1293
|
+
attr_accessor :revision_id
|
1294
|
+
|
1295
|
+
# Message to configure the rollout at the zonal level for the OS policy
|
1296
|
+
# assignment.
|
1297
|
+
# Corresponds to the JSON property `rollout`
|
1298
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyAssignmentRollout]
|
1299
|
+
attr_accessor :rollout
|
1300
|
+
|
1301
|
+
# Output only. OS policy assignment rollout state
|
1302
|
+
# Corresponds to the JSON property `rolloutState`
|
1303
|
+
# @return [String]
|
1304
|
+
attr_accessor :rollout_state
|
1305
|
+
|
1306
|
+
# Output only. Server generated unique id for the OS policy assignment resource.
|
1307
|
+
# Corresponds to the JSON property `uid`
|
1308
|
+
# @return [String]
|
1309
|
+
attr_accessor :uid
|
1310
|
+
|
1311
|
+
def initialize(**args)
|
1312
|
+
update!(**args)
|
1313
|
+
end
|
1314
|
+
|
1315
|
+
# Update properties of this object
|
1316
|
+
def update!(**args)
|
1317
|
+
@baseline = args[:baseline] if args.key?(:baseline)
|
1318
|
+
@deleted = args[:deleted] if args.key?(:deleted)
|
1319
|
+
@description = args[:description] if args.key?(:description)
|
1320
|
+
@etag = args[:etag] if args.key?(:etag)
|
1321
|
+
@instance_filter = args[:instance_filter] if args.key?(:instance_filter)
|
1322
|
+
@name = args[:name] if args.key?(:name)
|
1323
|
+
@os_policies = args[:os_policies] if args.key?(:os_policies)
|
1324
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
1325
|
+
@revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
|
1326
|
+
@revision_id = args[:revision_id] if args.key?(:revision_id)
|
1327
|
+
@rollout = args[:rollout] if args.key?(:rollout)
|
1328
|
+
@rollout_state = args[:rollout_state] if args.key?(:rollout_state)
|
1329
|
+
@uid = args[:uid] if args.key?(:uid)
|
1330
|
+
end
|
1331
|
+
end
|
1332
|
+
|
1333
|
+
# Filters to select target VMs for an assignment. If more than one filter
|
1334
|
+
# criteria is specified below, a VM will be selected if and only if it satisfies
|
1335
|
+
# all of them.
|
1336
|
+
class OsPolicyAssignmentInstanceFilter
|
1337
|
+
include Google::Apis::Core::Hashable
|
1338
|
+
|
1339
|
+
# Target all VMs in the project. If true, no other criteria is permitted.
|
1340
|
+
# Corresponds to the JSON property `all`
|
1341
|
+
# @return [Boolean]
|
1342
|
+
attr_accessor :all
|
1343
|
+
alias_method :all?, :all
|
1344
|
+
|
1345
|
+
# List of label sets used for VM exclusion. If the list has more than one label
|
1346
|
+
# set, the VM is excluded if any of the label sets are applicable for the VM.
|
1347
|
+
# Corresponds to the JSON property `exclusionLabels`
|
1348
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentLabelSet>]
|
1349
|
+
attr_accessor :exclusion_labels
|
1350
|
+
|
1351
|
+
# List of label sets used for VM inclusion. If the list has more than one `
|
1352
|
+
# LabelSet`, the VM is included if any of the label sets are applicable for the
|
1353
|
+
# VM.
|
1354
|
+
# Corresponds to the JSON property `inclusionLabels`
|
1355
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentLabelSet>]
|
1356
|
+
attr_accessor :inclusion_labels
|
1357
|
+
|
1358
|
+
# List of inventories to select VMs. A VM is selected if its inventory data
|
1359
|
+
# matches at least one of the following inventories.
|
1360
|
+
# Corresponds to the JSON property `inventories`
|
1361
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentInstanceFilterInventory>]
|
1362
|
+
attr_accessor :inventories
|
1363
|
+
|
1364
|
+
def initialize(**args)
|
1365
|
+
update!(**args)
|
1366
|
+
end
|
1367
|
+
|
1368
|
+
# Update properties of this object
|
1369
|
+
def update!(**args)
|
1370
|
+
@all = args[:all] if args.key?(:all)
|
1371
|
+
@exclusion_labels = args[:exclusion_labels] if args.key?(:exclusion_labels)
|
1372
|
+
@inclusion_labels = args[:inclusion_labels] if args.key?(:inclusion_labels)
|
1373
|
+
@inventories = args[:inventories] if args.key?(:inventories)
|
1374
|
+
end
|
1375
|
+
end
|
1376
|
+
|
1377
|
+
# VM inventory details.
|
1378
|
+
class OsPolicyAssignmentInstanceFilterInventory
|
1379
|
+
include Google::Apis::Core::Hashable
|
1380
|
+
|
1381
|
+
# Required. The OS short name
|
1382
|
+
# Corresponds to the JSON property `osShortName`
|
1383
|
+
# @return [String]
|
1384
|
+
attr_accessor :os_short_name
|
1385
|
+
|
1386
|
+
# The OS version Prefix matches are supported if asterisk(*) is provided as the
|
1387
|
+
# last character. For example, to match all versions with a major version of `7`,
|
1388
|
+
# specify the following value for this field `7.*` An empty string matches all
|
1389
|
+
# OS versions.
|
1390
|
+
# Corresponds to the JSON property `osVersion`
|
1391
|
+
# @return [String]
|
1392
|
+
attr_accessor :os_version
|
1393
|
+
|
1394
|
+
def initialize(**args)
|
1395
|
+
update!(**args)
|
1396
|
+
end
|
1397
|
+
|
1398
|
+
# Update properties of this object
|
1399
|
+
def update!(**args)
|
1400
|
+
@os_short_name = args[:os_short_name] if args.key?(:os_short_name)
|
1401
|
+
@os_version = args[:os_version] if args.key?(:os_version)
|
1402
|
+
end
|
1403
|
+
end
|
1404
|
+
|
1405
|
+
# Message representing label set. * A label is a key value pair set for a VM. *
|
1406
|
+
# A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other
|
1407
|
+
# words, a LabelSet is applicable for a VM only if it matches all the labels in
|
1408
|
+
# the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=
|
1409
|
+
# webserver` will only be applicable for those VMs with both labels present.
|
1410
|
+
class OsPolicyAssignmentLabelSet
|
1411
|
+
include Google::Apis::Core::Hashable
|
1412
|
+
|
1413
|
+
# Labels are identified by key/value pairs in this map. A VM should contain all
|
1414
|
+
# the key/value pairs specified in this map to be selected.
|
1415
|
+
# Corresponds to the JSON property `labels`
|
1416
|
+
# @return [Hash<String,String>]
|
1417
|
+
attr_accessor :labels
|
1418
|
+
|
1419
|
+
def initialize(**args)
|
1420
|
+
update!(**args)
|
1421
|
+
end
|
1422
|
+
|
1423
|
+
# Update properties of this object
|
1424
|
+
def update!(**args)
|
1425
|
+
@labels = args[:labels] if args.key?(:labels)
|
1426
|
+
end
|
1427
|
+
end
|
1428
|
+
|
1429
|
+
# OS policy assignment operation metadata provided by OS policy assignment API
|
1430
|
+
# methods that return long running operations.
|
1431
|
+
class OsPolicyAssignmentOperationMetadata
|
1432
|
+
include Google::Apis::Core::Hashable
|
1433
|
+
|
1434
|
+
# The OS policy assignment API method.
|
1435
|
+
# Corresponds to the JSON property `apiMethod`
|
1436
|
+
# @return [String]
|
1437
|
+
attr_accessor :api_method
|
1438
|
+
|
1439
|
+
# Reference to the `OSPolicyAssignment` API resource. Format: `projects/`
|
1440
|
+
# project_number`/locations/`location`/osPolicyAssignments/`
|
1441
|
+
# os_policy_assignment_id@revision_id``
|
1442
|
+
# Corresponds to the JSON property `osPolicyAssignment`
|
1443
|
+
# @return [String]
|
1444
|
+
attr_accessor :os_policy_assignment
|
1445
|
+
|
1446
|
+
# Rollout start time
|
1447
|
+
# Corresponds to the JSON property `rolloutStartTime`
|
1448
|
+
# @return [String]
|
1449
|
+
attr_accessor :rollout_start_time
|
1450
|
+
|
1451
|
+
# State of the rollout
|
1452
|
+
# Corresponds to the JSON property `rolloutState`
|
1453
|
+
# @return [String]
|
1454
|
+
attr_accessor :rollout_state
|
1455
|
+
|
1456
|
+
# Rollout update time
|
1457
|
+
# Corresponds to the JSON property `rolloutUpdateTime`
|
1458
|
+
# @return [String]
|
1459
|
+
attr_accessor :rollout_update_time
|
1460
|
+
|
1461
|
+
def initialize(**args)
|
1462
|
+
update!(**args)
|
1463
|
+
end
|
1464
|
+
|
1465
|
+
# Update properties of this object
|
1466
|
+
def update!(**args)
|
1467
|
+
@api_method = args[:api_method] if args.key?(:api_method)
|
1468
|
+
@os_policy_assignment = args[:os_policy_assignment] if args.key?(:os_policy_assignment)
|
1469
|
+
@rollout_start_time = args[:rollout_start_time] if args.key?(:rollout_start_time)
|
1470
|
+
@rollout_state = args[:rollout_state] if args.key?(:rollout_state)
|
1471
|
+
@rollout_update_time = args[:rollout_update_time] if args.key?(:rollout_update_time)
|
1472
|
+
end
|
1473
|
+
end
|
1474
|
+
|
1475
|
+
# A report of the OS policy assignment status for a given instance.
|
1476
|
+
class OsPolicyAssignmentReport
|
1477
|
+
include Google::Apis::Core::Hashable
|
1478
|
+
|
1479
|
+
# The Compute Engine VM instance name.
|
1480
|
+
# Corresponds to the JSON property `instance`
|
1481
|
+
# @return [String]
|
1482
|
+
attr_accessor :instance
|
1483
|
+
|
1484
|
+
# Unique identifier of the last attempted run to apply the OS policies
|
1485
|
+
# associated with this assignment on the VM. This ID is logged by the OS Config
|
1486
|
+
# agent while applying the OS policies associated with this assignment on the VM.
|
1487
|
+
# NOTE: If the service is unable to successfully connect to the agent for this
|
1488
|
+
# run, then this id will not be available in the agent logs.
|
1489
|
+
# Corresponds to the JSON property `lastRunId`
|
1490
|
+
# @return [String]
|
1491
|
+
attr_accessor :last_run_id
|
1492
|
+
|
1493
|
+
# The `OSPolicyAssignmentReport` API resource name. Format: `projects/`
|
1494
|
+
# project_number`/locations/`location`/instances/`instance_id`/
|
1495
|
+
# osPolicyAssignments/`os_policy_assignment_id`/report`
|
1496
|
+
# Corresponds to the JSON property `name`
|
1497
|
+
# @return [String]
|
1498
|
+
attr_accessor :name
|
1499
|
+
|
1500
|
+
# Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs
|
1501
|
+
# to. Format: `projects/`project_number`/locations/`location`/
|
1502
|
+
# osPolicyAssignments/`os_policy_assignment_id@revision_id``
|
1503
|
+
# Corresponds to the JSON property `osPolicyAssignment`
|
1504
|
+
# @return [String]
|
1505
|
+
attr_accessor :os_policy_assignment
|
1506
|
+
|
1507
|
+
# Compliance data for each `OSPolicy` that is applied to the VM.
|
1508
|
+
# Corresponds to the JSON property `osPolicyCompliances`
|
1509
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentReportOsPolicyCompliance>]
|
1510
|
+
attr_accessor :os_policy_compliances
|
1511
|
+
|
1512
|
+
# Timestamp for when the report was last generated.
|
1513
|
+
# Corresponds to the JSON property `updateTime`
|
1514
|
+
# @return [String]
|
1515
|
+
attr_accessor :update_time
|
1516
|
+
|
1517
|
+
def initialize(**args)
|
1518
|
+
update!(**args)
|
1519
|
+
end
|
1520
|
+
|
1521
|
+
# Update properties of this object
|
1522
|
+
def update!(**args)
|
1523
|
+
@instance = args[:instance] if args.key?(:instance)
|
1524
|
+
@last_run_id = args[:last_run_id] if args.key?(:last_run_id)
|
1525
|
+
@name = args[:name] if args.key?(:name)
|
1526
|
+
@os_policy_assignment = args[:os_policy_assignment] if args.key?(:os_policy_assignment)
|
1527
|
+
@os_policy_compliances = args[:os_policy_compliances] if args.key?(:os_policy_compliances)
|
1528
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1529
|
+
end
|
1530
|
+
end
|
1531
|
+
|
1532
|
+
# Compliance data for an OS policy
|
1533
|
+
class OsPolicyAssignmentReportOsPolicyCompliance
|
1534
|
+
include Google::Apis::Core::Hashable
|
1535
|
+
|
1536
|
+
# The compliance state of the OS policy.
|
1537
|
+
# Corresponds to the JSON property `complianceState`
|
1538
|
+
# @return [String]
|
1539
|
+
attr_accessor :compliance_state
|
1540
|
+
|
1541
|
+
# The reason for the OS policy to be in an unknown compliance state. This field
|
1542
|
+
# is always populated when `compliance_state` is `UNKNOWN`. If populated, the
|
1543
|
+
# field can contain one of the following values: * `vm-not-running`: The VM was
|
1544
|
+
# not running. * `os-policies-not-supported-by-agent`: The version of the OS
|
1545
|
+
# Config agent running on the VM does not support running OS policies. * `no-
|
1546
|
+
# agent-detected`: The OS Config agent is not detected for the VM. * `resource-
|
1547
|
+
# execution-errors`: The OS Config agent encountered errors while executing one
|
1548
|
+
# or more resources in the policy. See `os_policy_resource_compliances` for
|
1549
|
+
# details. * `task-timeout`: The task sent to the agent to apply the policy
|
1550
|
+
# timed out. * `unexpected-agent-state`: The OS Config agent did not report the
|
1551
|
+
# final status of the task that attempted to apply the policy. Instead, the
|
1552
|
+
# agent unexpectedly started working on a different task. This mostly happens
|
1553
|
+
# when the agent or VM unexpectedly restarts while applying OS policies. * `
|
1554
|
+
# internal-service-errors`: Internal service errors were encountered while
|
1555
|
+
# attempting to apply the policy.
|
1556
|
+
# Corresponds to the JSON property `complianceStateReason`
|
1557
|
+
# @return [String]
|
1558
|
+
attr_accessor :compliance_state_reason
|
1559
|
+
|
1560
|
+
# The OS policy id
|
1561
|
+
# Corresponds to the JSON property `osPolicyId`
|
1562
|
+
# @return [String]
|
1563
|
+
attr_accessor :os_policy_id
|
1564
|
+
|
1565
|
+
# Compliance data for each resource within the policy that is applied to the VM.
|
1566
|
+
# Corresponds to the JSON property `osPolicyResourceCompliances`
|
1567
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentReportOsPolicyComplianceOsPolicyResourceCompliance>]
|
1568
|
+
attr_accessor :os_policy_resource_compliances
|
1569
|
+
|
1570
|
+
def initialize(**args)
|
1571
|
+
update!(**args)
|
1572
|
+
end
|
1573
|
+
|
1574
|
+
# Update properties of this object
|
1575
|
+
def update!(**args)
|
1576
|
+
@compliance_state = args[:compliance_state] if args.key?(:compliance_state)
|
1577
|
+
@compliance_state_reason = args[:compliance_state_reason] if args.key?(:compliance_state_reason)
|
1578
|
+
@os_policy_id = args[:os_policy_id] if args.key?(:os_policy_id)
|
1579
|
+
@os_policy_resource_compliances = args[:os_policy_resource_compliances] if args.key?(:os_policy_resource_compliances)
|
1580
|
+
end
|
1581
|
+
end
|
1582
|
+
|
1583
|
+
# Compliance data for an OS policy resource.
|
1584
|
+
class OsPolicyAssignmentReportOsPolicyComplianceOsPolicyResourceCompliance
|
1585
|
+
include Google::Apis::Core::Hashable
|
1586
|
+
|
1587
|
+
# The compliance state of the resource.
|
1588
|
+
# Corresponds to the JSON property `complianceState`
|
1589
|
+
# @return [String]
|
1590
|
+
attr_accessor :compliance_state
|
1591
|
+
|
1592
|
+
# A reason for the resource to be in the given compliance state. This field is
|
1593
|
+
# always populated when `compliance_state` is `UNKNOWN`. The following values
|
1594
|
+
# are supported when `compliance_state == UNKNOWN` * `execution-errors`: Errors
|
1595
|
+
# were encountered by the agent while executing the resource and the compliance
|
1596
|
+
# state couldn't be determined. * `execution-skipped-by-agent`: Resource
|
1597
|
+
# execution was skipped by the agent because errors were encountered while
|
1598
|
+
# executing prior resources in the OS policy. * `os-policy-execution-attempt-
|
1599
|
+
# failed`: The execution of the OS policy containing this resource failed and
|
1600
|
+
# the compliance state couldn't be determined.
|
1601
|
+
# Corresponds to the JSON property `complianceStateReason`
|
1602
|
+
# @return [String]
|
1603
|
+
attr_accessor :compliance_state_reason
|
1604
|
+
|
1605
|
+
# Ordered list of configuration completed by the agent for the OS policy
|
1606
|
+
# resource.
|
1607
|
+
# Corresponds to the JSON property `configSteps`
|
1608
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyAssignmentReportOsPolicyComplianceOsPolicyResourceComplianceOsPolicyResourceConfigStep>]
|
1609
|
+
attr_accessor :config_steps
|
1610
|
+
|
1611
|
+
# ExecResource specific output.
|
1612
|
+
# Corresponds to the JSON property `execResourceOutput`
|
1613
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyAssignmentReportOsPolicyComplianceOsPolicyResourceComplianceExecResourceOutput]
|
1614
|
+
attr_accessor :exec_resource_output
|
1615
|
+
|
1616
|
+
# The ID of the OS policy resource.
|
1617
|
+
# Corresponds to the JSON property `osPolicyResourceId`
|
1618
|
+
# @return [String]
|
1619
|
+
attr_accessor :os_policy_resource_id
|
1620
|
+
|
1621
|
+
def initialize(**args)
|
1622
|
+
update!(**args)
|
1623
|
+
end
|
1624
|
+
|
1625
|
+
# Update properties of this object
|
1626
|
+
def update!(**args)
|
1627
|
+
@compliance_state = args[:compliance_state] if args.key?(:compliance_state)
|
1628
|
+
@compliance_state_reason = args[:compliance_state_reason] if args.key?(:compliance_state_reason)
|
1629
|
+
@config_steps = args[:config_steps] if args.key?(:config_steps)
|
1630
|
+
@exec_resource_output = args[:exec_resource_output] if args.key?(:exec_resource_output)
|
1631
|
+
@os_policy_resource_id = args[:os_policy_resource_id] if args.key?(:os_policy_resource_id)
|
1632
|
+
end
|
1633
|
+
end
|
1634
|
+
|
1635
|
+
# ExecResource specific output.
|
1636
|
+
class OsPolicyAssignmentReportOsPolicyComplianceOsPolicyResourceComplianceExecResourceOutput
|
1637
|
+
include Google::Apis::Core::Hashable
|
1638
|
+
|
1639
|
+
# Output from enforcement phase output file (if run). Output size is limited to
|
1640
|
+
# 100K bytes.
|
1641
|
+
# Corresponds to the JSON property `enforcementOutput`
|
1642
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
1643
|
+
# @return [String]
|
1644
|
+
attr_accessor :enforcement_output
|
1645
|
+
|
1646
|
+
def initialize(**args)
|
1647
|
+
update!(**args)
|
1648
|
+
end
|
1649
|
+
|
1650
|
+
# Update properties of this object
|
1651
|
+
def update!(**args)
|
1652
|
+
@enforcement_output = args[:enforcement_output] if args.key?(:enforcement_output)
|
1653
|
+
end
|
1654
|
+
end
|
1655
|
+
|
1656
|
+
# Step performed by the OS Config agent for configuring an `OSPolicy` resource
|
1657
|
+
# to its desired state.
|
1658
|
+
class OsPolicyAssignmentReportOsPolicyComplianceOsPolicyResourceComplianceOsPolicyResourceConfigStep
|
1659
|
+
include Google::Apis::Core::Hashable
|
1660
|
+
|
1661
|
+
# An error message recorded during the execution of this step. Only populated if
|
1662
|
+
# errors were encountered during this step execution.
|
1663
|
+
# Corresponds to the JSON property `errorMessage`
|
1664
|
+
# @return [String]
|
1665
|
+
attr_accessor :error_message
|
1666
|
+
|
1667
|
+
# Configuration step type.
|
1668
|
+
# Corresponds to the JSON property `type`
|
1669
|
+
# @return [String]
|
1670
|
+
attr_accessor :type
|
1671
|
+
|
1672
|
+
def initialize(**args)
|
1673
|
+
update!(**args)
|
1674
|
+
end
|
1675
|
+
|
1676
|
+
# Update properties of this object
|
1677
|
+
def update!(**args)
|
1678
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
1679
|
+
@type = args[:type] if args.key?(:type)
|
1680
|
+
end
|
1681
|
+
end
|
1682
|
+
|
1683
|
+
# Message to configure the rollout at the zonal level for the OS policy
|
1684
|
+
# assignment.
|
1685
|
+
class OsPolicyAssignmentRollout
|
1686
|
+
include Google::Apis::Core::Hashable
|
1687
|
+
|
1688
|
+
# Message encapsulating a value that can be either absolute ("fixed") or
|
1689
|
+
# relative ("percent") to a value.
|
1690
|
+
# Corresponds to the JSON property `disruptionBudget`
|
1691
|
+
# @return [Google::Apis::OsconfigV1::FixedOrPercent]
|
1692
|
+
attr_accessor :disruption_budget
|
1693
|
+
|
1694
|
+
# Required. This determines the minimum duration of time to wait after the
|
1695
|
+
# configuration changes are applied through the current rollout. A VM continues
|
1696
|
+
# to count towards the `disruption_budget` at least until this duration of time
|
1697
|
+
# has passed after configuration changes are applied.
|
1698
|
+
# Corresponds to the JSON property `minWaitDuration`
|
1699
|
+
# @return [String]
|
1700
|
+
attr_accessor :min_wait_duration
|
1701
|
+
|
1702
|
+
def initialize(**args)
|
1703
|
+
update!(**args)
|
1704
|
+
end
|
1705
|
+
|
1706
|
+
# Update properties of this object
|
1707
|
+
def update!(**args)
|
1708
|
+
@disruption_budget = args[:disruption_budget] if args.key?(:disruption_budget)
|
1709
|
+
@min_wait_duration = args[:min_wait_duration] if args.key?(:min_wait_duration)
|
1710
|
+
end
|
1711
|
+
end
|
1712
|
+
|
1713
|
+
# Filtering criteria to select VMs based on inventory details.
|
1714
|
+
class OsPolicyInventoryFilter
|
1715
|
+
include Google::Apis::Core::Hashable
|
1716
|
+
|
1717
|
+
# Required. The OS short name
|
1718
|
+
# Corresponds to the JSON property `osShortName`
|
1719
|
+
# @return [String]
|
1720
|
+
attr_accessor :os_short_name
|
1721
|
+
|
1722
|
+
# The OS version Prefix matches are supported if asterisk(*) is provided as the
|
1723
|
+
# last character. For example, to match all versions with a major version of `7`,
|
1724
|
+
# specify the following value for this field `7.*` An empty string matches all
|
1725
|
+
# OS versions.
|
1726
|
+
# Corresponds to the JSON property `osVersion`
|
1727
|
+
# @return [String]
|
1728
|
+
attr_accessor :os_version
|
1729
|
+
|
1730
|
+
def initialize(**args)
|
1731
|
+
update!(**args)
|
1732
|
+
end
|
1733
|
+
|
1734
|
+
# Update properties of this object
|
1735
|
+
def update!(**args)
|
1736
|
+
@os_short_name = args[:os_short_name] if args.key?(:os_short_name)
|
1737
|
+
@os_version = args[:os_version] if args.key?(:os_version)
|
1738
|
+
end
|
1739
|
+
end
|
1740
|
+
|
1741
|
+
# An OS policy resource is used to define the desired state configuration and
|
1742
|
+
# provides a specific functionality like installing/removing packages, executing
|
1743
|
+
# a script etc. The system ensures that resources are always in their desired
|
1744
|
+
# state by taking necessary actions if they have drifted from their desired
|
1745
|
+
# state.
|
1746
|
+
class OsPolicyResource
|
1747
|
+
include Google::Apis::Core::Hashable
|
1748
|
+
|
1749
|
+
# A resource that allows executing scripts on the VM. The `ExecResource` has 2
|
1750
|
+
# stages: `validate` and `enforce` and both stages accept a script as an
|
1751
|
+
# argument to execute. When the `ExecResource` is applied by the agent, it first
|
1752
|
+
# executes the script in the `validate` stage. The `validate` stage can signal
|
1753
|
+
# that the `ExecResource` is already in the desired state by returning an exit
|
1754
|
+
# code of `100`. If the `ExecResource` is not in the desired state, it should
|
1755
|
+
# return an exit code of `101`. Any other exit code returned by this stage is
|
1756
|
+
# considered an error. If the `ExecResource` is not in the desired state based
|
1757
|
+
# on the exit code from the `validate` stage, the agent proceeds to execute the
|
1758
|
+
# script from the `enforce` stage. If the `ExecResource` is already in the
|
1759
|
+
# desired state, the `enforce` stage will not be run. Similar to `validate`
|
1760
|
+
# stage, the `enforce` stage should return an exit code of `100` to indicate
|
1761
|
+
# that the resource in now in its desired state. Any other exit code is
|
1762
|
+
# considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101`
|
1763
|
+
# vs `1`) to have an explicit indicator of `in desired state`, `not in desired
|
1764
|
+
# state` and errors. Because, for example, Powershell will always return an exit
|
1765
|
+
# code of `0` unless an `exit` statement is provided in the script. So, for
|
1766
|
+
# reasons of consistency and being explicit, exit codes `100` and `101` were
|
1767
|
+
# chosen.
|
1768
|
+
# Corresponds to the JSON property `exec`
|
1769
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceExecResource]
|
1770
|
+
attr_accessor :exec
|
1771
|
+
|
1772
|
+
# A resource that manages the state of a file.
|
1773
|
+
# Corresponds to the JSON property `file`
|
1774
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFileResource]
|
1775
|
+
attr_accessor :file
|
1776
|
+
|
1777
|
+
# Required. The id of the resource with the following restrictions: * Must
|
1778
|
+
# contain only lowercase letters, numbers, and hyphens. * Must start with a
|
1779
|
+
# letter. * Must be between 1-63 characters. * Must end with a number or a
|
1780
|
+
# letter. * Must be unique within the OS policy.
|
1781
|
+
# Corresponds to the JSON property `id`
|
1782
|
+
# @return [String]
|
1783
|
+
attr_accessor :id
|
1784
|
+
|
1785
|
+
# A resource that manages a system package.
|
1786
|
+
# Corresponds to the JSON property `pkg`
|
1787
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResource]
|
1788
|
+
attr_accessor :pkg
|
1789
|
+
|
1790
|
+
# A resource that manages a package repository.
|
1791
|
+
# Corresponds to the JSON property `repository`
|
1792
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceRepositoryResource]
|
1793
|
+
attr_accessor :repository
|
1794
|
+
|
1795
|
+
def initialize(**args)
|
1796
|
+
update!(**args)
|
1797
|
+
end
|
1798
|
+
|
1799
|
+
# Update properties of this object
|
1800
|
+
def update!(**args)
|
1801
|
+
@exec = args[:exec] if args.key?(:exec)
|
1802
|
+
@file = args[:file] if args.key?(:file)
|
1803
|
+
@id = args[:id] if args.key?(:id)
|
1804
|
+
@pkg = args[:pkg] if args.key?(:pkg)
|
1805
|
+
@repository = args[:repository] if args.key?(:repository)
|
1806
|
+
end
|
1807
|
+
end
|
1808
|
+
|
1809
|
+
# A resource that allows executing scripts on the VM. The `ExecResource` has 2
|
1810
|
+
# stages: `validate` and `enforce` and both stages accept a script as an
|
1811
|
+
# argument to execute. When the `ExecResource` is applied by the agent, it first
|
1812
|
+
# executes the script in the `validate` stage. The `validate` stage can signal
|
1813
|
+
# that the `ExecResource` is already in the desired state by returning an exit
|
1814
|
+
# code of `100`. If the `ExecResource` is not in the desired state, it should
|
1815
|
+
# return an exit code of `101`. Any other exit code returned by this stage is
|
1816
|
+
# considered an error. If the `ExecResource` is not in the desired state based
|
1817
|
+
# on the exit code from the `validate` stage, the agent proceeds to execute the
|
1818
|
+
# script from the `enforce` stage. If the `ExecResource` is already in the
|
1819
|
+
# desired state, the `enforce` stage will not be run. Similar to `validate`
|
1820
|
+
# stage, the `enforce` stage should return an exit code of `100` to indicate
|
1821
|
+
# that the resource in now in its desired state. Any other exit code is
|
1822
|
+
# considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101`
|
1823
|
+
# vs `1`) to have an explicit indicator of `in desired state`, `not in desired
|
1824
|
+
# state` and errors. Because, for example, Powershell will always return an exit
|
1825
|
+
# code of `0` unless an `exit` statement is provided in the script. So, for
|
1826
|
+
# reasons of consistency and being explicit, exit codes `100` and `101` were
|
1827
|
+
# chosen.
|
1828
|
+
class OsPolicyResourceExecResource
|
1829
|
+
include Google::Apis::Core::Hashable
|
1830
|
+
|
1831
|
+
# A file or script to execute.
|
1832
|
+
# Corresponds to the JSON property `enforce`
|
1833
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceExecResourceExec]
|
1834
|
+
attr_accessor :enforce
|
1835
|
+
|
1836
|
+
# A file or script to execute.
|
1837
|
+
# Corresponds to the JSON property `validate`
|
1838
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceExecResourceExec]
|
1839
|
+
attr_accessor :validate
|
1840
|
+
|
1841
|
+
def initialize(**args)
|
1842
|
+
update!(**args)
|
1843
|
+
end
|
1844
|
+
|
1845
|
+
# Update properties of this object
|
1846
|
+
def update!(**args)
|
1847
|
+
@enforce = args[:enforce] if args.key?(:enforce)
|
1848
|
+
@validate = args[:validate] if args.key?(:validate)
|
1849
|
+
end
|
1850
|
+
end
|
1851
|
+
|
1852
|
+
# A file or script to execute.
|
1853
|
+
class OsPolicyResourceExecResourceExec
|
1854
|
+
include Google::Apis::Core::Hashable
|
1855
|
+
|
1856
|
+
# Optional arguments to pass to the source during execution.
|
1857
|
+
# Corresponds to the JSON property `args`
|
1858
|
+
# @return [Array<String>]
|
1859
|
+
attr_accessor :args
|
1860
|
+
|
1861
|
+
# A remote or local file.
|
1862
|
+
# Corresponds to the JSON property `file`
|
1863
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFile]
|
1864
|
+
attr_accessor :file
|
1865
|
+
|
1866
|
+
# Required. The script interpreter to use.
|
1867
|
+
# Corresponds to the JSON property `interpreter`
|
1868
|
+
# @return [String]
|
1869
|
+
attr_accessor :interpreter
|
1870
|
+
|
1871
|
+
# Only recorded for enforce Exec. Path to an output file (that is created by
|
1872
|
+
# this Exec) whose content will be recorded in OSPolicyResourceCompliance after
|
1873
|
+
# a successful run. Absence or failure to read this file will result in this
|
1874
|
+
# ExecResource being non-compliant. Output file size is limited to 100K bytes.
|
1875
|
+
# Corresponds to the JSON property `outputFilePath`
|
1876
|
+
# @return [String]
|
1877
|
+
attr_accessor :output_file_path
|
1878
|
+
|
1879
|
+
# An inline script. The size of the script is limited to 1024 characters.
|
1880
|
+
# Corresponds to the JSON property `script`
|
1881
|
+
# @return [String]
|
1882
|
+
attr_accessor :script
|
1883
|
+
|
1884
|
+
def initialize(**args)
|
1885
|
+
update!(**args)
|
1886
|
+
end
|
1887
|
+
|
1888
|
+
# Update properties of this object
|
1889
|
+
def update!(**args)
|
1890
|
+
@args = args[:args] if args.key?(:args)
|
1891
|
+
@file = args[:file] if args.key?(:file)
|
1892
|
+
@interpreter = args[:interpreter] if args.key?(:interpreter)
|
1893
|
+
@output_file_path = args[:output_file_path] if args.key?(:output_file_path)
|
1894
|
+
@script = args[:script] if args.key?(:script)
|
1895
|
+
end
|
1896
|
+
end
|
1897
|
+
|
1898
|
+
# A remote or local file.
|
1899
|
+
class OsPolicyResourceFile
|
1900
|
+
include Google::Apis::Core::Hashable
|
1901
|
+
|
1902
|
+
# Defaults to false. When false, files are subject to validations based on the
|
1903
|
+
# file type: Remote: A checksum must be specified. Cloud Storage: An object
|
1904
|
+
# generation number must be specified.
|
1905
|
+
# Corresponds to the JSON property `allowInsecure`
|
1906
|
+
# @return [Boolean]
|
1907
|
+
attr_accessor :allow_insecure
|
1908
|
+
alias_method :allow_insecure?, :allow_insecure
|
1909
|
+
|
1910
|
+
# Specifies a file available as a Cloud Storage Object.
|
1911
|
+
# Corresponds to the JSON property `gcs`
|
1912
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFileGcs]
|
1913
|
+
attr_accessor :gcs
|
1914
|
+
|
1915
|
+
# A local path within the VM to use.
|
1916
|
+
# Corresponds to the JSON property `localPath`
|
1917
|
+
# @return [String]
|
1918
|
+
attr_accessor :local_path
|
1919
|
+
|
1920
|
+
# Specifies a file available via some URI.
|
1921
|
+
# Corresponds to the JSON property `remote`
|
1922
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFileRemote]
|
1923
|
+
attr_accessor :remote
|
1924
|
+
|
1925
|
+
def initialize(**args)
|
1926
|
+
update!(**args)
|
1927
|
+
end
|
1928
|
+
|
1929
|
+
# Update properties of this object
|
1930
|
+
def update!(**args)
|
1931
|
+
@allow_insecure = args[:allow_insecure] if args.key?(:allow_insecure)
|
1932
|
+
@gcs = args[:gcs] if args.key?(:gcs)
|
1933
|
+
@local_path = args[:local_path] if args.key?(:local_path)
|
1934
|
+
@remote = args[:remote] if args.key?(:remote)
|
1935
|
+
end
|
1936
|
+
end
|
1937
|
+
|
1938
|
+
# Specifies a file available as a Cloud Storage Object.
|
1939
|
+
class OsPolicyResourceFileGcs
|
1940
|
+
include Google::Apis::Core::Hashable
|
1941
|
+
|
1942
|
+
# Required. Bucket of the Cloud Storage object.
|
1943
|
+
# Corresponds to the JSON property `bucket`
|
1944
|
+
# @return [String]
|
1945
|
+
attr_accessor :bucket
|
1946
|
+
|
1947
|
+
# Generation number of the Cloud Storage object.
|
1948
|
+
# Corresponds to the JSON property `generation`
|
1949
|
+
# @return [Fixnum]
|
1950
|
+
attr_accessor :generation
|
1951
|
+
|
1952
|
+
# Required. Name of the Cloud Storage object.
|
1953
|
+
# Corresponds to the JSON property `object`
|
1954
|
+
# @return [String]
|
1955
|
+
attr_accessor :object
|
1956
|
+
|
1957
|
+
def initialize(**args)
|
1958
|
+
update!(**args)
|
1959
|
+
end
|
1960
|
+
|
1961
|
+
# Update properties of this object
|
1962
|
+
def update!(**args)
|
1963
|
+
@bucket = args[:bucket] if args.key?(:bucket)
|
1964
|
+
@generation = args[:generation] if args.key?(:generation)
|
1965
|
+
@object = args[:object] if args.key?(:object)
|
1966
|
+
end
|
1967
|
+
end
|
1968
|
+
|
1969
|
+
# Specifies a file available via some URI.
|
1970
|
+
class OsPolicyResourceFileRemote
|
1971
|
+
include Google::Apis::Core::Hashable
|
1972
|
+
|
1973
|
+
# SHA256 checksum of the remote file.
|
1974
|
+
# Corresponds to the JSON property `sha256Checksum`
|
1975
|
+
# @return [String]
|
1976
|
+
attr_accessor :sha256_checksum
|
1977
|
+
|
1978
|
+
# Required. URI from which to fetch the object. It should contain both the
|
1979
|
+
# protocol and path following the format ``protocol`://`location``.
|
1980
|
+
# Corresponds to the JSON property `uri`
|
1981
|
+
# @return [String]
|
1982
|
+
attr_accessor :uri
|
1983
|
+
|
1984
|
+
def initialize(**args)
|
1985
|
+
update!(**args)
|
1986
|
+
end
|
1987
|
+
|
1988
|
+
# Update properties of this object
|
1989
|
+
def update!(**args)
|
1990
|
+
@sha256_checksum = args[:sha256_checksum] if args.key?(:sha256_checksum)
|
1991
|
+
@uri = args[:uri] if args.key?(:uri)
|
1992
|
+
end
|
1993
|
+
end
|
1994
|
+
|
1995
|
+
# A resource that manages the state of a file.
|
1996
|
+
class OsPolicyResourceFileResource
|
1997
|
+
include Google::Apis::Core::Hashable
|
1998
|
+
|
1999
|
+
# A a file with this content. The size of the content is limited to 1024
|
2000
|
+
# characters.
|
2001
|
+
# Corresponds to the JSON property `content`
|
2002
|
+
# @return [String]
|
2003
|
+
attr_accessor :content
|
2004
|
+
|
2005
|
+
# A remote or local file.
|
2006
|
+
# Corresponds to the JSON property `file`
|
2007
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFile]
|
2008
|
+
attr_accessor :file
|
2009
|
+
|
2010
|
+
# Required. The absolute path of the file within the VM.
|
2011
|
+
# Corresponds to the JSON property `path`
|
2012
|
+
# @return [String]
|
2013
|
+
attr_accessor :path
|
2014
|
+
|
2015
|
+
# Consists of three octal digits which represent, in order, the permissions of
|
2016
|
+
# the owner, group, and other users for the file (similarly to the numeric mode
|
2017
|
+
# used in the linux chmod utility). Each digit represents a three bit number
|
2018
|
+
# with the 4 bit corresponding to the read permissions, the 2 bit corresponds to
|
2019
|
+
# the write bit, and the one bit corresponds to the execute permission. Default
|
2020
|
+
# behavior is 755. Below are some examples of permissions and their associated
|
2021
|
+
# values: read, write, and execute: 7 read and execute: 5 read and write: 6 read
|
2022
|
+
# only: 4
|
2023
|
+
# Corresponds to the JSON property `permissions`
|
2024
|
+
# @return [String]
|
2025
|
+
attr_accessor :permissions
|
2026
|
+
|
2027
|
+
# Required. Desired state of the file.
|
2028
|
+
# Corresponds to the JSON property `state`
|
2029
|
+
# @return [String]
|
2030
|
+
attr_accessor :state
|
2031
|
+
|
2032
|
+
def initialize(**args)
|
2033
|
+
update!(**args)
|
2034
|
+
end
|
2035
|
+
|
2036
|
+
# Update properties of this object
|
2037
|
+
def update!(**args)
|
2038
|
+
@content = args[:content] if args.key?(:content)
|
2039
|
+
@file = args[:file] if args.key?(:file)
|
2040
|
+
@path = args[:path] if args.key?(:path)
|
2041
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
2042
|
+
@state = args[:state] if args.key?(:state)
|
2043
|
+
end
|
2044
|
+
end
|
2045
|
+
|
2046
|
+
# Resource groups provide a mechanism to group OS policy resources. Resource
|
2047
|
+
# groups enable OS policy authors to create a single OS policy to be applied to
|
2048
|
+
# VMs running different operating Systems. When the OS policy is applied to a
|
2049
|
+
# target VM, the appropriate resource group within the OS policy is selected
|
2050
|
+
# based on the `OSFilter` specified within the resource group.
|
2051
|
+
class OsPolicyResourceGroup
|
2052
|
+
include Google::Apis::Core::Hashable
|
2053
|
+
|
2054
|
+
# List of inventory filters for the resource group. The resources in this
|
2055
|
+
# resource group are applied to the target VM if it satisfies at least one of
|
2056
|
+
# the following inventory filters. For example, to apply this resource group to
|
2057
|
+
# VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for
|
2058
|
+
# the list with following values: inventory_filters[0].os_short_name='rhel' and
|
2059
|
+
# inventory_filters[1].os_short_name='centos' If the list is empty, this
|
2060
|
+
# resource group will be applied to the target VM unconditionally.
|
2061
|
+
# Corresponds to the JSON property `inventoryFilters`
|
2062
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyInventoryFilter>]
|
2063
|
+
attr_accessor :inventory_filters
|
2064
|
+
|
2065
|
+
# Required. List of resources configured for this resource group. The resources
|
2066
|
+
# are executed in the exact order specified here.
|
2067
|
+
# Corresponds to the JSON property `resources`
|
2068
|
+
# @return [Array<Google::Apis::OsconfigV1::OsPolicyResource>]
|
2069
|
+
attr_accessor :resources
|
2070
|
+
|
2071
|
+
def initialize(**args)
|
2072
|
+
update!(**args)
|
2073
|
+
end
|
2074
|
+
|
2075
|
+
# Update properties of this object
|
2076
|
+
def update!(**args)
|
2077
|
+
@inventory_filters = args[:inventory_filters] if args.key?(:inventory_filters)
|
2078
|
+
@resources = args[:resources] if args.key?(:resources)
|
2079
|
+
end
|
2080
|
+
end
|
2081
|
+
|
2082
|
+
# A resource that manages a system package.
|
2083
|
+
class OsPolicyResourcePackageResource
|
2084
|
+
include Google::Apis::Core::Hashable
|
2085
|
+
|
2086
|
+
# A package managed by APT. - install: `apt-get update && apt-get -y install [
|
2087
|
+
# name]` - remove: `apt-get -y remove [name]`
|
2088
|
+
# Corresponds to the JSON property `apt`
|
2089
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceApt]
|
2090
|
+
attr_accessor :apt
|
2091
|
+
|
2092
|
+
# A deb package file. dpkg packages only support INSTALLED state.
|
2093
|
+
# Corresponds to the JSON property `deb`
|
2094
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceDeb]
|
2095
|
+
attr_accessor :deb
|
2096
|
+
|
2097
|
+
# Required. The desired state the agent should maintain for this package.
|
2098
|
+
# Corresponds to the JSON property `desiredState`
|
2099
|
+
# @return [String]
|
2100
|
+
attr_accessor :desired_state
|
2101
|
+
|
2102
|
+
# A package managed by GooGet. - install: `googet -noconfirm install package` -
|
2103
|
+
# remove: `googet -noconfirm remove package`
|
2104
|
+
# Corresponds to the JSON property `googet`
|
2105
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceGooGet]
|
2106
|
+
attr_accessor :googet
|
2107
|
+
|
2108
|
+
# An MSI package. MSI packages only support INSTALLED state.
|
2109
|
+
# Corresponds to the JSON property `msi`
|
2110
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceMsi]
|
2111
|
+
attr_accessor :msi
|
2112
|
+
|
2113
|
+
# An RPM package file. RPM packages only support INSTALLED state.
|
2114
|
+
# Corresponds to the JSON property `rpm`
|
2115
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceRpm]
|
2116
|
+
attr_accessor :rpm
|
2117
|
+
|
2118
|
+
# A package managed by YUM. - install: `yum -y install package` - remove: `yum -
|
2119
|
+
# y remove package`
|
2120
|
+
# Corresponds to the JSON property `yum`
|
2121
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceYum]
|
2122
|
+
attr_accessor :yum
|
2123
|
+
|
2124
|
+
# A package managed by Zypper. - install: `zypper -y install package` - remove: `
|
2125
|
+
# zypper -y rm package`
|
2126
|
+
# Corresponds to the JSON property `zypper`
|
2127
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourcePackageResourceZypper]
|
2128
|
+
attr_accessor :zypper
|
2129
|
+
|
2130
|
+
def initialize(**args)
|
2131
|
+
update!(**args)
|
2132
|
+
end
|
2133
|
+
|
2134
|
+
# Update properties of this object
|
2135
|
+
def update!(**args)
|
2136
|
+
@apt = args[:apt] if args.key?(:apt)
|
2137
|
+
@deb = args[:deb] if args.key?(:deb)
|
2138
|
+
@desired_state = args[:desired_state] if args.key?(:desired_state)
|
2139
|
+
@googet = args[:googet] if args.key?(:googet)
|
2140
|
+
@msi = args[:msi] if args.key?(:msi)
|
2141
|
+
@rpm = args[:rpm] if args.key?(:rpm)
|
2142
|
+
@yum = args[:yum] if args.key?(:yum)
|
2143
|
+
@zypper = args[:zypper] if args.key?(:zypper)
|
2144
|
+
end
|
2145
|
+
end
|
2146
|
+
|
2147
|
+
# A package managed by APT. - install: `apt-get update && apt-get -y install [
|
2148
|
+
# name]` - remove: `apt-get -y remove [name]`
|
2149
|
+
class OsPolicyResourcePackageResourceApt
|
2150
|
+
include Google::Apis::Core::Hashable
|
2151
|
+
|
2152
|
+
# Required. Package name.
|
2153
|
+
# Corresponds to the JSON property `name`
|
2154
|
+
# @return [String]
|
2155
|
+
attr_accessor :name
|
2156
|
+
|
2157
|
+
def initialize(**args)
|
2158
|
+
update!(**args)
|
2159
|
+
end
|
2160
|
+
|
2161
|
+
# Update properties of this object
|
2162
|
+
def update!(**args)
|
2163
|
+
@name = args[:name] if args.key?(:name)
|
2164
|
+
end
|
2165
|
+
end
|
2166
|
+
|
2167
|
+
# A deb package file. dpkg packages only support INSTALLED state.
|
2168
|
+
class OsPolicyResourcePackageResourceDeb
|
2169
|
+
include Google::Apis::Core::Hashable
|
2170
|
+
|
2171
|
+
# Whether dependencies should also be installed. - install when false: `dpkg -i
|
2172
|
+
# package` - install when true: `apt-get update && apt-get -y install package.
|
2173
|
+
# deb`
|
2174
|
+
# Corresponds to the JSON property `pullDeps`
|
2175
|
+
# @return [Boolean]
|
2176
|
+
attr_accessor :pull_deps
|
2177
|
+
alias_method :pull_deps?, :pull_deps
|
2178
|
+
|
2179
|
+
# A remote or local file.
|
2180
|
+
# Corresponds to the JSON property `source`
|
2181
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFile]
|
2182
|
+
attr_accessor :source
|
2183
|
+
|
2184
|
+
def initialize(**args)
|
2185
|
+
update!(**args)
|
2186
|
+
end
|
2187
|
+
|
2188
|
+
# Update properties of this object
|
2189
|
+
def update!(**args)
|
2190
|
+
@pull_deps = args[:pull_deps] if args.key?(:pull_deps)
|
2191
|
+
@source = args[:source] if args.key?(:source)
|
2192
|
+
end
|
2193
|
+
end
|
2194
|
+
|
2195
|
+
# A package managed by GooGet. - install: `googet -noconfirm install package` -
|
2196
|
+
# remove: `googet -noconfirm remove package`
|
2197
|
+
class OsPolicyResourcePackageResourceGooGet
|
2198
|
+
include Google::Apis::Core::Hashable
|
2199
|
+
|
2200
|
+
# Required. Package name.
|
2201
|
+
# Corresponds to the JSON property `name`
|
2202
|
+
# @return [String]
|
2203
|
+
attr_accessor :name
|
2204
|
+
|
2205
|
+
def initialize(**args)
|
2206
|
+
update!(**args)
|
2207
|
+
end
|
2208
|
+
|
2209
|
+
# Update properties of this object
|
2210
|
+
def update!(**args)
|
2211
|
+
@name = args[:name] if args.key?(:name)
|
2212
|
+
end
|
2213
|
+
end
|
2214
|
+
|
2215
|
+
# An MSI package. MSI packages only support INSTALLED state.
|
2216
|
+
class OsPolicyResourcePackageResourceMsi
|
2217
|
+
include Google::Apis::Core::Hashable
|
2218
|
+
|
2219
|
+
# Additional properties to use during installation. This should be in the format
|
2220
|
+
# of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=
|
2221
|
+
# ReallySuppress`.
|
2222
|
+
# Corresponds to the JSON property `properties`
|
2223
|
+
# @return [Array<String>]
|
2224
|
+
attr_accessor :properties
|
2225
|
+
|
2226
|
+
# A remote or local file.
|
2227
|
+
# Corresponds to the JSON property `source`
|
2228
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFile]
|
2229
|
+
attr_accessor :source
|
2230
|
+
|
2231
|
+
def initialize(**args)
|
2232
|
+
update!(**args)
|
2233
|
+
end
|
2234
|
+
|
2235
|
+
# Update properties of this object
|
2236
|
+
def update!(**args)
|
2237
|
+
@properties = args[:properties] if args.key?(:properties)
|
2238
|
+
@source = args[:source] if args.key?(:source)
|
2239
|
+
end
|
2240
|
+
end
|
2241
|
+
|
2242
|
+
# An RPM package file. RPM packages only support INSTALLED state.
|
2243
|
+
class OsPolicyResourcePackageResourceRpm
|
2244
|
+
include Google::Apis::Core::Hashable
|
2245
|
+
|
2246
|
+
# Whether dependencies should also be installed. - install when false: `rpm --
|
2247
|
+
# upgrade --replacepkgs package.rpm` - install when true: `yum -y install
|
2248
|
+
# package.rpm` or `zypper -y install package.rpm`
|
2249
|
+
# Corresponds to the JSON property `pullDeps`
|
2250
|
+
# @return [Boolean]
|
2251
|
+
attr_accessor :pull_deps
|
2252
|
+
alias_method :pull_deps?, :pull_deps
|
2253
|
+
|
2254
|
+
# A remote or local file.
|
2255
|
+
# Corresponds to the JSON property `source`
|
2256
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceFile]
|
2257
|
+
attr_accessor :source
|
659
2258
|
|
660
2259
|
def initialize(**args)
|
661
2260
|
update!(**args)
|
@@ -663,34 +2262,20 @@ module Google
|
|
663
2262
|
|
664
2263
|
# Update properties of this object
|
665
2264
|
def update!(**args)
|
666
|
-
@
|
667
|
-
@
|
2265
|
+
@pull_deps = args[:pull_deps] if args.key?(:pull_deps)
|
2266
|
+
@source = args[:source] if args.key?(:source)
|
668
2267
|
end
|
669
2268
|
end
|
670
2269
|
|
671
|
-
#
|
672
|
-
|
2270
|
+
# A package managed by YUM. - install: `yum -y install package` - remove: `yum -
|
2271
|
+
# y remove package`
|
2272
|
+
class OsPolicyResourcePackageResourceYum
|
673
2273
|
include Google::Apis::Core::Hashable
|
674
2274
|
|
675
|
-
#
|
676
|
-
# Corresponds to the JSON property `
|
677
|
-
# @return [String]
|
678
|
-
attr_accessor :category
|
679
|
-
|
680
|
-
# The name of the patch.
|
681
|
-
# Corresponds to the JSON property `patchName`
|
682
|
-
# @return [String]
|
683
|
-
attr_accessor :patch_name
|
684
|
-
|
685
|
-
# The severity specified for this patch
|
686
|
-
# Corresponds to the JSON property `severity`
|
687
|
-
# @return [String]
|
688
|
-
attr_accessor :severity
|
689
|
-
|
690
|
-
# Any summary information provided about this patch.
|
691
|
-
# Corresponds to the JSON property `summary`
|
2275
|
+
# Required. Package name.
|
2276
|
+
# Corresponds to the JSON property `name`
|
692
2277
|
# @return [String]
|
693
|
-
attr_accessor :
|
2278
|
+
attr_accessor :name
|
694
2279
|
|
695
2280
|
def initialize(**args)
|
696
2281
|
update!(**args)
|
@@ -698,26 +2283,19 @@ module Google
|
|
698
2283
|
|
699
2284
|
# Update properties of this object
|
700
2285
|
def update!(**args)
|
701
|
-
@
|
702
|
-
@patch_name = args[:patch_name] if args.key?(:patch_name)
|
703
|
-
@severity = args[:severity] if args.key?(:severity)
|
704
|
-
@summary = args[:summary] if args.key?(:summary)
|
2286
|
+
@name = args[:name] if args.key?(:name)
|
705
2287
|
end
|
706
2288
|
end
|
707
2289
|
|
708
|
-
#
|
709
|
-
|
2290
|
+
# A package managed by Zypper. - install: `zypper -y install package` - remove: `
|
2291
|
+
# zypper -y rm package`
|
2292
|
+
class OsPolicyResourcePackageResourceZypper
|
710
2293
|
include Google::Apis::Core::Hashable
|
711
2294
|
|
712
|
-
#
|
713
|
-
# Corresponds to the JSON property `
|
2295
|
+
# Required. Package name.
|
2296
|
+
# Corresponds to the JSON property `name`
|
714
2297
|
# @return [String]
|
715
|
-
attr_accessor :
|
716
|
-
|
717
|
-
# A list of operations that matches the specified filter in the request.
|
718
|
-
# Corresponds to the JSON property `operations`
|
719
|
-
# @return [Array<Google::Apis::OsconfigV1::Operation>]
|
720
|
-
attr_accessor :operations
|
2298
|
+
attr_accessor :name
|
721
2299
|
|
722
2300
|
def initialize(**args)
|
723
2301
|
update!(**args)
|
@@ -725,24 +2303,37 @@ module Google
|
|
725
2303
|
|
726
2304
|
# Update properties of this object
|
727
2305
|
def update!(**args)
|
728
|
-
@
|
729
|
-
@operations = args[:operations] if args.key?(:operations)
|
2306
|
+
@name = args[:name] if args.key?(:name)
|
730
2307
|
end
|
731
2308
|
end
|
732
2309
|
|
733
|
-
# A
|
734
|
-
class
|
2310
|
+
# A resource that manages a package repository.
|
2311
|
+
class OsPolicyResourceRepositoryResource
|
735
2312
|
include Google::Apis::Core::Hashable
|
736
2313
|
|
737
|
-
#
|
738
|
-
#
|
739
|
-
#
|
740
|
-
|
2314
|
+
# Represents a single apt package repository. These will be added to a repo file
|
2315
|
+
# that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`.
|
2316
|
+
# Corresponds to the JSON property `apt`
|
2317
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceRepositoryResourceAptRepository]
|
2318
|
+
attr_accessor :apt
|
741
2319
|
|
742
|
-
#
|
743
|
-
#
|
744
|
-
#
|
745
|
-
|
2320
|
+
# Represents a Goo package repository. These are added to a repo file that is
|
2321
|
+
# managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.
|
2322
|
+
# Corresponds to the JSON property `goo`
|
2323
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceRepositoryResourceGooRepository]
|
2324
|
+
attr_accessor :goo
|
2325
|
+
|
2326
|
+
# Represents a single yum package repository. These are added to a repo file
|
2327
|
+
# that is managed at `/etc/yum.repos.d/google_osconfig.repo`.
|
2328
|
+
# Corresponds to the JSON property `yum`
|
2329
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceRepositoryResourceYumRepository]
|
2330
|
+
attr_accessor :yum
|
2331
|
+
|
2332
|
+
# Represents a single zypper package repository. These are added to a repo file
|
2333
|
+
# that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.
|
2334
|
+
# Corresponds to the JSON property `zypper`
|
2335
|
+
# @return [Google::Apis::OsconfigV1::OsPolicyResourceRepositoryResourceZypperRepository]
|
2336
|
+
attr_accessor :zypper
|
746
2337
|
|
747
2338
|
def initialize(**args)
|
748
2339
|
update!(**args)
|
@@ -750,24 +2341,44 @@ module Google
|
|
750
2341
|
|
751
2342
|
# Update properties of this object
|
752
2343
|
def update!(**args)
|
753
|
-
@
|
754
|
-
@
|
2344
|
+
@apt = args[:apt] if args.key?(:apt)
|
2345
|
+
@goo = args[:goo] if args.key?(:goo)
|
2346
|
+
@yum = args[:yum] if args.key?(:yum)
|
2347
|
+
@zypper = args[:zypper] if args.key?(:zypper)
|
755
2348
|
end
|
756
2349
|
end
|
757
2350
|
|
758
|
-
#
|
759
|
-
|
2351
|
+
# Represents a single apt package repository. These will be added to a repo file
|
2352
|
+
# that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`.
|
2353
|
+
class OsPolicyResourceRepositoryResourceAptRepository
|
760
2354
|
include Google::Apis::Core::Hashable
|
761
2355
|
|
762
|
-
#
|
763
|
-
# Corresponds to the JSON property `
|
2356
|
+
# Required. Type of archive files in this repository.
|
2357
|
+
# Corresponds to the JSON property `archiveType`
|
764
2358
|
# @return [String]
|
765
|
-
attr_accessor :
|
2359
|
+
attr_accessor :archive_type
|
766
2360
|
|
767
|
-
#
|
768
|
-
#
|
769
|
-
#
|
770
|
-
|
2361
|
+
# Required. List of components for this repository. Must contain at least one
|
2362
|
+
# item.
|
2363
|
+
# Corresponds to the JSON property `components`
|
2364
|
+
# @return [Array<String>]
|
2365
|
+
attr_accessor :components
|
2366
|
+
|
2367
|
+
# Required. Distribution of this repository.
|
2368
|
+
# Corresponds to the JSON property `distribution`
|
2369
|
+
# @return [String]
|
2370
|
+
attr_accessor :distribution
|
2371
|
+
|
2372
|
+
# URI of the key file for this repository. The agent maintains a keyring at `/
|
2373
|
+
# etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
|
2374
|
+
# Corresponds to the JSON property `gpgKey`
|
2375
|
+
# @return [String]
|
2376
|
+
attr_accessor :gpg_key
|
2377
|
+
|
2378
|
+
# Required. URI for this repository.
|
2379
|
+
# Corresponds to the JSON property `uri`
|
2380
|
+
# @return [String]
|
2381
|
+
attr_accessor :uri
|
771
2382
|
|
772
2383
|
def initialize(**args)
|
773
2384
|
update!(**args)
|
@@ -775,24 +2386,28 @@ module Google
|
|
775
2386
|
|
776
2387
|
# Update properties of this object
|
777
2388
|
def update!(**args)
|
778
|
-
@
|
779
|
-
@
|
2389
|
+
@archive_type = args[:archive_type] if args.key?(:archive_type)
|
2390
|
+
@components = args[:components] if args.key?(:components)
|
2391
|
+
@distribution = args[:distribution] if args.key?(:distribution)
|
2392
|
+
@gpg_key = args[:gpg_key] if args.key?(:gpg_key)
|
2393
|
+
@uri = args[:uri] if args.key?(:uri)
|
780
2394
|
end
|
781
2395
|
end
|
782
2396
|
|
783
|
-
#
|
784
|
-
|
2397
|
+
# Represents a Goo package repository. These are added to a repo file that is
|
2398
|
+
# managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.
|
2399
|
+
class OsPolicyResourceRepositoryResourceGooRepository
|
785
2400
|
include Google::Apis::Core::Hashable
|
786
2401
|
|
787
|
-
#
|
788
|
-
# Corresponds to the JSON property `
|
2402
|
+
# Required. The name of the repository.
|
2403
|
+
# Corresponds to the JSON property `name`
|
789
2404
|
# @return [String]
|
790
|
-
attr_accessor :
|
2405
|
+
attr_accessor :name
|
791
2406
|
|
792
|
-
# The
|
793
|
-
# Corresponds to the JSON property `
|
794
|
-
# @return [
|
795
|
-
attr_accessor :
|
2407
|
+
# Required. The url of the repository.
|
2408
|
+
# Corresponds to the JSON property `url`
|
2409
|
+
# @return [String]
|
2410
|
+
attr_accessor :url
|
796
2411
|
|
797
2412
|
def initialize(**args)
|
798
2413
|
update!(**args)
|
@@ -800,28 +2415,38 @@ module Google
|
|
800
2415
|
|
801
2416
|
# Update properties of this object
|
802
2417
|
def update!(**args)
|
803
|
-
@
|
804
|
-
@
|
2418
|
+
@name = args[:name] if args.key?(:name)
|
2419
|
+
@url = args[:url] if args.key?(:url)
|
805
2420
|
end
|
806
2421
|
end
|
807
2422
|
|
808
|
-
# Represents a
|
809
|
-
#
|
810
|
-
class
|
2423
|
+
# Represents a single yum package repository. These are added to a repo file
|
2424
|
+
# that is managed at `/etc/yum.repos.d/google_osconfig.repo`.
|
2425
|
+
class OsPolicyResourceRepositoryResourceYumRepository
|
811
2426
|
include Google::Apis::Core::Hashable
|
812
2427
|
|
813
|
-
# Required.
|
814
|
-
#
|
815
|
-
#
|
816
|
-
|
817
|
-
# Corresponds to the JSON property `monthDay`
|
818
|
-
# @return [Fixnum]
|
819
|
-
attr_accessor :month_day
|
2428
|
+
# Required. The location of the repository directory.
|
2429
|
+
# Corresponds to the JSON property `baseUrl`
|
2430
|
+
# @return [String]
|
2431
|
+
attr_accessor :base_url
|
820
2432
|
|
821
|
-
#
|
822
|
-
# Corresponds to the JSON property `
|
823
|
-
# @return [
|
824
|
-
attr_accessor :
|
2433
|
+
# The display name of the repository.
|
2434
|
+
# Corresponds to the JSON property `displayName`
|
2435
|
+
# @return [String]
|
2436
|
+
attr_accessor :display_name
|
2437
|
+
|
2438
|
+
# URIs of GPG keys.
|
2439
|
+
# Corresponds to the JSON property `gpgKeys`
|
2440
|
+
# @return [Array<String>]
|
2441
|
+
attr_accessor :gpg_keys
|
2442
|
+
|
2443
|
+
# Required. A one word, unique name for this repository. This is the `repo id`
|
2444
|
+
# in the yum config file and also the `display_name` if `display_name` is
|
2445
|
+
# omitted. This id is also used as the unique identifier when checking for
|
2446
|
+
# resource conflicts.
|
2447
|
+
# Corresponds to the JSON property `id`
|
2448
|
+
# @return [String]
|
2449
|
+
attr_accessor :id
|
825
2450
|
|
826
2451
|
def initialize(**args)
|
827
2452
|
update!(**args)
|
@@ -829,42 +2454,40 @@ module Google
|
|
829
2454
|
|
830
2455
|
# Update properties of this object
|
831
2456
|
def update!(**args)
|
832
|
-
@
|
833
|
-
@
|
2457
|
+
@base_url = args[:base_url] if args.key?(:base_url)
|
2458
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
2459
|
+
@gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
|
2460
|
+
@id = args[:id] if args.key?(:id)
|
834
2461
|
end
|
835
2462
|
end
|
836
2463
|
|
837
|
-
#
|
838
|
-
#
|
839
|
-
class
|
2464
|
+
# Represents a single zypper package repository. These are added to a repo file
|
2465
|
+
# that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.
|
2466
|
+
class OsPolicyResourceRepositoryResourceZypperRepository
|
840
2467
|
include Google::Apis::Core::Hashable
|
841
2468
|
|
842
|
-
# The
|
843
|
-
# Corresponds to the JSON property `
|
844
|
-
# @return [String]
|
845
|
-
attr_accessor :api_method
|
846
|
-
|
847
|
-
# Reference to the `OSPolicyAssignment` API resource. Format: `projects/`
|
848
|
-
# project_number`/locations/`location`/osPolicyAssignments/`
|
849
|
-
# os_policy_assignment_id@revision_id``
|
850
|
-
# Corresponds to the JSON property `osPolicyAssignment`
|
2469
|
+
# Required. The location of the repository directory.
|
2470
|
+
# Corresponds to the JSON property `baseUrl`
|
851
2471
|
# @return [String]
|
852
|
-
attr_accessor :
|
2472
|
+
attr_accessor :base_url
|
853
2473
|
|
854
|
-
#
|
855
|
-
# Corresponds to the JSON property `
|
2474
|
+
# The display name of the repository.
|
2475
|
+
# Corresponds to the JSON property `displayName`
|
856
2476
|
# @return [String]
|
857
|
-
attr_accessor :
|
2477
|
+
attr_accessor :display_name
|
858
2478
|
|
859
|
-
#
|
860
|
-
# Corresponds to the JSON property `
|
861
|
-
# @return [String]
|
862
|
-
attr_accessor :
|
2479
|
+
# URIs of GPG keys.
|
2480
|
+
# Corresponds to the JSON property `gpgKeys`
|
2481
|
+
# @return [Array<String>]
|
2482
|
+
attr_accessor :gpg_keys
|
863
2483
|
|
864
|
-
#
|
865
|
-
#
|
2484
|
+
# Required. A one word, unique name for this repository. This is the `repo id`
|
2485
|
+
# in the zypper config file and also the `display_name` if `display_name` is
|
2486
|
+
# omitted. This id is also used as the unique identifier when checking for
|
2487
|
+
# GuestPolicy conflicts.
|
2488
|
+
# Corresponds to the JSON property `id`
|
866
2489
|
# @return [String]
|
867
|
-
attr_accessor :
|
2490
|
+
attr_accessor :id
|
868
2491
|
|
869
2492
|
def initialize(**args)
|
870
2493
|
update!(**args)
|
@@ -872,11 +2495,10 @@ module Google
|
|
872
2495
|
|
873
2496
|
# Update properties of this object
|
874
2497
|
def update!(**args)
|
875
|
-
@
|
876
|
-
@
|
877
|
-
@
|
878
|
-
@
|
879
|
-
@rollout_update_time = args[:rollout_update_time] if args.key?(:rollout_update_time)
|
2498
|
+
@base_url = args[:base_url] if args.key?(:base_url)
|
2499
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
2500
|
+
@gpg_keys = args[:gpg_keys] if args.key?(:gpg_keys)
|
2501
|
+
@id = args[:id] if args.key?(:id)
|
880
2502
|
end
|
881
2503
|
end
|
882
2504
|
|
@@ -1682,6 +3304,173 @@ module Google
|
|
1682
3304
|
end
|
1683
3305
|
end
|
1684
3306
|
|
3307
|
+
# This API resource represents the vulnerability report for a specified Compute
|
3308
|
+
# Engine virtual machine (VM) instance at a given point in time. For more
|
3309
|
+
# information, see [Vulnerability reports](https://cloud.google.com/compute/docs/
|
3310
|
+
# instances/os-inventory-management#vulnerability-reports).
|
3311
|
+
class VulnerabilityReport
|
3312
|
+
include Google::Apis::Core::Hashable
|
3313
|
+
|
3314
|
+
# Output only. The `vulnerabilityReport` API resource name. Format: `projects/`
|
3315
|
+
# project_number`/locations/`location`/instances/`instance_id`/
|
3316
|
+
# vulnerabilityReport`
|
3317
|
+
# Corresponds to the JSON property `name`
|
3318
|
+
# @return [String]
|
3319
|
+
attr_accessor :name
|
3320
|
+
|
3321
|
+
# Output only. The timestamp for when the last vulnerability report was
|
3322
|
+
# generated for the VM.
|
3323
|
+
# Corresponds to the JSON property `updateTime`
|
3324
|
+
# @return [String]
|
3325
|
+
attr_accessor :update_time
|
3326
|
+
|
3327
|
+
# Output only. List of vulnerabilities affecting the VM.
|
3328
|
+
# Corresponds to the JSON property `vulnerabilities`
|
3329
|
+
# @return [Array<Google::Apis::OsconfigV1::VulnerabilityReportVulnerability>]
|
3330
|
+
attr_accessor :vulnerabilities
|
3331
|
+
|
3332
|
+
def initialize(**args)
|
3333
|
+
update!(**args)
|
3334
|
+
end
|
3335
|
+
|
3336
|
+
# Update properties of this object
|
3337
|
+
def update!(**args)
|
3338
|
+
@name = args[:name] if args.key?(:name)
|
3339
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3340
|
+
@vulnerabilities = args[:vulnerabilities] if args.key?(:vulnerabilities)
|
3341
|
+
end
|
3342
|
+
end
|
3343
|
+
|
3344
|
+
# A vulnerability affecting the VM instance.
|
3345
|
+
class VulnerabilityReportVulnerability
|
3346
|
+
include Google::Apis::Core::Hashable
|
3347
|
+
|
3348
|
+
# Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the
|
3349
|
+
# vulnerability report was not updated after the VM inventory update, these
|
3350
|
+
# values might not display in VM inventory. If there is no available fix, the
|
3351
|
+
# field is empty. The `inventory_item` value specifies the latest `
|
3352
|
+
# SoftwarePackage` available to the VM that fixes the vulnerability.
|
3353
|
+
# Corresponds to the JSON property `availableInventoryItemIds`
|
3354
|
+
# @return [Array<String>]
|
3355
|
+
attr_accessor :available_inventory_item_ids
|
3356
|
+
|
3357
|
+
# The timestamp for when the vulnerability was first detected.
|
3358
|
+
# Corresponds to the JSON property `createTime`
|
3359
|
+
# @return [String]
|
3360
|
+
attr_accessor :create_time
|
3361
|
+
|
3362
|
+
# Contains metadata information for the vulnerability. This information is
|
3363
|
+
# collected from the upstream feed of the operating system.
|
3364
|
+
# Corresponds to the JSON property `details`
|
3365
|
+
# @return [Google::Apis::OsconfigV1::VulnerabilityReportVulnerabilityDetails]
|
3366
|
+
attr_accessor :details
|
3367
|
+
|
3368
|
+
# Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field
|
3369
|
+
# displays the inventory items affected by this vulnerability. If the
|
3370
|
+
# vulnerability report was not updated after the VM inventory update, these
|
3371
|
+
# values might not display in VM inventory. For some distros, this field may be
|
3372
|
+
# empty.
|
3373
|
+
# Corresponds to the JSON property `installedInventoryItemIds`
|
3374
|
+
# @return [Array<String>]
|
3375
|
+
attr_accessor :installed_inventory_item_ids
|
3376
|
+
|
3377
|
+
# The timestamp for when the vulnerability was last modified.
|
3378
|
+
# Corresponds to the JSON property `updateTime`
|
3379
|
+
# @return [String]
|
3380
|
+
attr_accessor :update_time
|
3381
|
+
|
3382
|
+
def initialize(**args)
|
3383
|
+
update!(**args)
|
3384
|
+
end
|
3385
|
+
|
3386
|
+
# Update properties of this object
|
3387
|
+
def update!(**args)
|
3388
|
+
@available_inventory_item_ids = args[:available_inventory_item_ids] if args.key?(:available_inventory_item_ids)
|
3389
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
3390
|
+
@details = args[:details] if args.key?(:details)
|
3391
|
+
@installed_inventory_item_ids = args[:installed_inventory_item_ids] if args.key?(:installed_inventory_item_ids)
|
3392
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3393
|
+
end
|
3394
|
+
end
|
3395
|
+
|
3396
|
+
# Contains metadata information for the vulnerability. This information is
|
3397
|
+
# collected from the upstream feed of the operating system.
|
3398
|
+
class VulnerabilityReportVulnerabilityDetails
|
3399
|
+
include Google::Apis::Core::Hashable
|
3400
|
+
|
3401
|
+
# The CVE of the vulnerability. CVE cannot be empty and the combination of
|
3402
|
+
# should be unique across vulnerabilities for a VM.
|
3403
|
+
# Corresponds to the JSON property `cve`
|
3404
|
+
# @return [String]
|
3405
|
+
attr_accessor :cve
|
3406
|
+
|
3407
|
+
# The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of 0 - 10
|
3408
|
+
# where 0 indicates low severity and 10 indicates high severity.
|
3409
|
+
# Corresponds to the JSON property `cvssV2Score`
|
3410
|
+
# @return [Float]
|
3411
|
+
attr_accessor :cvss_v2_score
|
3412
|
+
|
3413
|
+
# Common Vulnerability Scoring System version 3. For details, see https://www.
|
3414
|
+
# first.org/cvss/specification-document
|
3415
|
+
# Corresponds to the JSON property `cvssV3`
|
3416
|
+
# @return [Google::Apis::OsconfigV1::CvsSv3]
|
3417
|
+
attr_accessor :cvss_v3
|
3418
|
+
|
3419
|
+
# The note or description describing the vulnerability from the distro.
|
3420
|
+
# Corresponds to the JSON property `description`
|
3421
|
+
# @return [String]
|
3422
|
+
attr_accessor :description
|
3423
|
+
|
3424
|
+
# Corresponds to the references attached to the `VulnerabilityDetails`.
|
3425
|
+
# Corresponds to the JSON property `references`
|
3426
|
+
# @return [Array<Google::Apis::OsconfigV1::VulnerabilityReportVulnerabilityDetailsReference>]
|
3427
|
+
attr_accessor :references
|
3428
|
+
|
3429
|
+
# Assigned severity/impact ranking from the distro.
|
3430
|
+
# Corresponds to the JSON property `severity`
|
3431
|
+
# @return [String]
|
3432
|
+
attr_accessor :severity
|
3433
|
+
|
3434
|
+
def initialize(**args)
|
3435
|
+
update!(**args)
|
3436
|
+
end
|
3437
|
+
|
3438
|
+
# Update properties of this object
|
3439
|
+
def update!(**args)
|
3440
|
+
@cve = args[:cve] if args.key?(:cve)
|
3441
|
+
@cvss_v2_score = args[:cvss_v2_score] if args.key?(:cvss_v2_score)
|
3442
|
+
@cvss_v3 = args[:cvss_v3] if args.key?(:cvss_v3)
|
3443
|
+
@description = args[:description] if args.key?(:description)
|
3444
|
+
@references = args[:references] if args.key?(:references)
|
3445
|
+
@severity = args[:severity] if args.key?(:severity)
|
3446
|
+
end
|
3447
|
+
end
|
3448
|
+
|
3449
|
+
# A reference for this vulnerability.
|
3450
|
+
class VulnerabilityReportVulnerabilityDetailsReference
|
3451
|
+
include Google::Apis::Core::Hashable
|
3452
|
+
|
3453
|
+
# The source of the reference e.g. NVD.
|
3454
|
+
# Corresponds to the JSON property `source`
|
3455
|
+
# @return [String]
|
3456
|
+
attr_accessor :source
|
3457
|
+
|
3458
|
+
# The url of the reference.
|
3459
|
+
# Corresponds to the JSON property `url`
|
3460
|
+
# @return [String]
|
3461
|
+
attr_accessor :url
|
3462
|
+
|
3463
|
+
def initialize(**args)
|
3464
|
+
update!(**args)
|
3465
|
+
end
|
3466
|
+
|
3467
|
+
# Update properties of this object
|
3468
|
+
def update!(**args)
|
3469
|
+
@source = args[:source] if args.key?(:source)
|
3470
|
+
@url = args[:url] if args.key?(:url)
|
3471
|
+
end
|
3472
|
+
end
|
3473
|
+
|
1685
3474
|
# Represents one week day in a month. An example is "the 4th Sunday".
|
1686
3475
|
class WeekDayOfMonth
|
1687
3476
|
include Google::Apis::Core::Hashable
|