use Moose;
has ApplicationId => (is => 'ro', isa => 'Str', traits => ['ParamInURI'], uri_name => 'applicationId', required => 1);
has Capabilities => (is => 'ro', isa => 'ArrayRef[Str|Undef]', traits => ['NameInRequest'], request_name => 'capabilities');
has ChangeSetName => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'changeSetName');
has ClientToken => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'clientToken');
has Description => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'description');
has NotificationArns => (is => 'ro', isa => 'ArrayRef[Str|Undef]', traits => ['NameInRequest'], request_name => 'notificationArns');
has ParameterOverrides => (is => 'ro', isa => 'ArrayRef[Paws::ServerlessRepo::ParameterValue]', traits => ['NameInRequest'], request_name => 'parameterOverrides');
has ResourceTypes => (is => 'ro', isa => 'ArrayRef[Str|Undef]', traits => ['NameInRequest'], request_name => 'resourceTypes');
has RollbackConfiguration => (is => 'ro', isa => 'Paws::ServerlessRepo::RollbackConfiguration', traits => ['NameInRequest'], request_name => 'rollbackConfiguration');
has SemanticVersion => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'semanticVersion');
has StackName => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'stackName', required => 1);
has Tags => (is => 'ro', isa => 'ArrayRef[Paws::ServerlessRepo::Tag]', traits => ['NameInRequest'], request_name => 'tags');
has TemplateId => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'templateId');
class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateCloudFormationChangeSet');
class_has _api_uri => (isa => 'Str', is => 'ro', default => '/applications/{applicationId}/changesets');
class_has _api_method => (isa => 'Str', is => 'ro', default => 'POST');
class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::ServerlessRepo::CreateCloudFormationChangeSetResponse');
1;
### main pod documentation begin ###
=head1 NAME
Paws::ServerlessRepo::CreateCloudFormationChangeSet - Arguments for method CreateCloudFormationChangeSet on L<Paws::ServerlessRepo>
=head1 DESCRIPTION
This class represents the parameters used for calling the method CreateCloudFormationChangeSet on the
L<AWSServerlessApplicationRepository|Paws::ServerlessRepo> service. Use the attributes of this class
as arguments to method CreateCloudFormationChangeSet.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateCloudFormationChangeSet.
=head1 SYNOPSIS
my $serverlessrepo = Paws->service('ServerlessRepo');
my $CreateCloudFormationChangeSetResponse =
$serverlessrepo->CreateCloudFormationChangeSet(
ApplicationId => 'My__string',
StackName => 'My__string',
Capabilities => [ 'My__string', ... ], # OPTIONAL
ChangeSetName => 'My__string', # OPTIONAL
ClientToken => 'My__string', # OPTIONAL
Description => 'My__string', # OPTIONAL
NotificationArns => [ 'My__string', ... ], # OPTIONAL
ParameterOverrides => [
{
Name => 'My__string',
Value => 'My__string',
},
...
], # OPTIONAL
ResourceTypes => [ 'My__string', ... ], # OPTIONAL
RollbackConfiguration => {
MonitoringTimeInMinutes => 1, # OPTIONAL
RollbackTriggers => [
{
Arn => 'My__string',
Type => 'My__string',
},
...
], # OPTIONAL
}, # OPTIONAL
SemanticVersion => 'My__string', # OPTIONAL
Tags => [
{
Key => 'My__string',
Value => 'My__string',
},
...
], # OPTIONAL
TemplateId => 'My__string', # OPTIONAL
);
# Results:
my $ApplicationId = $CreateCloudFormationChangeSetResponse->ApplicationId;
my $ChangeSetId = $CreateCloudFormationChangeSetResponse->ChangeSetId;
my $SemanticVersion =
$CreateCloudFormationChangeSetResponse->SemanticVersion;
my $StackId = $CreateCloudFormationChangeSetResponse->StackId;
# Returns a L<Paws::ServerlessRepo::CreateCloudFormationChangeSetResponse> 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.
=head1 ATTRIBUTES
=head2 B<REQUIRED> ApplicationId => Str
The Amazon Resource Name (ARN) of the application.
=head2 Capabilities => ArrayRef[Str|Undef]
A list of values that you must specify before you can deploy certain
applications. Some applications might include resources that can affect
permissions in your AWS account, for example, by creating new AWS
Identity and Access Management (IAM) users. For those applications, you
must explicitly acknowledge their capabilities by specifying this
parameter.
The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,
CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.
The following resources require you to specify CAPABILITY_IAM or
CAPABILITY_NAMED_IAM: AWS::IAM::Group
AWS::IAM::InstanceProfile
AWS::IAM::Policy
and AWS::IAM::Role
If the application contains IAM resources, you can specify either
CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM
resources with custom names, you must specify CAPABILITY_NAMED_IAM.
The following resources require you to specify
CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission
AWS::IAM:Policy
AWS::ApplicationAutoScaling::ScalingPolicy
AWS::S3::BucketPolicy
AWS::SQS::QueuePolicy
and AWS::SNS:TopicPolicy
Applications that contain one or more nested applications require you
to specify CAPABILITY_AUTO_EXPAND.
If your application template contains any of the above resources, we
recommend that you review all permissions associated with the
application before deploying. If you don't specify this parameter for
an application that requires capabilities, the call will fail.
=head2 ChangeSetName => Str
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 ClientToken => Str
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 Description => Str
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 NotificationArns => ArrayRef[Str|Undef]
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 ParameterOverrides => ArrayRef[L<Paws::ServerlessRepo::ParameterValue>]
A list of parameter values for the parameters of the application.
=head2 ResourceTypes => ArrayRef[Str|Undef]
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 RollbackConfiguration => L<Paws::ServerlessRepo::RollbackConfiguration>
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 SemanticVersion => Str
The semantic version of the application:
=head2 B<REQUIRED> StackName => Str
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 Tags => ArrayRef[L<Paws::ServerlessRepo::Tag>]
This property corresponds to the parameter of the same name for the
I<AWS CloudFormation CreateChangeSet
> API.
=head2 TemplateId => Str
The UUID returned by CreateCloudFormationTemplate.
Pattern:
[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}
=head1 SEE ALSO
This class forms part of L<Paws>, documenting arguments for method CreateCloudFormationChangeSet in L<Paws::ServerlessRepo>
=head1 BUGS and CONTRIBUTIONS
The source code is located here: L<https://github.com/pplu/aws-sdk-perl>
=cut