com.amazonaws.auth.policy

## クラス Statement

- java.lang.Object
- - com.amazonaws.auth.policy.Statement

-     public class Statement
      extends java.lang.Object

  A statement is the formal description of a single permission, and is always contained within a policy object.

  A statement describes a rule for allowing or denying access to a specific AWS resource based on how the resource is being accessed, and who is attempting to access the resource. Statements can also optionally contain a list of conditions that specify when a statement is to be honored.

  For example, consider a statement that:

  - allows access (the effect)
  - for a list of specific AWS account IDs (the principals)
  - when accessing an SQS queue (the resource)
  - using the SendMessage operation (the action)
  - and the request occurs before a specific date (a condition)

  Statements takes the form: "A has permission to do B to C where D applies".

  - A is the principal - the AWS account that is making a request to access or modify one of your AWS resources.
  - B is the action - the way in which your AWS resource is being accessed or modified, such as sending a message to an Amazon SQS queue, or storing an object in an Amazon S3 bucket.
  - C is the resource - your AWS entity that the principal wants to access, such as an Amazon SQS queue, or an object stored in Amazon S3.
  - D is the set of conditions - optional constraints that specify when to allow or deny access for the principal to access your resource. Many expressive conditions are available, some specific to each service. For example you can use date conditions to allow access to your resources only after or before a specific time.

  There are many resources and conditions available for use in statements, and you can combine them to form fine grained custom access control polices.

- - ### ネストされたクラスの概要

    ネストされたクラス
    修飾子とタイプ | クラスと説明
    --- | ---
    `static class` | `Statement.Effect` The effect is the result that you want a policy statement to return at evaluation time.

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `Statement(Statement.Effect effect)` Constructs a new access control policy statement with the specified effect.

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `java.util.List<Action>` | `getActions()` Returns the list of actions to which this policy statement applies.
    `java.util.List<Condition>` | `getConditions()` Returns the conditions associated with this policy statement.
    `Statement.Effect` | `getEffect()` Returns the result effect of this policy statement when it is evaluated.
    `java.lang.String` | `getId()` Returns the ID for this statement.
    `java.util.List<Principal>` | `getPrincipals()` Returns the principals associated with this policy statement, indicating which AWS accounts are affected by this policy statement.
    `java.util.List<Resource>` | `getResources()` Returns the resources associated with this policy statement.
    `void` | `setActions(java.util.Collection<Action> actions)` Sets the list of actions to which this policy statement applies.
    `void` | `setConditions(java.util.List<Condition> conditions)` Sets the conditions associated with this policy statement.
    `void` | `setEffect(Statement.Effect effect)` Sets the result effect of this policy statement when it is evaluated.
    `void` | `setId(java.lang.String id)` Sets the ID for this statement.
    `void` | `setPrincipals(java.util.Collection<Principal> principals)` Sets the principals associated with this policy statement, indicating which AWS accounts are affected by this policy statement.
    `void` | `setResources(java.util.Collection<Resource> resources)` Sets the resources associated with this policy statement.
    `Statement` | `withActions(Action... actions)` Sets the list of actions to which this policy statement applies and returns this updated Statement object so that additional method calls can be chained together.
    `Statement` | `withConditions(Condition... conditions)` Sets the conditions associated with this policy statement, and returns this updated Statement object so that additional method calls can be chained together.
    `Statement` | `withId(java.lang.String id)` Sets the ID for this statement and returns the updated statement so multiple calls can be chained together.
    `Statement` | `withPrincipals(Principal... principals)` Sets the principals associated with this policy statement, and returns this updated Statement object.
    `Statement` | `withResources(Resource... resources)` Sets the resources associated with this policy statement and returns this updated Statement object so that additional method calls can be chained together.

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### Statement

          public Statement(Statement.Effect effect)

      Constructs a new access control policy statement with the specified effect.

      Before a statement is valid and can be sent to AWS, callers must set the principals, resources, and actions (as well as any optional conditions) involved in the statement.

      パラメータ:
        `effect` - The effect this statement has (allowing access or denying access) when all conditions, resources, principals, and actions are matched.

  - ### メソッドの詳細

    - #### getId

          public java.lang.String getId()

      Returns the ID for this statement. Statement IDs serve to help keep track of multiple statements, and are often used to give the statement a meaningful, human readable name.

      Statement IDs must be unique within a policy, but are not required to be globally unique.

      If you do not explicitly assign an ID to a statement, a unique ID will be automatically assigned when the statement is added to a policy.

      Developers should be careful to not use the same statement ID for multiple statements in the same policy. Reusing the same statement ID in different policies is not a problem.

      戻り値:
        The statement ID.

    - #### setId

          public void setId(java.lang.String id)

      Sets the ID for this statement. Statement IDs serve to help keep track of multiple statements, and are often used to give the statement a meaningful, human readable name.

      Statement IDs must be unique within a policy, but are not required to be globally unique.

      If you do not explicitly assign an ID to a statement, a unique ID will be automatically assigned when the statement is added to a policy.

      Developers should be careful to not use the same statement ID for multiple statements in the same policy. Reusing the same statement ID in different policies is not a problem.

      パラメータ:
        `id` - The new statement ID for this statement.

    - #### withId

          public Statement withId(java.lang.String id)

      Sets the ID for this statement and returns the updated statement so multiple calls can be chained together.

      Statement IDs serve to help keep track of multiple statements, and are often used to give the statement a meaningful, human readable name.

      If you do not explicitly assign an ID to a statement, a unique ID will be automatically assigned when the statement is added to a policy.

      Developers should be careful to not use the same statement ID for multiple statements in the same policy. Reusing the same statement ID in different policies is not a problem.

      パラメータ:
        `id` - The new statement ID for this statement.

    - #### getEffect

          public Statement.Effect getEffect()

      Returns the result effect of this policy statement when it is evaluated. A policy statement can either allow access or explicitly
      戻り値:
        The result effect of this policy statement.

    - #### setEffect

          public void setEffect(Statement.Effect effect)

      Sets the result effect of this policy statement when it is evaluated. A policy statement can either allow access or explicitly
      パラメータ:
        `effect` - The result effect of this policy statement.

    - #### getActions

          public java.util.List<Action> getActions()

      Returns the list of actions to which this policy statement applies. Actions limit a policy statement to specific service operations that are being allowed or denied by the policy statement. For example, you might want to allow any AWS user to post messages to your SQS queue using the SendMessage action, but you don't want to allow those users other actions such as ReceiveMessage or DeleteQueue.
      戻り値:
        The list of actions to which this policy statement applies.

    - #### setActions

          public void setActions(java.util.Collection<Action> actions)

      Sets the list of actions to which this policy statement applies. Actions limit a policy statement to specific service operations that are being allowed or denied by the policy statement. For example, you might want to allow any AWS user to post messages to your SQS queue using the SendMessage action, but you don't want to allow those users other actions such as ReceiveMessage or DeleteQueue.
      パラメータ:
        `actions` - The list of actions to which this policy statement applies.

    - #### withActions

          public Statement withActions(Action... actions)

      Sets the list of actions to which this policy statement applies and returns this updated Statement object so that additional method calls can be chained together.

      Actions limit a policy statement to specific service operations that are being allowed or denied by the policy statement. For example, you might want to allow any AWS user to post messages to your SQS queue using the SendMessage action, but you don't want to allow those users other actions such as ReceiveMessage or DeleteQueue.

      パラメータ:
        `actions` - The list of actions to which this statement applies.
      戻り値:
        The updated Statement object so that additional method calls can be chained together.

    - #### getResources

          public java.util.List<Resource> getResources()

      Returns the resources associated with this policy statement. Resources are what a policy statement is allowing or denying access to, such as an Amazon SQS queue or an Amazon SNS topic.

      Note that some services allow only one resource to be specified per policy statement.

      戻り値:
        The resources associated with this policy statement.

    - #### setResources

          public void setResources(java.util.Collection<Resource> resources)

      Sets the resources associated with this policy statement. Resources are what a policy statement is allowing or denying access to, such as an Amazon SQS queue or an Amazon SNS topic.

      Note that some services allow only one resource to be specified per policy statement.

      パラメータ:
        `resources` - The resources associated with this policy statement.

    - #### withResources

          public Statement withResources(Resource... resources)

      Sets the resources associated with this policy statement and returns this updated Statement object so that additional method calls can be chained together.

      Resources are what a policy statement is allowing or denying access to, such as an Amazon SQS queue or an Amazon SNS topic.

      Note that some services allow only one resource to be specified per policy statement.

      パラメータ:
        `resources` - The resources associated with this policy statement.
      戻り値:
        The updated Statement object so that additional method calls can be chained together.

    - #### getConditions

          public java.util.List<Condition> getConditions()

      Returns the conditions associated with this policy statement. Conditions allow policy statements to be conditionally evaluated based on the many available condition types.

      For example, a statement that allows access to an Amazon SQS queue could use a condition to only apply the effect of that statement for requests that are made before a certain date, or that originate from a range of IP addresses.

      When multiple conditions are included in a single statement, all conditions must evaluate to true in order for the statement to take effect.

      戻り値:
        The conditions associated with this policy statement.

    - #### setConditions

          public void setConditions(java.util.List<Condition> conditions)

      Sets the conditions associated with this policy statement. Conditions allow policy statements to be conditionally evaluated based on the many available condition types.

      For example, a statement that allows access to an Amazon SQS queue could use a condition to only apply the effect of that statement for requests that are made before a certain date, or that originate from a range of IP addresses.

      Multiple conditions can be included in a single statement, and all conditions must evaluate to true in order for the statement to take effect.

      パラメータ:
        `conditions` - The conditions associated with this policy statement.

    - #### withConditions

          public Statement withConditions(Condition... conditions)

      Sets the conditions associated with this policy statement, and returns this updated Statement object so that additional method calls can be chained together.

      Conditions allow policy statements to be conditionally evaluated based on the many available condition types.

      For example, a statement that allows access to an Amazon SQS queue could use a condition to only apply the effect of that statement for requests that are made before a certain date, or that originate from a range of IP addresses.

      Multiple conditions can be included in a single statement, and all conditions must evaluate to true in order for the statement to take effect.

      パラメータ:
        `conditions` - The conditions associated with this policy statement.
      戻り値:
        The updated Statement object so that additional method calls can be chained together.

    - #### getPrincipals

          public java.util.List<Principal> getPrincipals()

      Returns the principals associated with this policy statement, indicating which AWS accounts are affected by this policy statement.
      戻り値:
        The list of principals associated with this policy statement.

    - #### setPrincipals

          public void setPrincipals(java.util.Collection<Principal> principals)

      Sets the principals associated with this policy statement, indicating which AWS accounts are affected by this policy statement.

      If you don't want to restrict your policy to specific users, you can use `Principal.AllUsers` to apply the policy to any user trying to access your resource.

      パラメータ:
        `principals` - The list of principals associated with this policy statement.

    - #### withPrincipals

          public Statement withPrincipals(Principal... principals)

      Sets the principals associated with this policy statement, and returns this updated Statement object. Principals control which AWS accounts are affected by this policy statement.

      If you don't want to restrict your policy to specific users, you can use `Principal.AllUsers` to apply the policy to any user trying to access your resource.

      パラメータ:
        `principals` - The list of principals associated with this policy statement.
      戻り値:
        The updated Statement object so that additional method calls can be chained together.