google-cloud-gke_backup-v1 1.0.0 → 1.1.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/gke_backup/v1/backup_for_gke/client.rb +1910 -339
  3. data/lib/google/cloud/gke_backup/v1/backup_for_gke/paths.rb +80 -0
  4. data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/client.rb +1756 -283
  5. data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/service_stub.rb +878 -20
  6. data/lib/google/cloud/gke_backup/v1/version.rb +1 -1
  7. data/lib/google/cloud/gkebackup/v1/backup_channel_pb.rb +48 -0
  8. data/lib/google/cloud/gkebackup/v1/backup_pb.rb +1 -1
  9. data/lib/google/cloud/gkebackup/v1/backup_plan_binding_pb.rb +50 -0
  10. data/lib/google/cloud/gkebackup/v1/backup_plan_pb.rb +1 -1
  11. data/lib/google/cloud/gkebackup/v1/gkebackup_pb.rb +27 -1
  12. data/lib/google/cloud/gkebackup/v1/gkebackup_services_pb.rb +28 -0
  13. data/lib/google/cloud/gkebackup/v1/restore_channel_pb.rb +48 -0
  14. data/lib/google/cloud/gkebackup/v1/restore_pb.rb +1 -1
  15. data/lib/google/cloud/gkebackup/v1/restore_plan_binding_pb.rb +48 -0
  16. data/lib/google/cloud/gkebackup/v1/volume_pb.rb +1 -1
  17. data/proto_docs/google/api/client.rb +6 -0
  18. data/proto_docs/google/api/field_info.rb +88 -0
  19. data/proto_docs/google/cloud/gkebackup/v1/backup.rb +8 -1
  20. data/proto_docs/google/cloud/gkebackup/v1/backup_channel.rb +88 -0
  21. data/proto_docs/google/cloud/gkebackup/v1/backup_plan.rb +8 -1
  22. data/proto_docs/google/cloud/gkebackup/v1/backup_plan_binding.rb +130 -0
  23. data/proto_docs/google/cloud/gkebackup/v1/common.rb +2 -2
  24. data/proto_docs/google/cloud/gkebackup/v1/gkebackup.rb +389 -3
  25. data/proto_docs/google/cloud/gkebackup/v1/restore.rb +14 -6
  26. data/proto_docs/google/cloud/gkebackup/v1/restore_channel.rb +87 -0
  27. data/proto_docs/google/cloud/gkebackup/v1/restore_plan.rb +3 -1
  28. data/proto_docs/google/cloud/gkebackup/v1/restore_plan_binding.rb +68 -0
  29. data/proto_docs/google/cloud/gkebackup/v1/volume.rb +13 -1
  30. metadata +12 -3
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Rich semantic information of an API field beyond basic typing.
23
+ # @!attribute [rw] format
24
+ # @return [::Google::Api::FieldInfo::Format]
25
+ # The standard format of a field value. This does not explicitly configure
26
+ # any API consumer, just documents the API's format for the field it is
27
+ # applied to.
28
+ # @!attribute [rw] referenced_types
29
+ # @return [::Array<::Google::Api::TypeReference>]
30
+ # The type(s) that the annotated, generic field may represent.
31
+ #
32
+ # Currently, this must only be used on fields of type `google.protobuf.Any`.
33
+ # Supporting other generic types may be considered in the future.
34
+ class FieldInfo
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # The standard format of a field value. The supported formats are all backed
39
+ # by either an RFC defined by the IETF or a Google-defined AIP.
40
+ module Format
41
+ # Default, unspecified value.
42
+ FORMAT_UNSPECIFIED = 0
43
+
44
+ # Universally Unique Identifier, version 4, value as defined by
45
+ # https://datatracker.ietf.org/doc/html/rfc4122. The value may be
46
+ # normalized to entirely lowercase letters. For example, the value
47
+ # `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
48
+ # `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
49
+ UUID4 = 1
50
+
51
+ # Internet Protocol v4 value as defined by [RFC
52
+ # 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
53
+ # condensed, with leading zeros in each octet stripped. For example,
54
+ # `001.022.233.040` would be condensed to `1.22.233.40`.
55
+ IPV4 = 2
56
+
57
+ # Internet Protocol v6 value as defined by [RFC
58
+ # 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
59
+ # normalized to entirely lowercase letters with zeros compressed, following
60
+ # [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
61
+ # the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
62
+ IPV6 = 3
63
+
64
+ # An IP address in either v4 or v6 format as described by the individual
65
+ # values defined herein. See the comments on the IPV4 and IPV6 types for
66
+ # allowed normalizations of each.
67
+ IPV4_OR_IPV6 = 4
68
+ end
69
+ end
70
+
71
+ # A reference to a message type, for use in {::Google::Api::FieldInfo FieldInfo}.
72
+ # @!attribute [rw] type_name
73
+ # @return [::String]
74
+ # The name of the type that the annotated, generic field may represent.
75
+ # If the type is in the same protobuf package, the value can be the simple
76
+ # message name e.g., `"MyMessage"`. Otherwise, the value must be the
77
+ # fully-qualified message name e.g., `"google.library.v1.Book"`.
78
+ #
79
+ # If the type(s) are unknown to the service (e.g. the field accepts generic
80
+ # user input), use the wildcard `"*"` to denote this behavior.
81
+ #
82
+ # See [AIP-202](https://google.aip.dev/202#type-references) for more details.
83
+ class TypeReference
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+ end
88
+ end
@@ -129,7 +129,8 @@ module Google
129
129
  # @!attribute [r] state_reason
130
130
  # @return [::String]
131
131
  # Output only. Human-readable description of why the backup is in the current
132
- # `state`.
132
+ # `state`. This field is only meant for human readability and should not be
133
+ # used programmatically as this field is not guaranteed to be consistent.
133
134
  # @!attribute [r] complete_time
134
135
  # @return [::Google::Protobuf::Timestamp]
135
136
  # Output only. Completion time of the Backup
@@ -172,6 +173,12 @@ module Google
172
173
  # Inherited from the parent BackupPlan's
173
174
  # {::Google::Cloud::GkeBackup::V1::BackupPlan::BackupConfig#permissive_mode permissive_mode}
174
175
  # value.
176
+ # @!attribute [r] satisfies_pzs
177
+ # @return [::Boolean]
178
+ # Output only. [Output Only] Reserved for future use.
179
+ # @!attribute [r] satisfies_pzi
180
+ # @return [::Boolean]
181
+ # Output only. [Output Only] Reserved for future use.
175
182
  class Backup
176
183
  include ::Google::Protobuf::MessageExts
177
184
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module GkeBackup
23
+ module V1
24
+ # A BackupChannel imposes constraints on where clusters can be backed up.
25
+ # The BackupChannel should be in the same project and region
26
+ # as the cluster being backed up.
27
+ # The backup can be created only in destination_project.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Identifier. The fully qualified name of the BackupChannel.
31
+ # `projects/*/locations/*/backupChannels/*`
32
+ # @!attribute [rw] destination_project
33
+ # @return [::String]
34
+ # Required. Immutable. The project where Backups are allowed to be stored.
35
+ # The format is `projects/{project}`.
36
+ # Currently, \\{project} can only be the project number. Support for project
37
+ # IDs will be added in the future.
38
+ # @!attribute [r] uid
39
+ # @return [::String]
40
+ # Output only. Server generated global unique identifier of
41
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format.
42
+ # @!attribute [r] create_time
43
+ # @return [::Google::Protobuf::Timestamp]
44
+ # Output only. The timestamp when this BackupChannel resource was created.
45
+ # @!attribute [r] update_time
46
+ # @return [::Google::Protobuf::Timestamp]
47
+ # Output only. The timestamp when this BackupChannel resource was last
48
+ # updated.
49
+ # @!attribute [rw] labels
50
+ # @return [::Google::Protobuf::Map{::String => ::String}]
51
+ # Optional. A set of custom labels supplied by user.
52
+ # @!attribute [rw] description
53
+ # @return [::String]
54
+ # Optional. User specified descriptive string for this BackupChannel.
55
+ # @!attribute [r] etag
56
+ # @return [::String]
57
+ # Output only. `etag` is used for optimistic concurrency control as a way to
58
+ # help prevent simultaneous updates of a BackupChannel from overwriting each
59
+ # other. It is strongly suggested that systems make use of the 'etag' in the
60
+ # read-modify-write cycle to perform BackupChannel updates in order to
61
+ # avoid race conditions: An `etag` is returned in the response to
62
+ # `GetBackupChannel`, and systems are expected to put that etag in the
63
+ # request to `UpdateBackupChannel` or `DeleteBackupChannel` to
64
+ # ensure that their change will be applied to the same version of the
65
+ # resource.
66
+ # @!attribute [r] destination_project_id
67
+ # @return [::String]
68
+ # Output only. The project_id where Backups are allowed to be stored.
69
+ # Example Project ID: "my-project-id".
70
+ # This will be an OUTPUT_ONLY field to return the project_id of the
71
+ # destination project.
72
+ class BackupChannel
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+
76
+ # @!attribute [rw] key
77
+ # @return [::String]
78
+ # @!attribute [rw] value
79
+ # @return [::String]
80
+ class LabelsEntry
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -93,7 +93,8 @@ module Google
93
93
  # @!attribute [r] state_reason
94
94
  # @return [::String]
95
95
  # Output only. Human-readable description of why BackupPlan is in the current
96
- # `state`
96
+ # `state`. This field is only meant for human readability and should not be
97
+ # used programmatically as this field is not guaranteed to be consistent.
97
98
  # @!attribute [r] rpo_risk_level
98
99
  # @return [::Integer]
99
100
  # Output only. A number that represents the current risk level of this
@@ -103,6 +104,12 @@ module Google
103
104
  # @return [::String]
104
105
  # Output only. Human-readable description of why the BackupPlan is in the
105
106
  # current rpo_risk_level and action items if any.
107
+ # @!attribute [r] last_successful_backup_time
108
+ # @return [::Google::Protobuf::Timestamp]
109
+ # Output only. Completion time of the last successful Backup. This is sourced
110
+ # from a successful Backup's complete_time field. This field is added to
111
+ # maintain consistency with BackupPlanBinding to display last successful
112
+ # backup time.
106
113
  class BackupPlan
107
114
  include ::Google::Protobuf::MessageExts
108
115
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module GkeBackup
23
+ module V1
24
+ # A BackupPlanBinding binds a BackupPlan with a BackupChannel.
25
+ # This resource is created automatically when a BackupPlan is created using a
26
+ # BackupChannel. This also serves as a holder for cross-project fields
27
+ # that need to be displayed in the current project.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Identifier. The fully qualified name of the BackupPlanBinding.
31
+ # `projects/*/locations/*/backupChannels/*/backupPlanBindings/*`
32
+ # @!attribute [r] uid
33
+ # @return [::String]
34
+ # Output only. Server generated global unique identifier of
35
+ # [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier)
36
+ # @!attribute [r] create_time
37
+ # @return [::Google::Protobuf::Timestamp]
38
+ # Output only. The timestamp when this binding was created.
39
+ # @!attribute [r] update_time
40
+ # @return [::Google::Protobuf::Timestamp]
41
+ # Output only. The timestamp when this binding was created.
42
+ # @!attribute [r] backup_plan
43
+ # @return [::String]
44
+ # Output only. Immutable. The fully qualified name of the BackupPlan bound
45
+ # with the parent BackupChannel.
46
+ # `projects/*/locations/*/backupPlans/{backup_plan}`
47
+ # @!attribute [r] cluster
48
+ # @return [::String]
49
+ # Output only. Immutable. The fully qualified name of the cluster that is
50
+ # being backed up Valid formats:
51
+ #
52
+ # - `projects/*/locations/*/clusters/*`
53
+ # - `projects/*/zones/*/clusters/*`
54
+ # @!attribute [r] backup_plan_details
55
+ # @return [::Google::Cloud::GkeBackup::V1::BackupPlanBinding::BackupPlanDetails]
56
+ # Output only. Contains details about the backup plan/backup.
57
+ # @!attribute [r] etag
58
+ # @return [::String]
59
+ # Output only. `etag` is used for optimistic concurrency control as a way to
60
+ # help prevent simultaneous updates of a BackupPlanBinding from overwriting
61
+ # each other. It is strongly suggested that systems make use of the 'etag' in
62
+ # the read-modify-write cycle to perform BackupPlanBinding updates in
63
+ # order to avoid race conditions: An `etag` is returned in the response to
64
+ # `GetBackupPlanBinding`, and systems are expected to put that etag in
65
+ # the request to `UpdateBackupPlanBinding` or
66
+ # `DeleteBackupPlanBinding` to ensure that their change will be applied
67
+ # to the same version of the resource.
68
+ class BackupPlanBinding
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+
72
+ # Contains metadata about the backup plan/backup.
73
+ # @!attribute [r] protected_pod_count
74
+ # @return [::Integer]
75
+ # Output only. The number of Kubernetes Pods backed up in the
76
+ # last successful Backup created via this BackupPlan.
77
+ # @!attribute [r] state
78
+ # @return [::Google::Cloud::GkeBackup::V1::BackupPlanBinding::BackupPlanDetails::State]
79
+ # Output only. State of the BackupPlan.
80
+ # @!attribute [r] last_successful_backup_time
81
+ # @return [::Google::Protobuf::Timestamp]
82
+ # Output only. Completion time of the last successful Backup. This is
83
+ # sourced from a successful Backup's complete_time field.
84
+ # @!attribute [r] next_scheduled_backup_time
85
+ # @return [::Google::Protobuf::Timestamp]
86
+ # Output only. Start time of next scheduled backup under this BackupPlan by
87
+ # either cron_schedule or rpo config. This is sourced from BackupPlan.
88
+ # @!attribute [r] rpo_risk_level
89
+ # @return [::Integer]
90
+ # Output only. A number that represents the current risk level of this
91
+ # BackupPlan from RPO perspective with 1 being no risk and 5 being highest
92
+ # risk.
93
+ # @!attribute [r] last_successful_backup
94
+ # @return [::String]
95
+ # Output only. The fully qualified name of the last successful Backup
96
+ # created under this BackupPlan.
97
+ # `projects/*/locations/*/backupPlans/*/backups/*`
98
+ class BackupPlanDetails
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+
102
+ # State
103
+ module State
104
+ # Default first value for Enums.
105
+ STATE_UNSPECIFIED = 0
106
+
107
+ # Waiting for cluster state to be RUNNING.
108
+ CLUSTER_PENDING = 1
109
+
110
+ # The BackupPlan is in the process of being created.
111
+ PROVISIONING = 2
112
+
113
+ # The BackupPlan has successfully been created and is ready for Backups.
114
+ READY = 3
115
+
116
+ # BackupPlan creation has failed.
117
+ FAILED = 4
118
+
119
+ # The BackupPlan has been deactivated.
120
+ DEACTIVATED = 5
121
+
122
+ # The BackupPlan is in the process of being deleted.
123
+ DELETING = 6
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -21,10 +21,10 @@ module Google
21
21
  module Cloud
22
22
  module GkeBackup
23
23
  module V1
24
- # A list of Kubernetes Namespaces
24
+ # A list of Kubernetes Namespaces.
25
25
  # @!attribute [rw] namespaces
26
26
  # @return [::Array<::String>]
27
- # Optional. A list of Kubernetes Namespaces
27
+ # Optional. A list of Kubernetes Namespaces.
28
28
  class Namespaces
29
29
  include ::Google::Protobuf::MessageExts
30
30
  extend ::Google::Protobuf::MessageExts::ClassMethods