Class: Google::Apis::IapV1::Resource

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Resource

Returns a new instance of Resource.



998
999
1000
# File 'lib/google/apis/iap_v1/classes.rb', line 998

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#expected_next_stateHash<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

Returns:

  • (Hash<String,Object>)


948
949
950
# File 'lib/google/apis/iap_v1/classes.rb', line 948

def expected_next_state
  @expected_next_state
end

#labelsHash<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

Returns:

  • (Hash<String,String>)


963
964
965
# File 'lib/google/apis/iap_v1/classes.rb', line 963

def labels
  @labels
end

#nameString

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

Returns:

  • (String)


975
976
977
# File 'lib/google/apis/iap_v1/classes.rb', line 975

def name
  @name
end

#serviceString

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

Returns:

  • (String)


985
986
987
# File 'lib/google/apis/iap_v1/classes.rb', line 985

def service
  @service
end

#typeString

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

Returns:

  • (String)


996
997
998
# File 'lib/google/apis/iap_v1/classes.rb', line 996

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1003
1004
1005
1006
1007
1008
1009
# File 'lib/google/apis/iap_v1/classes.rb', line 1003

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