google-cloud-privileged_access_manager-v1 0.a → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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 +191 -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.1
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-08-09 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: []