Class: Google::Apis::IapV1::Resource
- Inherits:
-
Object
- Object
- Google::Apis::IapV1::Resource
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/iap_v1/classes.rb,
lib/google/apis/iap_v1/representations.rb,
lib/google/apis/iap_v1/representations.rb
Instance Attribute Summary collapse
-
#expected_next_state ⇒ Hash<String,Object>
The proto or JSON formatted expected next state of the resource, wrapped in a google.protobuf.Any proto, against which the policy rules are evaluated.
-
#labels ⇒ Hash<String,String>
The service defined labels of the resource on which the conditions will be evaluated.
-
#name ⇒ String
Name of the resource on which conditions will be evaluated.
-
#service ⇒ String
The name of the service this resource belongs to.
-
#type ⇒ String
The public resource type name of the resource on which conditions will be evaluated.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Resource
constructor
A new instance of Resource.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Resource
Returns a new instance of Resource.
1020 1021 1022 |
# File 'lib/google/apis/iap_v1/classes.rb', line 1020 def initialize(**args) update!(**args) end |
Instance Attribute Details
#expected_next_state ⇒ Hash<String,Object>
The proto or JSON formatted expected next state of the resource, wrapped in a
google.protobuf.Any proto, against which the policy rules are evaluated.
Services not integrated with custom org policy can omit this field. Services
integrated with custom org policy must populate this field for all requests
where the API call changes the state of the resource. Custom org policy
backend uses these attributes to enforce custom org policies. When a proto is
wrapped, it is generally the One Platform API proto. When a JSON string is
wrapped, use google.protobuf.StringValue for the inner value. It is
sufficient to pass just the max set of attributes that are allowed for use in
custom constraints; other attributes can be omitted. See go/custom-constraints-
org-policy-integration-guide for additional details.
Corresponds to the JSON property expectedNextState
970 971 972 |
# File 'lib/google/apis/iap_v1/classes.rb', line 970 def expected_next_state @expected_next_state end |
#labels ⇒ Hash<String,String>
The service defined labels of the resource on which the conditions will be
evaluated. The semantics - including the key names - are vague to IAM. If the
effective condition has a reference to a resource.labels[foo] construct, IAM
consults with this map to retrieve the values associated with foo key for
Conditions evaluation. If the provided key is not found in the labels map, the
condition would evaluate to false. This field is in limited use. If your
intended use case is not expected to express resource.labels attribute in IAM
Conditions, leave this field empty. Before planning on using this attribute
please: * Read go/iam-conditions-labels-comm and ensure your service can meet
the data availability and management requirements. * Talk to iam-conditions-
eng@ about your use case.
Corresponds to the JSON property labels
985 986 987 |
# File 'lib/google/apis/iap_v1/classes.rb', line 985 def labels @labels end |
#name ⇒ String
Name of the resource on which conditions will be evaluated. Must use the
Relative Resource Name of the resource, which is the URI path of the resource
without the leading "/". Examples are "projects/_/buckets/[BUCKET-ID]" for
storage buckets or "projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]" for
a firewall. This field is required for evaluating conditions with rules on
resource names. For a list permission check, the resource.name value must be
set to the parent resource. If the parent resource is a project, this field
should be left unset.
Corresponds to the JSON property name
997 998 999 |
# File 'lib/google/apis/iap_v1/classes.rb', line 997 def name @name end |
#service ⇒ String
The name of the service this resource belongs to. It is configured using the
official_service_name of the Service as defined in service configurations
under //configs/cloud/resourcetypes. For example, the official_service_name of
cloud resource manager service is set as 'cloudresourcemanager.googleapis.com'
according to //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.
yaml
Corresponds to the JSON property service
1007 1008 1009 |
# File 'lib/google/apis/iap_v1/classes.rb', line 1007 def service @service end |
#type ⇒ String
The public resource type name of the resource on which conditions will be
evaluated. It is configured using the official_name of the ResourceType as
defined in service configurations under //configs/cloud/resourcetypes. For
example, the official_name for GCP projects is set as 'cloudresourcemanager.
googleapis.com/Project' according to //configs/cloud/resourcetypes/google/
cloud/resourcemanager/prod.yaml For details see go/iam-conditions-integration-
guide.
Corresponds to the JSON property type
1018 1019 1020 |
# File 'lib/google/apis/iap_v1/classes.rb', line 1018 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1025 1026 1027 1028 1029 1030 1031 |
# File 'lib/google/apis/iap_v1/classes.rb', line 1025 def update!(**args) @expected_next_state = args[:expected_next_state] if args.key?(:expected_next_state) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @service = args[:service] if args.key?(:service) @type = args[:type] if args.key?(:type) end |