NAME

Paws::LexModelsV2::CreateResourcePolicyStatement - Arguments for method CreateResourcePolicyStatement on Paws::LexModelsV2

DESCRIPTION

This class represents the parameters used for calling the method CreateResourcePolicyStatement on the Amazon Lex Model Building V2 service. Use the attributes of this class as arguments to method CreateResourcePolicyStatement.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateResourcePolicyStatement.

SYNOPSIS

   my $models-v2-lex = Paws->service('LexModelsV2');
   my $CreateResourcePolicyStatementResponse =
     $models - v2 -lex->CreateResourcePolicyStatement(
     Action => [
       'MyOperation', ...    # min: 5, max: 50
     ],
     Effect    => 'Allow',
     Principal => [
       {
         Arn     => 'MyPrincipalArn',        # min: 30, max: 1024; OPTIONAL
         Service => 'MyServicePrincipal',    # min: 15, max: 1024; OPTIONAL
       },
       ...
     ],
     ResourceArn => 'MyAmazonResourceName',
     StatementId => 'MyName',
     Condition   => {
       'MyConditionOperator' => {
         'MyConditionKey' => 'MyConditionValue'
         ,    # key: min: 1, max: 1024, value: min: 1, max: 1024
       },    # key: min: 1, value: max: 10
     },    # OPTIONAL
     ExpectedRevisionId => 'MyRevisionId',    # OPTIONAL
     );

   # Results:
   my $ResourceArn = $CreateResourcePolicyStatementResponse->ResourceArn;
   my $RevisionId  = $CreateResourcePolicyStatementResponse->RevisionId;

# Returns a L<Paws::LexModelsV2::CreateResourcePolicyStatementResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/models-v2-lex/CreateResourcePolicyStatement

ATTRIBUTES

REQUIRED Action => ArrayRef[Str|Undef]

The Amazon Lex action that this policy either allows or denies. The action must apply to the resource type of the specified ARN. For more information, see Actions, resources, and condition keys for Amazon Lex V2 (https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlexv2.html).

Condition => Paws::LexModelsV2::ConditionMap

Specifies a condition when the policy is in effect. If the principal of the policy is a service principal, you must provide two condition blocks, one with a SourceAccount global condition key and one with a SourceArn global condition key.

For more information, see IAM JSON policy elements: Condition (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html).

REQUIRED Effect => Str

Determines whether the statement allows or denies access to the resource.

Valid values are: "Allow", "Deny"

ExpectedRevisionId => Str

The identifier of the revision of the policy to edit. If this revision ID doesn't match the current revision ID, Amazon Lex throws an exception.

If you don't specify a revision, Amazon Lex overwrites the contents of the policy with the new values.

REQUIRED Principal => ArrayRef[Paws::LexModelsV2::Principal]

An IAM principal, such as an IAM users, IAM roles, or AWS services that is allowed or denied access to a resource. For more information, see AWS JSON policy elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

REQUIRED ResourceArn => Str

The Amazon Resource Name (ARN) of the bot or bot alias that the resource policy is attached to.

REQUIRED StatementId => Str

The name of the statement. The ID is the same as the Sid IAM property. The statement name must be unique within the policy. For more information, see IAM JSON policy elements: Sid (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html).

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateResourcePolicyStatement in Paws::LexModelsV2

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues