Class IamPolicyAnalysisResult.AccessControlList

  • All Implemented Interfaces:
    IamPolicyAnalysisResult.AccessControlListOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
    Enclosing class:
    IamPolicyAnalysisResult

    public static final class IamPolicyAnalysisResult.AccessControlList
    extends com.google.protobuf.GeneratedMessageV3
    implements IamPolicyAnalysisResult.AccessControlListOrBuilder
     An access control list, derived from the above IAM policy binding, which
     contains a set of resources and accesses. May include one
     item from each set to compose an access control entry.
    
     NOTICE that there could be multiple access control lists for one IAM policy
     binding. The access control lists are created based on resource and access
     combinations.
    
     For example, assume we have the following cases in one IAM policy binding:
     - Permission P1 and P2 apply to resource R1 and R2;
     - Permission P3 applies to resource R2 and R3;
    
     This will result in the following access control lists:
     - AccessControlList 1: [R1, R2], [P1, P2]
     - AccessControlList 2: [R2, R3], [P3]
     
    Protobuf type google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList
    See Also:
    Serialized Form
    • Field Detail

      • RESOURCE_EDGES_FIELD_NUMBER

        public static final int RESOURCE_EDGES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CONDITION_EVALUATION_FIELD_NUMBER

        public static final int CONDITION_EVALUATION_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getResourcesCount

        public int getResourcesCount()
         The resources that match one of the following conditions:
         - The resource_selector, if it is specified in request;
         - Otherwise, resources reachable from the policy attached resource.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Resource resources = 1;
        Specified by:
        getResourcesCount in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • getAccessesCount

        public int getAccessesCount()
         The accesses that match one of the following conditions:
         - The access_selector, if it is specified in request;
         - Otherwise, access specifiers reachable from the policy binding's role.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Access accesses = 2;
        Specified by:
        getAccessesCount in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • getResourceEdgesList

        public List<IamPolicyAnalysisResult.Edge> getResourceEdgesList()
         Resource edges of the graph starting from the policy attached
         resource to any descendant resources. The
         [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
         contains the full resource name of a parent resource and
         [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
         contains the full resource name of a child resource. This field is
         present only if the output_resource_edges option is enabled in request.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge resource_edges = 3;
        Specified by:
        getResourceEdgesList in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • getResourceEdgesOrBuilderList

        public List<? extends IamPolicyAnalysisResult.EdgeOrBuilder> getResourceEdgesOrBuilderList()
         Resource edges of the graph starting from the policy attached
         resource to any descendant resources. The
         [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
         contains the full resource name of a parent resource and
         [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
         contains the full resource name of a child resource. This field is
         present only if the output_resource_edges option is enabled in request.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge resource_edges = 3;
        Specified by:
        getResourceEdgesOrBuilderList in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • getResourceEdgesCount

        public int getResourceEdgesCount()
         Resource edges of the graph starting from the policy attached
         resource to any descendant resources. The
         [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
         contains the full resource name of a parent resource and
         [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
         contains the full resource name of a child resource. This field is
         present only if the output_resource_edges option is enabled in request.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge resource_edges = 3;
        Specified by:
        getResourceEdgesCount in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • getResourceEdges

        public IamPolicyAnalysisResult.Edge getResourceEdges​(int index)
         Resource edges of the graph starting from the policy attached
         resource to any descendant resources. The
         [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
         contains the full resource name of a parent resource and
         [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
         contains the full resource name of a child resource. This field is
         present only if the output_resource_edges option is enabled in request.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge resource_edges = 3;
        Specified by:
        getResourceEdges in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • getResourceEdgesOrBuilder

        public IamPolicyAnalysisResult.EdgeOrBuilder getResourceEdgesOrBuilder​(int index)
         Resource edges of the graph starting from the policy attached
         resource to any descendant resources. The
         [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
         contains the full resource name of a parent resource and
         [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
         contains the full resource name of a child resource. This field is
         present only if the output_resource_edges option is enabled in request.
         
        repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge resource_edges = 3;
        Specified by:
        getResourceEdgesOrBuilder in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
      • hasConditionEvaluation

        public boolean hasConditionEvaluation()
         Condition evaluation for this AccessControlList, if there is a condition
         defined in the above IAM policy binding.
         
        .google.cloud.asset.v1.ConditionEvaluation condition_evaluation = 4;
        Specified by:
        hasConditionEvaluation in interface IamPolicyAnalysisResult.AccessControlListOrBuilder
        Returns:
        Whether the conditionEvaluation field is set.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static IamPolicyAnalysisResult.AccessControlList parseFrom​(ByteBuffer data,
                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static IamPolicyAnalysisResult.AccessControlList parseFrom​(com.google.protobuf.ByteString data)
                                                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static IamPolicyAnalysisResult.AccessControlList parseFrom​(com.google.protobuf.ByteString data,
                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static IamPolicyAnalysisResult.AccessControlList parseFrom​(byte[] data)
                                                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static IamPolicyAnalysisResult.AccessControlList parseFrom​(byte[] data,
                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public IamPolicyAnalysisResult.AccessControlList.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected IamPolicyAnalysisResult.AccessControlList.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<IamPolicyAnalysisResult.AccessControlList> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public IamPolicyAnalysisResult.AccessControlList getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder