google-cloud-privileged_access_manager-v1 0.a → 0.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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/privileged_access_manager/v1/bindings_override.rb +134 -0
  6. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/client.rb +1895 -0
  7. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/credentials.rb +47 -0
  8. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/operations.rb +809 -0
  9. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/paths.rb +206 -0
  10. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/client.rb +1777 -0
  11. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/operations.rb +944 -0
  12. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/service_stub.rb +1109 -0
  13. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest.rb +73 -0
  14. data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager.rb +75 -0
  15. data/lib/google/cloud/privileged_access_manager/v1/rest.rb +38 -0
  16. data/lib/google/cloud/privileged_access_manager/v1/version.rb +7 -2
  17. data/lib/google/cloud/privileged_access_manager/v1.rb +45 -0
  18. data/lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_pb.rb +108 -0
  19. data/lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_services_pb.rb +121 -0
  20. data/lib/google-cloud-privileged_access_manager-v1.rb +21 -0
  21. data/proto_docs/README.md +4 -0
  22. data/proto_docs/google/api/client.rb +403 -0
  23. data/proto_docs/google/api/field_behavior.rb +85 -0
  24. data/proto_docs/google/api/launch_stage.rb +71 -0
  25. data/proto_docs/google/api/resource.rb +227 -0
  26. data/proto_docs/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager.rb +966 -0
  27. data/proto_docs/google/longrunning/operations.rb +164 -0
  28. data/proto_docs/google/protobuf/any.rb +145 -0
  29. data/proto_docs/google/protobuf/duration.rb +98 -0
  30. data/proto_docs/google/protobuf/empty.rb +34 -0
  31. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  32. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  33. data/proto_docs/google/rpc/status.rb +48 -0
  34. metadata +125 -10
@@ -0,0 +1,127 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 Protobuf
22
+ # A Timestamp represents a point in time independent of any time zone or local
23
+ # calendar, encoded as a count of seconds and fractions of seconds at
24
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
25
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
26
+ # Gregorian calendar backwards to year one.
27
+ #
28
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
29
+ # second table is needed for interpretation, using a [24-hour linear
30
+ # smear](https://developers.google.com/time/smear).
31
+ #
32
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
33
+ # restricting to that range, we ensure that we can convert to and from [RFC
34
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
35
+ #
36
+ # # Examples
37
+ #
38
+ # Example 1: Compute Timestamp from POSIX `time()`.
39
+ #
40
+ # Timestamp timestamp;
41
+ # timestamp.set_seconds(time(NULL));
42
+ # timestamp.set_nanos(0);
43
+ #
44
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
45
+ #
46
+ # struct timeval tv;
47
+ # gettimeofday(&tv, NULL);
48
+ #
49
+ # Timestamp timestamp;
50
+ # timestamp.set_seconds(tv.tv_sec);
51
+ # timestamp.set_nanos(tv.tv_usec * 1000);
52
+ #
53
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
54
+ #
55
+ # FILETIME ft;
56
+ # GetSystemTimeAsFileTime(&ft);
57
+ # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
58
+ #
59
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
60
+ # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
61
+ # Timestamp timestamp;
62
+ # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
63
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
64
+ #
65
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
66
+ #
67
+ # long millis = System.currentTimeMillis();
68
+ #
69
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
70
+ # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
+ #
72
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
73
+ #
74
+ # Instant now = Instant.now();
75
+ #
76
+ # Timestamp timestamp =
77
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
78
+ # .setNanos(now.getNano()).build();
79
+ #
80
+ # Example 6: Compute Timestamp from current time in Python.
81
+ #
82
+ # timestamp = Timestamp()
83
+ # timestamp.GetCurrentTime()
84
+ #
85
+ # # JSON Mapping
86
+ #
87
+ # In JSON format, the Timestamp type is encoded as a string in the
88
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
89
+ # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z"
90
+ # where \\{year} is always expressed using four digits while \\{month}, \\{day},
91
+ # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional
92
+ # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
93
+ # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
94
+ # is required. A proto3 JSON serializer should always use UTC (as indicated by
95
+ # "Z") when printing the Timestamp type and a proto3 JSON parser should be
96
+ # able to accept both UTC and other timezones (as indicated by an offset).
97
+ #
98
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
99
+ # 01:30 UTC on January 15, 2017.
100
+ #
101
+ # In JavaScript, one can convert a Date object to this format using the
102
+ # standard
103
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
104
+ # method. In Python, a standard `datetime.datetime` object can be converted
105
+ # to this format using
106
+ # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
107
+ # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
108
+ # the Joda Time's [`ISODateTimeFormat.dateTime()`](
109
+ # http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
110
+ # ) to obtain a formatter capable of generating timestamps in this format.
111
+ # @!attribute [rw] seconds
112
+ # @return [::Integer]
113
+ # Represents seconds of UTC time since Unix epoch
114
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
115
+ # 9999-12-31T23:59:59Z inclusive.
116
+ # @!attribute [rw] nanos
117
+ # @return [::Integer]
118
+ # Non-negative fractions of a second at nanosecond resolution. Negative
119
+ # second values with fractions must still have non-negative nanos values
120
+ # that count forward in time. Must be from 0 to 999,999,999
121
+ # inclusive.
122
+ class Timestamp
123
+ include ::Google::Protobuf::MessageExts
124
+ extend ::Google::Protobuf::MessageExts::ClassMethods
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 Rpc
22
+ # The `Status` type defines a logical error model that is suitable for
23
+ # different programming environments, including REST APIs and RPC APIs. It is
24
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
25
+ # three pieces of data: error code, error message, and error details.
26
+ #
27
+ # You can find out more about this error model and how to work with it in the
28
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
29
+ # @!attribute [rw] code
30
+ # @return [::Integer]
31
+ # The status code, which should be an enum value of
32
+ # [google.rpc.Code][google.rpc.Code].
33
+ # @!attribute [rw] message
34
+ # @return [::String]
35
+ # A developer-facing error message, which should be in English. Any
36
+ # user-facing error message should be localized and sent in the
37
+ # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized
38
+ # by the client.
39
+ # @!attribute [rw] details
40
+ # @return [::Array<::Google::Protobuf::Any>]
41
+ # A list of messages that carry the error details. There is a common set of
42
+ # message types for APIs to use.
43
+ class Status
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+ end
48
+ end
metadata CHANGED
@@ -1,28 +1,133 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-privileged_access_manager-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.a
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-09 00:00:00.000000000 Z
12
- dependencies: []
13
- description: Placeholder for the future Google-authored gem google-cloud-privileged_access_manager-v1.
14
- This placeholder is being released on 2024-07-09 in order to reserve the name. The
15
- final gem should be available shortly after that date. If it has not been released
16
- in a timely manner, or if this placeholder interferes with your work, you can contact
17
- the Google Ruby team by opening an issue in the GitHub repository https://github.com/googleapis/google-cloud-ruby.
11
+ date: 2024-07-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: gapic-common
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.21.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 2.a
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 0.21.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.a
33
+ - !ruby/object:Gem::Dependency
34
+ name: google-cloud-errors
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: google-cloud-location
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0.7'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 2.a
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0.7'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: 2.a
67
+ description: "## Overview Privileged Access Manager (PAM) is a Google Cloud native,
68
+ managed solution to secure, manage and audit privileged access while ensuring operational
69
+ velocity and developer productivity. PAM enables just-in-time, time-bound, approval-based
70
+ access elevations, and auditing of privileged access elevations and activity. PAM
71
+ lets you define the rules of who can request access, what they can request access
72
+ to, and if they should be granted access with or without approvals based on the
73
+ sensitivity of the access and emergency of the situation. ## Concepts ### Entitlement
74
+ An entitlement is an eligibility or license that allows specified users (requesters)
75
+ to request and obtain access to specified resources subject to a set of conditions
76
+ such as duration, etc. entitlements can be granted to both human and non-human principals.
77
+ ### Grant A grant is an instance of active usage against the entitlement. A user
78
+ can place a request for a grant against an entitlement. The request may be forwarded
79
+ to an approver for their decision. Once approved, the grant is activated, ultimately
80
+ giving the user access (roles/permissions) on a resource per the criteria specified
81
+ in entitlement. ### How does PAM work PAM creates and uses a service agent (Google-managed
82
+ service account) to perform the required IAM policy changes for granting access
83
+ at a specific resource/access scope. The service agent requires getIAMPolicy and
84
+ setIAMPolicy permissions at the appropriate (or higher) access scope - Organization/Folder/Project
85
+ to make policy changes on the resources listed in PAM entitlements. When enabling
86
+ PAM for a resource scope, the user/ principal performing that action should have
87
+ the appropriate permissions at that resource scope (resourcemanager.{projects|folders|organizations}.setIamPolicy,
88
+ resourcemanager.{projects|folders|organizations}.getIamPolicy, and resourcemanager.{projects|folders|organizations}.get)
89
+ to list and grant the service agent/account the required access to perform IAM policy
90
+ changes. Note that google-cloud-privileged_access_manager-v1 is a version-specific
91
+ client library. For most uses, we recommend installing the main client library google-cloud-privileged_access_manager
92
+ instead. See the readme for more details."
18
93
  email: googleapis-packages@google.com
19
94
  executables: []
20
95
  extensions: []
21
96
  extra_rdoc_files: []
22
97
  files:
98
+ - ".yardopts"
99
+ - AUTHENTICATION.md
23
100
  - LICENSE.md
24
101
  - README.md
102
+ - lib/google-cloud-privileged_access_manager-v1.rb
103
+ - lib/google/cloud/privileged_access_manager/v1.rb
104
+ - lib/google/cloud/privileged_access_manager/v1/bindings_override.rb
105
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager.rb
106
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/client.rb
107
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/credentials.rb
108
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/operations.rb
109
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/paths.rb
110
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest.rb
111
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/client.rb
112
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/operations.rb
113
+ - lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/service_stub.rb
114
+ - lib/google/cloud/privileged_access_manager/v1/rest.rb
25
115
  - lib/google/cloud/privileged_access_manager/v1/version.rb
116
+ - lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_pb.rb
117
+ - lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_services_pb.rb
118
+ - proto_docs/README.md
119
+ - proto_docs/google/api/client.rb
120
+ - proto_docs/google/api/field_behavior.rb
121
+ - proto_docs/google/api/launch_stage.rb
122
+ - proto_docs/google/api/resource.rb
123
+ - proto_docs/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager.rb
124
+ - proto_docs/google/longrunning/operations.rb
125
+ - proto_docs/google/protobuf/any.rb
126
+ - proto_docs/google/protobuf/duration.rb
127
+ - proto_docs/google/protobuf/empty.rb
128
+ - proto_docs/google/protobuf/field_mask.rb
129
+ - proto_docs/google/protobuf/timestamp.rb
130
+ - proto_docs/google/rpc/status.rb
26
131
  homepage: https://github.com/googleapis/google-cloud-ruby
27
132
  licenses:
28
133
  - Apache-2.0
@@ -35,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
35
140
  requirements:
36
141
  - - ">="
37
142
  - !ruby/object:Gem::Version
38
- version: '3.0'
143
+ version: '2.7'
39
144
  required_rubygems_version: !ruby/object:Gem::Requirement
40
145
  requirements:
41
146
  - - ">="
@@ -45,5 +150,15 @@ requirements: []
45
150
  rubygems_version: 3.5.6
46
151
  signing_key:
47
152
  specification_version: 4
48
- summary: Placeholder for the future Google-authored gem google-cloud-privileged_access_manager-v1
153
+ summary: Privileged Access Manager (PAM) helps you on your journey towards least privilege
154
+ and helps mitigate risks tied to privileged access misuse or abuse. PAM allows you
155
+ to shift from always-on standing privileges towards on-demand access with just-in-time,
156
+ time-bound, and approval-based access elevations. PAM allows IAM administrators
157
+ to create entitlements that can grant just-in-time, temporary access to any resource
158
+ scope. Requesters can explore eligible entitlements and request the access needed
159
+ for their task. Approvers are notified when approvals await their decision. Streamlined
160
+ workflows facilitated by using PAM can support various use cases, including emergency
161
+ access for incident responders, time-boxed access for developers for critical deployment
162
+ or maintenance, temporary access for operators for data ingestion and audits, JIT
163
+ access to service accounts for automated tasks, and more.
49
164
  test_files: []