Class PolicyIdentifier

java.lang.Object
software.amazon.awssdk.services.iam.model.PolicyIdentifier
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<PolicyIdentifier.Builder,PolicyIdentifier>

@Generated("software.amazon.awssdk:codegen") public final class PolicyIdentifier extends Object implements SdkPojo, Serializable, ToCopyableBuilder<PolicyIdentifier.Builder,PolicyIdentifier>

Identifies one or more policies as a union type. Specify exactly one of PolicyType, PolicyArn, or InlinePolicyIdentifier to identify policies by their type, by Amazon Resource Name (ARN), or by the name of an inline policy and the entity it is attached to.

See Also:
  • Method Details

    • policyType

      public final PolicyIdentifierPolicyType policyType()

      The policy type to identify. All policies of the specified type are matched.

      If the service returns an enum value that is not available in the current SDK version, policyType will return PolicyIdentifierPolicyType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from policyTypeAsString().

      Returns:
      The policy type to identify. All policies of the specified type are matched.
      See Also:
    • policyTypeAsString

      public final String policyTypeAsString()

      The policy type to identify. All policies of the specified type are matched.

      If the service returns an enum value that is not available in the current SDK version, policyType will return PolicyIdentifierPolicyType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from policyTypeAsString().

      Returns:
      The policy type to identify. All policies of the specified type are matched.
      See Also:
    • policyArn

      public final String policyArn()

      The Amazon Resource Name (ARN) of an Amazon Web Services managed policy or a customer managed policy that is attached to an IAM user, group, or role. Wildcard characters are supported in the resource name portion of the ARN to match multiple managed policies: use at most one * (matches any sequence of characters, including none), and any number of ? (each matches exactly one character).

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

      Returns:
      The Amazon Resource Name (ARN) of an Amazon Web Services managed policy or a customer managed policy that is attached to an IAM user, group, or role. Wildcard characters are supported in the resource name portion of the ARN to match multiple managed policies: use at most one * (matches any sequence of characters, including none), and any number of ? (each matches exactly one character).

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • inlinePolicyIdentifier

      public final InlinePolicyIdentifierType inlinePolicyIdentifier()

      An inline policy identifier consisting of a policy name and the entity it is attached to. Wildcard characters ( * and ?) in the entity name can match multiple entities.

      Returns:
      An inline policy identifier consisting of a policy name and the entity it is attached to. Wildcard characters (* and ?) in the entity name can match multiple entities.
    • toBuilder

      public PolicyIdentifier.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<PolicyIdentifier.Builder,PolicyIdentifier>
      Returns:
      a builder for type T
    • builder

      public static PolicyIdentifier.Builder builder()
    • serializableBuilderClass

      public static Class<? extends PolicyIdentifier.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • fromPolicyType

      public static PolicyIdentifier fromPolicyType(String policyType)
      Create an instance of this class with policyTypeAsString() initialized to the given value.

      The policy type to identify. All policies of the specified type are matched.

      Parameters:
      policyType - The policy type to identify. All policies of the specified type are matched.
      See Also:
    • fromPolicyType

      public static PolicyIdentifier fromPolicyType(PolicyIdentifierPolicyType policyType)
      Create an instance of this class with policyTypeAsString() initialized to the given value.

      The policy type to identify. All policies of the specified type are matched.

      Parameters:
      policyType - The policy type to identify. All policies of the specified type are matched.
      See Also:
    • fromPolicyArn

      public static PolicyIdentifier fromPolicyArn(String policyArn)
      Create an instance of this class with policyArn() initialized to the given value.

      The Amazon Resource Name (ARN) of an Amazon Web Services managed policy or a customer managed policy that is attached to an IAM user, group, or role. Wildcard characters are supported in the resource name portion of the ARN to match multiple managed policies: use at most one * (matches any sequence of characters, including none), and any number of ? (each matches exactly one character).

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

      Parameters:
      policyArn - The Amazon Resource Name (ARN) of an Amazon Web Services managed policy or a customer managed policy that is attached to an IAM user, group, or role. Wildcard characters are supported in the resource name portion of the ARN to match multiple managed policies: use at most one * (matches any sequence of characters, including none), and any number of ? (each matches exactly one character).

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • fromInlinePolicyIdentifier

      public static PolicyIdentifier fromInlinePolicyIdentifier(InlinePolicyIdentifierType inlinePolicyIdentifier)
      Create an instance of this class with inlinePolicyIdentifier() initialized to the given value.

      An inline policy identifier consisting of a policy name and the entity it is attached to. Wildcard characters ( * and ?) in the entity name can match multiple entities.

      Parameters:
      inlinePolicyIdentifier - An inline policy identifier consisting of a policy name and the entity it is attached to. Wildcard characters (* and ?) in the entity name can match multiple entities.
    • fromInlinePolicyIdentifier

      public static PolicyIdentifier fromInlinePolicyIdentifier(Consumer<InlinePolicyIdentifierType.Builder> inlinePolicyIdentifier)
      Create an instance of this class with inlinePolicyIdentifier() initialized to the given value.

      An inline policy identifier consisting of a policy name and the entity it is attached to. Wildcard characters ( * and ?) in the entity name can match multiple entities.

      Parameters:
      inlinePolicyIdentifier - An inline policy identifier consisting of a policy name and the entity it is attached to. Wildcard characters (* and ?) in the entity name can match multiple entities.
    • type

      public PolicyIdentifier.Type type()
      Retrieve an enum value representing which member of this object is populated. When this class is returned in a service response, this will be PolicyIdentifier.Type.UNKNOWN_TO_SDK_VERSION if the service returned a member that is only known to a newer SDK version. When this class is created directly in your code, this will be PolicyIdentifier.Type.UNKNOWN_TO_SDK_VERSION if zero members are set, and null if more than one member is set.
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.