NAME

Paws::ApiGatewayV2 - Perl Interface to AWS AmazonApiGatewayV2

SYNOPSIS

  use Paws;

  my $obj = Paws->service('ApiGatewayV2');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Amazon API Gateway V2

For the AWS API documentation, see https://docs.aws.amazon.com/apigateway/

METHODS

CreateApi

Name => Str
ProtocolType => Str
RouteSelectionExpression => Str
[ApiKeySelectionExpression => Str]
[Description => Str]
[DisableSchemaValidation => Bool]
[Version => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateApi

Returns: a Paws::ApiGatewayV2::CreateApiResponse instance

Creates an Api resource.

CreateApiMapping

ApiId => Str
DomainName => Str
Stage => Str
[ApiMappingKey => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateApiMapping

Returns: a Paws::ApiGatewayV2::CreateApiMappingResponse instance

Creates an API mapping.

CreateAuthorizer

ApiId => Str
AuthorizerType => Str
AuthorizerUri => Str
IdentitySource => ArrayRef[Str|Undef]
Name => Str
[AuthorizerCredentialsArn => Str]
[AuthorizerResultTtlInSeconds => Int]
[IdentityValidationExpression => Str]
[ProviderArns => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateAuthorizer

Returns: a Paws::ApiGatewayV2::CreateAuthorizerResponse instance

Creates an Authorizer for an API.

CreateDeployment

ApiId => Str
[Description => Str]
[StageName => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateDeployment

Returns: a Paws::ApiGatewayV2::CreateDeploymentResponse instance

Creates a Deployment for an API.

CreateDomainName

DomainName => Str
[DomainNameConfigurations => ArrayRef[Paws::ApiGatewayV2::DomainNameConfiguration]]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateDomainName

Returns: a Paws::ApiGatewayV2::CreateDomainNameResponse instance

Creates a domain name.

CreateIntegration

ApiId => Str
[ConnectionId => Str]
[ConnectionType => Str]
[ContentHandlingStrategy => Str]
[CredentialsArn => Str]
[Description => Str]
[IntegrationMethod => Str]
[IntegrationType => Str]
[IntegrationUri => Str]
[PassthroughBehavior => Str]
[RequestParameters => Paws::ApiGatewayV2::IntegrationParameters]
[RequestTemplates => Paws::ApiGatewayV2::TemplateMap]
[TemplateSelectionExpression => Str]
[TimeoutInMillis => Int]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateIntegration

Returns: a Paws::ApiGatewayV2::CreateIntegrationResult instance

Creates an Integration.

CreateIntegrationResponse

ApiId => Str
IntegrationId => Str
IntegrationResponseKey => Str
[ContentHandlingStrategy => Str]
[ResponseParameters => Paws::ApiGatewayV2::IntegrationParameters]
[ResponseTemplates => Paws::ApiGatewayV2::TemplateMap]
[TemplateSelectionExpression => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateIntegrationResponse

Returns: a Paws::ApiGatewayV2::CreateIntegrationResponseResponse instance

Creates an IntegrationResponses.

CreateModel

ApiId => Str
Name => Str
[ContentType => Str]
[Description => Str]
[Schema => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateModel

Returns: a Paws::ApiGatewayV2::CreateModelResponse instance

Creates a Model for an API.

CreateRoute

ApiId => Str
RouteKey => Str
[ApiKeyRequired => Bool]
[AuthorizationScopes => ArrayRef[Str|Undef]]
[AuthorizationType => Str]
[AuthorizerId => Str]
[ModelSelectionExpression => Str]
[OperationName => Str]
[RequestModels => Paws::ApiGatewayV2::RouteModels]
[RequestParameters => Paws::ApiGatewayV2::RouteParameters]
[RouteResponseSelectionExpression => Str]
[Target => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateRoute

Returns: a Paws::ApiGatewayV2::CreateRouteResult instance

Creates a Route for an API.

CreateRouteResponse

ApiId => Str
RouteId => Str
RouteResponseKey => Str
[ModelSelectionExpression => Str]
[ResponseModels => Paws::ApiGatewayV2::RouteModels]
[ResponseParameters => Paws::ApiGatewayV2::RouteParameters]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateRouteResponse

Returns: a Paws::ApiGatewayV2::CreateRouteResponseResponse instance

Creates a RouteResponse for a Route.

CreateStage

ApiId => Str
StageName => Str
[AccessLogSettings => Paws::ApiGatewayV2::AccessLogSettings]
[ClientCertificateId => Str]
[DefaultRouteSettings => Paws::ApiGatewayV2::RouteSettings]
[DeploymentId => Str]
[Description => Str]
[RouteSettings => Paws::ApiGatewayV2::RouteSettingsMap]
[StageVariables => Paws::ApiGatewayV2::StageVariablesMap]

Each argument is described in detail in: Paws::ApiGatewayV2::CreateStage

Returns: a Paws::ApiGatewayV2::CreateStageResponse instance

Creates a Stage for an API.

DeleteApi

ApiId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteApi

Returns: nothing

Deletes an Api resource.

DeleteApiMapping

ApiId => Str
ApiMappingId => Str
DomainName => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteApiMapping

Returns: nothing

Deletes an API mapping.

DeleteAuthorizer

ApiId => Str
AuthorizerId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteAuthorizer

Returns: nothing

Deletes an Authorizer.

DeleteDeployment

ApiId => Str
DeploymentId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteDeployment

Returns: nothing

Deletes a Deployment.

DeleteDomainName

DomainName => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteDomainName

Returns: nothing

Deletes a domain name.

DeleteIntegration

ApiId => Str
IntegrationId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteIntegration

Returns: nothing

Deletes an Integration.

DeleteIntegrationResponse

ApiId => Str
IntegrationId => Str
IntegrationResponseId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteIntegrationResponse

Returns: nothing

Deletes an IntegrationResponses.

DeleteModel

ApiId => Str
ModelId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteModel

Returns: nothing

Deletes a Model.

DeleteRoute

ApiId => Str
RouteId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteRoute

Returns: nothing

Deletes a Route.

DeleteRouteResponse

ApiId => Str
RouteId => Str
RouteResponseId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteRouteResponse

Returns: nothing

Deletes a RouteResponse.

DeleteStage

ApiId => Str
StageName => Str

Each argument is described in detail in: Paws::ApiGatewayV2::DeleteStage

Returns: nothing

Deletes a Stage.

GetApi

ApiId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetApi

Returns: a Paws::ApiGatewayV2::GetApiResponse instance

Gets an Api resource.

GetApiMapping

ApiId => Str
ApiMappingId => Str
DomainName => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetApiMapping

Returns: a Paws::ApiGatewayV2::GetApiMappingResponse instance

The API mapping.

GetApiMappings

DomainName => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetApiMappings

Returns: a Paws::ApiGatewayV2::GetApiMappingsResponse instance

The API mappings.

GetApis

[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetApis

Returns: a Paws::ApiGatewayV2::GetApisResponse instance

Gets a collection of Api resources.

GetAuthorizer

ApiId => Str
AuthorizerId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetAuthorizer

Returns: a Paws::ApiGatewayV2::GetAuthorizerResponse instance

Gets an Authorizer.

GetAuthorizers

ApiId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetAuthorizers

Returns: a Paws::ApiGatewayV2::GetAuthorizersResponse instance

Gets the Authorizers for an API.

GetDeployment

ApiId => Str
DeploymentId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetDeployment

Returns: a Paws::ApiGatewayV2::GetDeploymentResponse instance

Gets a Deployment.

GetDeployments

ApiId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetDeployments

Returns: a Paws::ApiGatewayV2::GetDeploymentsResponse instance

Gets the Deployments for an API.

GetDomainName

DomainName => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetDomainName

Returns: a Paws::ApiGatewayV2::GetDomainNameResponse instance

Gets a domain name.

GetDomainNames

[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetDomainNames

Returns: a Paws::ApiGatewayV2::GetDomainNamesResponse instance

Gets the domain names for an AWS account.

GetIntegration

ApiId => Str
IntegrationId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetIntegration

Returns: a Paws::ApiGatewayV2::GetIntegrationResult instance

Gets an Integration.

GetIntegrationResponse

ApiId => Str
IntegrationId => Str
IntegrationResponseId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetIntegrationResponse

Returns: a Paws::ApiGatewayV2::GetIntegrationResponseResponse instance

Gets an IntegrationResponses.

GetIntegrationResponses

ApiId => Str
IntegrationId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetIntegrationResponses

Returns: a Paws::ApiGatewayV2::GetIntegrationResponsesResponse instance

Gets the IntegrationResponses for an Integration.

GetIntegrations

ApiId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetIntegrations

Returns: a Paws::ApiGatewayV2::GetIntegrationsResponse instance

Gets the Integrations for an API.

GetModel

ApiId => Str
ModelId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetModel

Returns: a Paws::ApiGatewayV2::GetModelResponse instance

Gets a Model.

GetModels

ApiId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetModels

Returns: a Paws::ApiGatewayV2::GetModelsResponse instance

Gets the Models for an API.

GetModelTemplate

ApiId => Str
ModelId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetModelTemplate

Returns: a Paws::ApiGatewayV2::GetModelTemplateResponse instance

Gets a model template.

GetRoute

ApiId => Str
RouteId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetRoute

Returns: a Paws::ApiGatewayV2::GetRouteResult instance

Gets a Route.

GetRouteResponse

ApiId => Str
RouteId => Str
RouteResponseId => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetRouteResponse

Returns: a Paws::ApiGatewayV2::GetRouteResponseResponse instance

Gets a RouteResponse.

GetRouteResponses

ApiId => Str
RouteId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetRouteResponses

Returns: a Paws::ApiGatewayV2::GetRouteResponsesResponse instance

Gets the RouteResponses for a Route.

GetRoutes

ApiId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetRoutes

Returns: a Paws::ApiGatewayV2::GetRoutesResponse instance

Gets the Routes for an API.

GetStage

ApiId => Str
StageName => Str

Each argument is described in detail in: Paws::ApiGatewayV2::GetStage

Returns: a Paws::ApiGatewayV2::GetStageResponse instance

Gets a Stage.

GetStages

ApiId => Str
[MaxResults => Str]
[NextToken => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::GetStages

Returns: a Paws::ApiGatewayV2::GetStagesResponse instance

Gets the Stages for an API.

UpdateApi

ApiId => Str
[ApiKeySelectionExpression => Str]
[Description => Str]
[DisableSchemaValidation => Bool]
[Name => Str]
[RouteSelectionExpression => Str]
[Version => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateApi

Returns: a Paws::ApiGatewayV2::UpdateApiResponse instance

Updates an Api resource.

UpdateApiMapping

ApiId => Str
ApiMappingId => Str
DomainName => Str
[ApiMappingKey => Str]
[Stage => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateApiMapping

Returns: a Paws::ApiGatewayV2::UpdateApiMappingResponse instance

The API mapping.

UpdateAuthorizer

ApiId => Str
AuthorizerId => Str
[AuthorizerCredentialsArn => Str]
[AuthorizerResultTtlInSeconds => Int]
[AuthorizerType => Str]
[AuthorizerUri => Str]
[IdentitySource => ArrayRef[Str|Undef]]
[IdentityValidationExpression => Str]
[Name => Str]
[ProviderArns => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateAuthorizer

Returns: a Paws::ApiGatewayV2::UpdateAuthorizerResponse instance

Updates an Authorizer.

UpdateDeployment

ApiId => Str
DeploymentId => Str
[Description => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateDeployment

Returns: a Paws::ApiGatewayV2::UpdateDeploymentResponse instance

Updates a Deployment.

UpdateDomainName

DomainName => Str
[DomainNameConfigurations => ArrayRef[Paws::ApiGatewayV2::DomainNameConfiguration]]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateDomainName

Returns: a Paws::ApiGatewayV2::UpdateDomainNameResponse instance

Updates a domain name.

UpdateIntegration

ApiId => Str
IntegrationId => Str
[ConnectionId => Str]
[ConnectionType => Str]
[ContentHandlingStrategy => Str]
[CredentialsArn => Str]
[Description => Str]
[IntegrationMethod => Str]
[IntegrationType => Str]
[IntegrationUri => Str]
[PassthroughBehavior => Str]
[RequestParameters => Paws::ApiGatewayV2::IntegrationParameters]
[RequestTemplates => Paws::ApiGatewayV2::TemplateMap]
[TemplateSelectionExpression => Str]
[TimeoutInMillis => Int]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateIntegration

Returns: a Paws::ApiGatewayV2::UpdateIntegrationResult instance

Updates an Integration.

UpdateIntegrationResponse

ApiId => Str
IntegrationId => Str
IntegrationResponseId => Str
[ContentHandlingStrategy => Str]
[IntegrationResponseKey => Str]
[ResponseParameters => Paws::ApiGatewayV2::IntegrationParameters]
[ResponseTemplates => Paws::ApiGatewayV2::TemplateMap]
[TemplateSelectionExpression => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateIntegrationResponse

Returns: a Paws::ApiGatewayV2::UpdateIntegrationResponseResponse instance

Updates an IntegrationResponses.

UpdateModel

ApiId => Str
ModelId => Str
[ContentType => Str]
[Description => Str]
[Name => Str]
[Schema => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateModel

Returns: a Paws::ApiGatewayV2::UpdateModelResponse instance

Updates a Model.

UpdateRoute

ApiId => Str
RouteId => Str
[ApiKeyRequired => Bool]
[AuthorizationScopes => ArrayRef[Str|Undef]]
[AuthorizationType => Str]
[AuthorizerId => Str]
[ModelSelectionExpression => Str]
[OperationName => Str]
[RequestModels => Paws::ApiGatewayV2::RouteModels]
[RequestParameters => Paws::ApiGatewayV2::RouteParameters]
[RouteKey => Str]
[RouteResponseSelectionExpression => Str]
[Target => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateRoute

Returns: a Paws::ApiGatewayV2::UpdateRouteResult instance

Updates a Route.

UpdateRouteResponse

ApiId => Str
RouteId => Str
RouteResponseId => Str
[ModelSelectionExpression => Str]
[ResponseModels => Paws::ApiGatewayV2::RouteModels]
[ResponseParameters => Paws::ApiGatewayV2::RouteParameters]
[RouteResponseKey => Str]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateRouteResponse

Returns: a Paws::ApiGatewayV2::UpdateRouteResponseResponse instance

Updates a RouteResponse.

UpdateStage

ApiId => Str
StageName => Str
[AccessLogSettings => Paws::ApiGatewayV2::AccessLogSettings]
[ClientCertificateId => Str]
[DefaultRouteSettings => Paws::ApiGatewayV2::RouteSettings]
[DeploymentId => Str]
[Description => Str]
[RouteSettings => Paws::ApiGatewayV2::RouteSettingsMap]
[StageVariables => Paws::ApiGatewayV2::StageVariablesMap]

Each argument is described in detail in: Paws::ApiGatewayV2::UpdateStage

Returns: a Paws::ApiGatewayV2::UpdateStageResponse instance

Updates a Stage.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

GetAllApis(sub { },[MaxResults => Str, NextToken => Str])

GetAllApis([MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetApisResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllAuthorizers(sub { },ApiId => Str, [MaxResults => Str, NextToken => Str])

GetAllAuthorizers(ApiId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetAuthorizersResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllDeployments(sub { },ApiId => Str, [MaxResults => Str, NextToken => Str])

GetAllDeployments(ApiId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetDeploymentsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllDomainNames(sub { },[MaxResults => Str, NextToken => Str])

GetAllDomainNames([MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetDomainNamesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllIntegrationResponses(sub { },ApiId => Str, IntegrationId => Str, [MaxResults => Str, NextToken => Str])

GetAllIntegrationResponses(ApiId => Str, IntegrationId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetIntegrationResponsesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllIntegrations(sub { },ApiId => Str, [MaxResults => Str, NextToken => Str])

GetAllIntegrations(ApiId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetIntegrationsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllModels(sub { },ApiId => Str, [MaxResults => Str, NextToken => Str])

GetAllModels(ApiId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetModelsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllRouteResponses(sub { },ApiId => Str, RouteId => Str, [MaxResults => Str, NextToken => Str])

GetAllRouteResponses(ApiId => Str, RouteId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetRouteResponsesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllRoutes(sub { },ApiId => Str, [MaxResults => Str, NextToken => Str])

GetAllRoutes(ApiId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetRoutesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllStages(sub { },ApiId => Str, [MaxResults => Str, NextToken => Str])

GetAllStages(ApiId => Str, [MaxResults => Str, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Items, passing the object as the first parameter, and the string 'Items' as the second parameter 

If not, it will return a a Paws::ApiGatewayV2::GetStagesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

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