google-cloud-privileged_access_manager-v1 0.a → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +122 -0
- data/README.md +144 -8
- data/lib/google/cloud/privileged_access_manager/v1/bindings_override.rb +134 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/client.rb +1895 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/credentials.rb +47 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/operations.rb +809 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/paths.rb +206 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/client.rb +1777 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/operations.rb +944 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest/service_stub.rb +1109 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager/rest.rb +73 -0
- data/lib/google/cloud/privileged_access_manager/v1/privileged_access_manager.rb +75 -0
- data/lib/google/cloud/privileged_access_manager/v1/rest.rb +38 -0
- data/lib/google/cloud/privileged_access_manager/v1/version.rb +7 -2
- data/lib/google/cloud/privileged_access_manager/v1.rb +45 -0
- data/lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_pb.rb +108 -0
- data/lib/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager_services_pb.rb +121 -0
- data/lib/google-cloud-privileged_access_manager-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/client.rb +403 -0
- data/proto_docs/google/api/field_behavior.rb +85 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/resource.rb +227 -0
- data/proto_docs/google/cloud/privilegedaccessmanager/v1/privilegedaccessmanager.rb +966 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +145 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +34 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +127 -0
- data/proto_docs/google/rpc/status.rb +48 -0
- 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.
|
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-
|
12
|
-
dependencies:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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: '
|
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:
|
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: []
|