diff --git a/go.mod b/go.mod index d460238f0a3..2e24832f57f 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.13 require ( github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 // indirect - github.com/aws/aws-sdk-go v1.25.4 + github.com/aws/aws-sdk-go v1.25.9 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderlint v0.5.0 github.com/client9/misspell v0.3.4 diff --git a/go.sum b/go.sum index beb483b293f..db75a16ac1b 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.19.39/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.4 h1:exwxtR517g6OKm2rtAD5EANtjbzmnjEAco189zy/Uhc= -github.com/aws/aws-sdk-go v1.25.4/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.9 h1:WtVzerf5wSgPwlTTwl+ktCq/0GCS5MI9ZlLIcjsTr+Q= +github.com/aws/aws-sdk-go v1.25.9/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 452cefda6bb..91596fa6852 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -481,8 +481,14 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "fips": endpoint{ + Hostname: "appstream2-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "appsync": service{ @@ -1100,8 +1106,11 @@ var awsPartition = partition{ "ap-northeast-2": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "fips-us-east-1": endpoint{ Hostname: "datasync-fips.us-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -1974,6 +1983,7 @@ var awsPartition = partition{ }, Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, "ap-southeast-2": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, @@ -3090,6 +3100,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -4244,7 +4255,7 @@ var awscnPartition = partition{ Endpoints: endpoints{ "aws-cn-global": endpoint{ - Hostname: "support.cn-north-1.amazonaws.com", + Hostname: "support.cn-north-1.amazonaws.com.cn", CredentialScope: credentialScope{ Region: "cn-north-1", }, @@ -4802,6 +4813,25 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "resource-groups": service{ + + Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "resource-groups.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "resource-groups.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "route53": service{ PartitionEndpoint: "aws-us-gov-global", IsRegionalized: boxedFalse, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 31475957363..198836fcc9e 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.25.4" +const SDKVersion = "1.25.9" diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index 83cc7565b92..7d560dc2002 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -1000,7 +1000,7 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // more step scaling policies, or both. However, there is a chance that multiple // policies could conflict, instructing the scalable target to scale out or // in at the same time. Application Auto Scaling gives precedence to the policy -// that provides the largest capacity for both scale in and scale out. For example, +// that provides the largest capacity for both scale out and scale in. For example, // if one policy increases capacity by 3, another policy increases capacity // by 200 percent, and the current capacity is 10, Application Auto Scaling // uses the policy with the highest calculated capacity (200% of 10 = 20) and @@ -2820,9 +2820,8 @@ type PutScalingPolicyInput struct { // // StepScaling—Not supported for Amazon DynamoDB // - // For more information, see Step Scaling Policies for Application Auto Scaling - // (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) - // and Target Tracking Scaling Policies for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) + // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) + // and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) // in the Application Auto Scaling User Guide. PolicyType *string `type:"string" enum:"PolicyType"` @@ -3320,9 +3319,9 @@ type RegisterScalableTargetInput struct { // to modify the scalable target on your behalf. For more information, see Service-Linked // Roles for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html). // - // For resources that are not supported using a service-linked role, this parameter - // is required, and it must specify the ARN of an IAM role that allows Application - // Auto Scaling to modify the scalable target on your behalf. + // For Amazon EMR, this parameter is required, and it must specify the ARN of + // an IAM role that allows Application Auto Scaling to modify the scalable target + // on your behalf. RoleARN *string `min:"1" type:"string"` // The scalable dimension associated with the scalable target. This string consists diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go index f958a361833..94c87f10b16 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go @@ -160,7 +160,7 @@ func (c *CognitoIdentityProvider) AdminAddUserToGroupRequest(input *AdminAddUser // // Adds the specified user to the specified group. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -261,7 +261,7 @@ func (c *CognitoIdentityProvider) AdminConfirmSignUpRequest(input *AdminConfirmS // Confirms user registration as an admin without using a confirmation code. // Works on any user. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -532,7 +532,7 @@ func (c *CognitoIdentityProvider) AdminDeleteUserRequest(input *AdminDeleteUserI // // Deletes a user as an administrator. Works on any user. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -633,7 +633,7 @@ func (c *CognitoIdentityProvider) AdminDeleteUserAttributesRequest(input *AdminD // Deletes the user attributes in a user pool as an administrator. Works on // any user. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -863,9 +863,9 @@ func (c *CognitoIdentityProvider) AdminDisableUserRequest(input *AdminDisableUse // AdminDisableUser API operation for Amazon Cognito Identity Provider. // -// Disables the specified user as an administrator. Works on any user. +// Disables the specified user. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -965,7 +965,7 @@ func (c *CognitoIdentityProvider) AdminEnableUserRequest(input *AdminEnableUserI // // Enables the specified user as an administrator. Works on any user. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1065,7 +1065,7 @@ func (c *CognitoIdentityProvider) AdminForgetDeviceRequest(input *AdminForgetDev // // Forgets the device, as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1167,7 +1167,7 @@ func (c *CognitoIdentityProvider) AdminGetDeviceRequest(input *AdminGetDeviceInp // // Gets the device, as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1267,7 +1267,7 @@ func (c *CognitoIdentityProvider) AdminGetUserRequest(input *AdminGetUserInput) // Gets the specified user by user name in a user pool as an administrator. // Works on any user. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1366,7 +1366,7 @@ func (c *CognitoIdentityProvider) AdminInitiateAuthRequest(input *AdminInitiateA // // Initiates the authentication flow, as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1622,7 +1622,7 @@ func (c *CognitoIdentityProvider) AdminListDevicesRequest(input *AdminListDevice // // Lists devices, as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1727,7 +1727,7 @@ func (c *CognitoIdentityProvider) AdminListGroupsForUserRequest(input *AdminList // // Lists the groups that the user belongs to. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2034,7 +2034,7 @@ func (c *CognitoIdentityProvider) AdminRemoveUserFromGroupRequest(input *AdminRe // // Removes the specified user from the specified group. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2145,7 +2145,7 @@ func (c *CognitoIdentityProvider) AdminResetUserPasswordRequest(input *AdminRese // also result in sending a message to the end user with the code to change // their password. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2274,7 +2274,7 @@ func (c *CognitoIdentityProvider) AdminRespondToAuthChallengeRequest(input *Admi // // Responds to an authentication challenge, as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2428,7 +2428,12 @@ func (c *CognitoIdentityProvider) AdminSetUserMFAPreferenceRequest(input *AdminS // AdminSetUserMFAPreference API operation for Amazon Cognito Identity Provider. // -// Sets the user's multi-factor authentication (MFA) preference. +// Sets the user's multi-factor authentication (MFA) preference, including which +// MFA options are enabled and if any are preferred. Only one factor can be +// set as preferred. The preferred MFA factor will be used to authenticate a +// user if multiple factors are enabled. If multiple options are enabled and +// no preference is set, a challenge to choose an MFA option will be returned +// during sign in. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2528,6 +2533,19 @@ func (c *CognitoIdentityProvider) AdminSetUserPasswordRequest(input *AdminSetUse // AdminSetUserPassword API operation for Amazon Cognito Identity Provider. // +// Sets the specified user's password in a user pool as an administrator. Works +// on any user. +// +// The password can be temporary or permanent. If it is temporary, the user +// status will be placed into the FORCE_CHANGE_PASSWORD state. When the user +// next tries to sign in, the InitiateAuth/AdminInitiateAuth response will contain +// the NEW_PASSWORD_REQUIRED challenge. If the user does not sign in before +// it expires, the user will not be able to sign in and their password will +// need to be reset by an administrator. +// +// Once the user has set a new password, or the password is permanent, the user +// status will be set to Confirmed. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2628,9 +2646,9 @@ func (c *CognitoIdentityProvider) AdminSetUserSettingsRequest(input *AdminSetUse // AdminSetUserSettings API operation for Amazon Cognito Identity Provider. // -// Sets all the user settings for a specified user name. Works on any user. -// -// Requires developer credentials. +// This action is no longer supported. You can use it to configure only SMS +// MFA. You can't use it to configure TOTP software token MFA. To configure +// either type of MFA, use the AdminSetUserMFAPreference action instead. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2829,7 +2847,7 @@ func (c *CognitoIdentityProvider) AdminUpdateDeviceStatusRequest(input *AdminUpd // // Updates the device status as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2939,7 +2957,7 @@ func (c *CognitoIdentityProvider) AdminUpdateUserAttributesRequest(input *AdminU // In addition to updating user attributes, this API can also be used to mark // phone and email as verified. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3071,7 +3089,7 @@ func (c *CognitoIdentityProvider) AdminUserGlobalSignOutRequest(input *AdminUser // // Signs out users from all devices, as an administrator. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3763,7 +3781,7 @@ func (c *CognitoIdentityProvider) CreateGroupRequest(input *CreateGroupInput) (r // // Creates a new group in the specified user pool. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4479,7 +4497,7 @@ func (c *CognitoIdentityProvider) DeleteGroupRequest(input *DeleteGroupInput) (r // // Deletes a group. Currently only groups with no members can be deleted. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6373,7 +6391,7 @@ func (c *CognitoIdentityProvider) GetGroupRequest(input *GetGroupInput) (req *re // // Gets a group. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6574,6 +6592,10 @@ func (c *CognitoIdentityProvider) GetSigningCertificateRequest(input *GetSigning // * ErrCodeInternalErrorException "InternalErrorException" // This exception is thrown when Amazon Cognito encounters an internal error. // +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // This exception is thrown when the Amazon Cognito service cannot find the // requested resource. @@ -7229,6 +7251,16 @@ func (c *CognitoIdentityProvider) InitiateAuthRequest(input *InitiateAuthInput) // * ErrCodeInternalErrorException "InternalErrorException" // This exception is thrown when Amazon Cognito encounters an internal error. // +// * ErrCodeInvalidSmsRoleAccessPolicyException "InvalidSmsRoleAccessPolicyException" +// This exception is returned when the role provided for SMS configuration does +// not have permission to publish using Amazon SNS. +// +// * ErrCodeInvalidSmsRoleTrustRelationshipException "InvalidSmsRoleTrustRelationshipException" +// This exception is thrown when the trust relationship is invalid for the role +// provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com +// or the external ID provided in the role does not match what is provided in +// the SMS configuration for the user pool. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/InitiateAuth func (c *CognitoIdentityProvider) InitiateAuth(input *InitiateAuthInput) (*InitiateAuthOutput, error) { req, out := c.InitiateAuthRequest(input) @@ -7409,7 +7441,7 @@ func (c *CognitoIdentityProvider) ListGroupsRequest(input *ListGroupsInput) (req // // Lists the groups associated with a user pool. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8330,6 +8362,12 @@ func (c *CognitoIdentityProvider) ListUsersRequest(input *ListUsersInput) (req * Name: opListUsers, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PaginationToken"}, + OutputTokens: []string{"PaginationToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -8393,6 +8431,56 @@ func (c *CognitoIdentityProvider) ListUsersWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListUsersPages iterates over the pages of a ListUsers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUsers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListUsers operation. +// pageNum := 0 +// err := client.ListUsersPages(params, +// func(page *cognitoidentityprovider.ListUsersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CognitoIdentityProvider) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error { + return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUsersPagesWithContext same as ListUsersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUsersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUsersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListUsersInGroup = "ListUsersInGroup" // ListUsersInGroupRequest generates a "aws/request.Request" representing the @@ -8445,7 +8533,7 @@ func (c *CognitoIdentityProvider) ListUsersInGroupRequest(input *ListUsersInGrou // // Lists the users in the specified group. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9090,7 +9178,12 @@ func (c *CognitoIdentityProvider) SetUserMFAPreferenceRequest(input *SetUserMFAP // SetUserMFAPreference API operation for Amazon Cognito Identity Provider. // -// Set the user's multi-factor authentication (MFA) method preference. +// Set the user's multi-factor authentication (MFA) method preference, including +// which MFA factors are enabled and if any are preferred. Only one factor can +// be set as preferred. The preferred MFA factor will be used to authenticate +// a user if multiple factors are enabled. If multiple options are enabled and +// no preference is set, a challenge to choose an MFA option will be returned +// during sign in. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9189,7 +9282,7 @@ func (c *CognitoIdentityProvider) SetUserPoolMfaConfigRequest(input *SetUserPool // SetUserPoolMfaConfig API operation for Amazon Cognito Identity Provider. // -// Set the user pool MFA configuration. +// Set the user pool multi-factor authentication (MFA) configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9295,9 +9388,9 @@ func (c *CognitoIdentityProvider) SetUserSettingsRequest(input *SetUserSettingsI // SetUserSettings API operation for Amazon Cognito Identity Provider. // -// Sets the user settings like multi-factor authentication (MFA). If MFA is -// to be removed for a particular attribute pass the attribute with code delivery -// as null. If null list is passed, all MFA options are removed. +// This action is no longer supported. You can use it to configure only SMS +// MFA. You can't use it to configure TOTP software token MFA. To configure +// either type of MFA, use the SetUserMFAPreference action instead. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10143,7 +10236,7 @@ func (c *CognitoIdentityProvider) UpdateGroupRequest(input *UpdateGroupInput) (r // // Updates the specified group with the specified attributes. // -// Requires developer credentials. +// Calling this action requires developer credentials. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -11483,6 +11576,36 @@ func (s AdminAddUserToGroupOutput) GoString() string { type AdminConfirmSignUpInput struct { _ struct{} `type:"structure"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // If your user pool configuration includes triggers, the AdminConfirmSignUp + // API action invokes the AWS Lambda function that is specified for the post + // confirmation trigger. When Amazon Cognito invokes this function, it passes + // a JSON payload, which the function receives as input. In this payload, the + // clientMetadata attribute provides the data that you assigned to the ClientMetadata + // parameter in your AdminConfirmSignUp request. In your function code in AWS + // Lambda, you can process the ClientMetadata value to enhance your workflow + // for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // The user pool ID for which you want to confirm user registration. // // UserPoolId is a required field @@ -11526,6 +11649,12 @@ func (s *AdminConfirmSignUpInput) Validate() error { return nil } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *AdminConfirmSignUpInput) SetClientMetadata(v map[string]*string) *AdminConfirmSignUpInput { + s.ClientMetadata = v + return s +} + // SetUserPoolId sets the UserPoolId field's value. func (s *AdminConfirmSignUpInput) SetUserPoolId(v string) *AdminConfirmSignUpInput { s.UserPoolId = &v @@ -11563,7 +11692,7 @@ type AdminCreateUserConfigType struct { // The message template to be used for the welcome message to new users. // - // See also Customizing User Invitation Messages (http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization). + // See also Customizing User Invitation Messages (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization). InviteMessageTemplate *MessageTemplateType `type:"structure"` // The user account expiration limit, in days, after which the account is no @@ -11624,6 +11753,36 @@ func (s *AdminCreateUserConfigType) SetUnusedAccountValidityDays(v int64) *Admin type AdminCreateUserInput struct { _ struct{} `type:"structure"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes + // the function that is assigned to the pre sign-up trigger. When Amazon Cognito + // invokes this function, it passes a JSON payload, which the function receives + // as input. This payload contains a clientMetadata attribute, which provides + // the data that you assigned to the ClientMetadata parameter in your AdminCreateUser + // request. In your function code in AWS Lambda, you can process the clientMetadata + // value to enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // Specify "EMAIL" if email will be used to send the welcome message. Specify // "SMS" if the phone number will be used. The default value is "SMS". More // than one value can be specified. @@ -11775,6 +11934,12 @@ func (s *AdminCreateUserInput) Validate() error { return nil } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *AdminCreateUserInput) SetClientMetadata(v map[string]*string) *AdminCreateUserInput { + s.ClientMetadata = v + return s +} + // SetDesiredDeliveryMediums sets the DesiredDeliveryMediums field's value. func (s *AdminCreateUserInput) SetDesiredDeliveryMediums(v []*string) *AdminCreateUserInput { s.DesiredDeliveryMediums = v @@ -12493,7 +12658,10 @@ type AdminGetUserOutput struct { // Indicates that the status is enabled. Enabled *bool `type:"boolean"` - // Specifies the options for MFA (e.g., email or phone number). + // This response parameter is no longer supported. It provides information only + // about SMS MFA configurations. It doesn't provide information about TOTP software + // token MFA configurations. To look up information about either type of MFA + // configuration, use the AdminGetUserResponse$UserMFASettingList response instead. MFAOptions []*MFAOptionType `type:"list"` // The user's preferred MFA setting. @@ -12508,7 +12676,8 @@ type AdminGetUserOutput struct { // The date the user was last modified. UserLastModifiedDate *time.Time `type:"timestamp"` - // The list of the user's MFA settings. + // The MFA options that are enabled for the user. The possible values in this + // list are SMS_MFA and SOFTWARE_TOKEN_MFA. UserMFASettingList []*string `type:"list"` // The user status. Can be one of the following: @@ -12664,9 +12833,59 @@ type AdminInitiateAuthInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` - // This is a random key-value pair map which can contain any key and will be - // passed to your PreAuthentication Lambda trigger as-is. It can be used to - // implement additional validations around authentication. + // A map of custom key-value pairs that you can provide as input for certain + // custom workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes + // the AWS Lambda functions that are specified for various triggers. The ClientMetadata + // value is passed as input to the functions for only the following triggers: + // + // * Pre signup + // + // * Pre authentication + // + // * User migration + // + // When Amazon Cognito invokes the functions for these triggers, it passes a + // JSON payload, which the function receives as input. This payload contains + // a validationData attribute, which provides the data that you assigned to + // the ClientMetadata parameter in your AdminInitiateAuth request. In your function + // code in AWS Lambda, you can process the validationData value to enhance your + // workflow for your specific needs. + // + // When you use the AdminInitiateAuth API action, Amazon Cognito also invokes + // the functions for the following triggers, but it does not provide the ClientMetadata + // value as input: + // + // * Post authentication + // + // * Custom message + // + // * Pre token generation + // + // * Create auth challenge + // + // * Define auth challenge + // + // * Verify auth challenge + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. ClientMetadata map[string]*string `type:"map"` // Contextual data such as the user's device fingerprint, IP address, or location @@ -13414,6 +13633,37 @@ func (s AdminRemoveUserFromGroupOutput) GoString() string { type AdminResetUserPasswordInput struct { _ struct{} `type:"structure"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the AdminResetUserPassword API action, Amazon Cognito + // invokes the function that is assigned to the custom message trigger. When + // Amazon Cognito invokes this function, it passes a JSON payload, which the + // function receives as input. This payload contains a clientMetadata attribute, + // which provides the data that you assigned to the ClientMetadata parameter + // in your AdminResetUserPassword request. In your function code in AWS Lambda, + // you can process the clientMetadata value to enhance your workflow for your + // specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // The user pool ID for the user pool where you want to reset the user's password. // // UserPoolId is a required field @@ -13457,6 +13707,12 @@ func (s *AdminResetUserPasswordInput) Validate() error { return nil } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *AdminResetUserPasswordInput) SetClientMetadata(v map[string]*string) *AdminResetUserPasswordInput { + s.ClientMetadata = v + return s +} + // SetUserPoolId sets the UserPoolId field's value. func (s *AdminResetUserPasswordInput) SetUserPoolId(v string) *AdminResetUserPasswordInput { s.UserPoolId = &v @@ -13524,6 +13780,39 @@ type AdminRespondToAuthChallengeInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the AdminRespondToAuthChallenge API action, Amazon + // Cognito invokes any functions that are assigned to the following triggers: + // pre sign-up, custom message, post authentication, user migration, pre token + // generation, define auth challenge, create auth challenge, and verify auth + // challenge response. When Amazon Cognito invokes any of these functions, it + // passes a JSON payload, which the function receives as input. This payload + // contains a clientMetadata attribute, which provides the data that you assigned + // to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. + // In your function code in AWS Lambda, you can process the clientMetadata value + // to enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // Contextual data such as the user's device fingerprint, IP address, or location // used for evaluating the risk of an unexpected event by Amazon Cognito advanced // security. @@ -13609,6 +13898,12 @@ func (s *AdminRespondToAuthChallengeInput) SetClientId(v string) *AdminRespondTo return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *AdminRespondToAuthChallengeInput) SetClientMetadata(v map[string]*string) *AdminRespondToAuthChallengeInput { + s.ClientMetadata = v + return s +} + // SetContextData sets the ContextData field's value. func (s *AdminRespondToAuthChallengeInput) SetContextData(v *ContextDataType) *AdminRespondToAuthChallengeInput { s.ContextData = v @@ -13775,14 +14070,21 @@ func (s AdminSetUserMFAPreferenceOutput) GoString() string { type AdminSetUserPasswordInput struct { _ struct{} `type:"structure"` + // The password for the user. + // // Password is a required field Password *string `min:"6" type:"string" required:"true" sensitive:"true"` + // True if the password is permanent, False if it is temporary. Permanent *bool `type:"boolean"` + // The user pool ID for the user pool where you want to set the user's password. + // // UserPoolId is a required field UserPoolId *string `min:"1" type:"string" required:"true"` + // The user name of the user whose password you wish to set. + // // Username is a required field Username *string `min:"1" type:"string" required:"true" sensitive:"true"` } @@ -13863,22 +14165,24 @@ func (s AdminSetUserPasswordOutput) GoString() string { return s.String() } -// Represents the request to set user settings as an administrator. +// You can use this parameter to set an MFA configuration that uses the SMS +// delivery medium. type AdminSetUserSettingsInput struct { _ struct{} `type:"structure"` - // Specifies the options for MFA (e.g., email or phone number). + // You can use this parameter only to set an SMS configuration that uses SMS + // for delivery. // // MFAOptions is a required field MFAOptions []*MFAOptionType `type:"list" required:"true"` - // The user pool ID for the user pool where you want to set the user's settings, - // such as MFA options. + // The ID of the user pool that contains the user that you are setting options + // for. // // UserPoolId is a required field UserPoolId *string `min:"1" type:"string" required:"true"` - // The user name of the user for whom you wish to set user settings. + // The user name of the user that you are setting options for. // // Username is a required field Username *string `min:"1" type:"string" required:"true" sensitive:"true"` @@ -14169,6 +14473,37 @@ func (s AdminUpdateDeviceStatusOutput) GoString() string { type AdminUpdateUserAttributesInput struct { _ struct{} `type:"structure"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito + // invokes the function that is assigned to the custom message trigger. When + // Amazon Cognito invokes this function, it passes a JSON payload, which the + // function receives as input. This payload contains a clientMetadata attribute, + // which provides the data that you assigned to the ClientMetadata parameter + // in your AdminUpdateUserAttributes request. In your function code in AWS Lambda, + // you can process the clientMetadata value to enhance your workflow for your + // specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // An array of name-value pairs representing user attributes. // // For custom attributes, you must prepend the custom: prefix to the attribute @@ -14233,6 +14568,12 @@ func (s *AdminUpdateUserAttributesInput) Validate() error { return nil } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *AdminUpdateUserAttributesInput) SetClientMetadata(v map[string]*string) *AdminUpdateUserAttributesInput { + s.ClientMetadata = v + return s +} + // SetUserAttributes sets the UserAttributes field's value. func (s *AdminUpdateUserAttributesInput) SetUserAttributes(v []*AttributeType) *AdminUpdateUserAttributesInput { s.UserAttributes = v @@ -15112,6 +15453,37 @@ type ConfirmForgotPasswordInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito + // invokes the functions that are assigned to the post confirmation and pre + // mutation triggers. When Amazon Cognito invokes either of these functions, + // it passes a JSON payload, which the function receives as input. This payload + // contains a clientMetadata attribute, which provides the data that you assigned + // to the ClientMetadata parameter in your ConfirmForgotPassword request. In + // your function code in AWS Lambda, you can process the clientMetadata value + // to enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // The confirmation code sent by a user's request to retrieve a forgotten password. // For more information, see // @@ -15198,6 +15570,12 @@ func (s *ConfirmForgotPasswordInput) SetClientId(v string) *ConfirmForgotPasswor return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *ConfirmForgotPasswordInput) SetClientMetadata(v map[string]*string) *ConfirmForgotPasswordInput { + s.ClientMetadata = v + return s +} + // SetConfirmationCode sets the ConfirmationCode field's value. func (s *ConfirmForgotPasswordInput) SetConfirmationCode(v string) *ConfirmForgotPasswordInput { s.ConfirmationCode = &v @@ -15257,6 +15635,36 @@ type ConfirmSignUpInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes + // the function that is assigned to the post confirmation trigger. When Amazon + // Cognito invokes this function, it passes a JSON payload, which the function + // receives as input. This payload contains a clientMetadata attribute, which + // provides the data that you assigned to the ClientMetadata parameter in your + // ConfirmSignUp request. In your function code in AWS Lambda, you can process + // the clientMetadata value to enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // The confirmation code sent by a user's request to confirm registration. // // ConfirmationCode is a required field @@ -15338,6 +15746,12 @@ func (s *ConfirmSignUpInput) SetClientId(v string) *ConfirmSignUpInput { return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *ConfirmSignUpInput) SetClientMetadata(v map[string]*string) *ConfirmSignUpInput { + s.ClientMetadata = v + return s +} + // SetConfirmationCode sets the ConfirmationCode field's value. func (s *ConfirmSignUpInput) SetConfirmationCode(v string) *ConfirmSignUpInput { s.ConfirmationCode = &v @@ -15968,7 +16382,8 @@ type CreateUserPoolClientInput struct { AllowedOAuthFlowsUserPoolClient *bool `type:"boolean"` // A list of allowed OAuth scopes. Currently supported values are "phone", "email", - // "openid", and "Cognito". + // "openid", and "Cognito". In addition to these values, custom scopes created + // in Resource Servers are also supported. AllowedOAuthScopes []*string `type:"list"` // The Amazon Pinpoint analytics configuration for collecting metrics for this @@ -18279,6 +18694,37 @@ type ForgotPasswordInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the ForgotPassword API action, Amazon Cognito invokes + // any functions that are assigned to the following triggers: pre sign-up, custom + // message, and user migration. When Amazon Cognito invokes any of these functions, + // it passes a JSON payload, which the function receives as input. This payload + // contains a clientMetadata attribute, which provides the data that you assigned + // to the ClientMetadata parameter in your ForgotPassword request. In your function + // code in AWS Lambda, you can process the clientMetadata value to enhance your + // workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // A keyed-hash message authentication code (HMAC) calculated using the secret // key of a user pool client and username plus the client ID in the message. SecretHash *string `min:"1" type:"string" sensitive:"true"` @@ -18342,6 +18788,12 @@ func (s *ForgotPasswordInput) SetClientId(v string) *ForgotPasswordInput { return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *ForgotPasswordInput) SetClientMetadata(v map[string]*string) *ForgotPasswordInput { + s.ClientMetadata = v + return s +} + // SetSecretHash sets the SecretHash field's value. func (s *ForgotPasswordInput) SetSecretHash(v string) *ForgotPasswordInput { s.SecretHash = &v @@ -18863,6 +19315,37 @@ type GetUserAttributeVerificationCodeInput struct { // // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` + + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the GetUserAttributeVerificationCode API action, Amazon + // Cognito invokes the function that is assigned to the custom message trigger. + // When Amazon Cognito invokes this function, it passes a JSON payload, which + // the function receives as input. This payload contains a clientMetadata attribute, + // which provides the data that you assigned to the ClientMetadata parameter + // in your GetUserAttributeVerificationCode request. In your function code in + // AWS Lambda, you can process the clientMetadata value to enhance your workflow + // for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` } // String returns the string representation @@ -18906,6 +19389,12 @@ func (s *GetUserAttributeVerificationCodeInput) SetAttributeName(v string) *GetU return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *GetUserAttributeVerificationCodeInput) SetClientMetadata(v map[string]*string) *GetUserAttributeVerificationCodeInput { + s.ClientMetadata = v + return s +} + // The verification code response returned by the server response to get the // user attribute verification code. type GetUserAttributeVerificationCodeOutput struct { @@ -18977,7 +19466,11 @@ func (s *GetUserInput) SetAccessToken(v string) *GetUserInput { type GetUserOutput struct { _ struct{} `type:"structure"` - // Specifies the options for MFA (e.g., email or phone number). + // This response parameter is no longer supported. It provides information only + // about SMS MFA configurations. It doesn't provide information about TOTP software + // token MFA configurations. To look up information about either type of MFA + // configuration, use the use the GetUserResponse$UserMFASettingList response + // instead. MFAOptions []*MFAOptionType `type:"list"` // The user's preferred MFA setting. @@ -18991,7 +19484,8 @@ type GetUserOutput struct { // UserAttributes is a required field UserAttributes []*AttributeType `type:"list" required:"true"` - // The list of the user's MFA settings. + // The MFA options that are enabled for the user. The possible values in this + // list are SMS_MFA and SOFTWARE_TOKEN_MFA. UserMFASettingList []*string `type:"list"` // The user name of the user you wish to retrieve from the get user request. @@ -19084,7 +19578,14 @@ func (s *GetUserPoolMfaConfigInput) SetUserPoolId(v string) *GetUserPoolMfaConfi type GetUserPoolMfaConfigOutput struct { _ struct{} `type:"structure"` - // The multi-factor (MFA) configuration. + // The multi-factor (MFA) configuration. Valid values include: + // + // * OFF MFA will not be used for any users. + // + // * ON MFA is required for all users to sign in. + // + // * OPTIONAL MFA will be required only for individual users who have an + // MFA factor enabled. MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"` // The SMS text message multi-factor (MFA) configuration. @@ -19446,9 +19947,59 @@ type InitiateAuthInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` - // This is a random key-value pair map which can contain any key and will be - // passed to your PreAuthentication Lambda trigger as-is. It can be used to - // implement additional validations around authentication. + // A map of custom key-value pairs that you can provide as input for certain + // custom workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the InitiateAuth API action, Amazon Cognito invokes + // the AWS Lambda functions that are specified for various triggers. The ClientMetadata + // value is passed as input to the functions for only the following triggers: + // + // * Pre signup + // + // * Pre authentication + // + // * User migration + // + // When Amazon Cognito invokes the functions for these triggers, it passes a + // JSON payload, which the function receives as input. This payload contains + // a validationData attribute, which provides the data that you assigned to + // the ClientMetadata parameter in your InitiateAuth request. In your function + // code in AWS Lambda, you can process the validationData value to enhance your + // workflow for your specific needs. + // + // When you use the InitiateAuth API action, Amazon Cognito also invokes the + // functions for the following triggers, but it does not provide the ClientMetadata + // value as input: + // + // * Post authentication + // + // * Custom message + // + // * Pre token generation + // + // * Create auth challenge + // + // * Define auth challenge + // + // * Verify auth challenge + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. ClientMetadata map[string]*string `type:"map"` // Contextual data such as the user's device fingerprint, IP address, or location @@ -20664,8 +21215,8 @@ type ListUsersInput struct { // // Custom attributes are not searchable. // - // For more information, see Searching for Users Using the ListUsers API (http://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-using-listusers-api) - // and Examples of Using the ListUsers API (http://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-listusers-api-examples) + // For more information, see Searching for Users Using the ListUsers API (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-using-listusers-api) + // and Examples of Using the ListUsers API (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-listusers-api-examples) // in the Amazon Cognito Developer Guide. Filter *string `type:"string"` @@ -20775,14 +21326,22 @@ func (s *ListUsersOutput) SetUsers(v []*UserType) *ListUsersOutput { return s } -// Specifies the different settings for multi-factor authentication (MFA). +// This data type is no longer supported. You can use it only for SMS MFA configurations. +// You can't use it for TOTP software token MFA configurations. +// +// To set either type of MFA configuration, use the AdminSetUserMFAPreference +// or SetUserMFAPreference actions. +// +// To look up information about either type of MFA configuration, use the AdminGetUserResponse$UserMFASettingList +// or GetUserResponse$UserMFASettingList responses. type MFAOptionType struct { _ struct{} `type:"structure"` - // The attribute name of the MFA option type. + // The attribute name of the MFA option type. The only valid value is phone_number. AttributeName *string `min:"1" type:"string"` - // The delivery medium (email message or SMS message) to send the MFA code. + // The delivery medium to send the MFA code. You can use this parameter to set + // only the SMS delivery medium value. DeliveryMedium *string `type:"string" enum:"DeliveryMediumType"` } @@ -21146,6 +21705,13 @@ type PasswordPolicyType struct { // users to use at least one uppercase letter in their password. RequireUppercase *bool `type:"boolean"` + // In the password policy you have set, refers to the number of days a temporary + // password is valid. If the user does not sign-in during this time, their password + // will need to be reset by an administrator. + // + // When you set TemporaryPasswordValidityDays for a user pool, you will no longer + // be able to set the deprecated UnusedAccountValidityDays value for that user + // pool. TemporaryPasswordValidityDays *int64 `type:"integer"` } @@ -21327,6 +21893,37 @@ type ResendConfirmationCodeInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the ResendConfirmationCode API action, Amazon Cognito + // invokes the function that is assigned to the custom message trigger. When + // Amazon Cognito invokes this function, it passes a JSON payload, which the + // function receives as input. This payload contains a clientMetadata attribute, + // which provides the data that you assigned to the ClientMetadata parameter + // in your ResendConfirmationCode request. In your function code in AWS Lambda, + // you can process the clientMetadata value to enhance your workflow for your + // specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // A keyed-hash message authentication code (HMAC) calculated using the secret // key of a user pool client and username plus the client ID in the message. SecretHash *string `min:"1" type:"string" sensitive:"true"` @@ -21389,6 +21986,12 @@ func (s *ResendConfirmationCodeInput) SetClientId(v string) *ResendConfirmationC return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *ResendConfirmationCodeInput) SetClientMetadata(v map[string]*string) *ResendConfirmationCodeInput { + s.ClientMetadata = v + return s +} + // SetSecretHash sets the SecretHash field's value. func (s *ResendConfirmationCodeInput) SetSecretHash(v string) *ResendConfirmationCodeInput { s.SecretHash = &v @@ -21561,15 +22164,24 @@ type RespondToAuthChallengeInput struct { // The challenge responses. These are inputs corresponding to the value of ChallengeName, // for example: // - // * SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured - // with client secret). + // SECRET_HASH (if app client is configured with client secret) applies to all + // inputs below (including SOFTWARE_TOKEN_MFA). + // + // * SMS_MFA: SMS_MFA_CODE, USERNAME. // // * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, - // TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client - // secret). + // TIMESTAMP, USERNAME. // // * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, - // USERNAME, SECRET_HASH (if app client is configured with client secret). + // USERNAME. + // + // * SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required + // attributes. + // + // * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH). + // + // * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER + // requires plus DEVICE_KEY. ChallengeResponses map[string]*string `type:"map"` // The app client ID. @@ -21577,6 +22189,38 @@ type RespondToAuthChallengeInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito + // invokes any functions that are assigned to the following triggers: post authentication, + // pre token generation, define auth challenge, create auth challenge, and verify + // auth challenge. When Amazon Cognito invokes any of these functions, it passes + // a JSON payload, which the function receives as input. This payload contains + // a clientMetadata attribute, which provides the data that you assigned to + // the ClientMetadata parameter in your RespondToAuthChallenge request. In your + // function code in AWS Lambda, you can process the clientMetadata value to + // enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // The session which should be passed both ways in challenge-response calls // to the service. If InitiateAuth or RespondToAuthChallenge API call determines // that the caller needs to go through another challenge, they return a session @@ -21646,6 +22290,12 @@ func (s *RespondToAuthChallengeInput) SetClientId(v string) *RespondToAuthChalle return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *RespondToAuthChallengeInput) SetClientMetadata(v map[string]*string) *RespondToAuthChallengeInput { + s.ClientMetadata = v + return s +} + // SetSession sets the Session field's value. func (s *RespondToAuthChallengeInput) SetSession(v string) *RespondToAuthChallengeInput { s.Session = &v @@ -21821,14 +22471,14 @@ func (s *RiskExceptionConfigurationType) SetSkippedIPRangeList(v []*string) *Ris return s } -// The SMS multi-factor authentication (MFA) settings type. +// The type used for enabling SMS MFA at the user level. type SMSMfaSettingsType struct { _ struct{} `type:"structure"` // Specifies whether SMS text message MFA is enabled. Enabled *bool `type:"boolean"` - // The preferred MFA method. + // Specifies whether SMS is the preferred MFA method. PreferredMfa *bool `type:"boolean"` } @@ -22176,7 +22826,7 @@ func (s *SetUICustomizationOutput) SetUICustomization(v *UICustomizationType) *S type SetUserMFAPreferenceInput struct { _ struct{} `type:"structure"` - // The access token. + // The access token for the user. // // AccessToken is a required field AccessToken *string `type:"string" required:"true" sensitive:"true"` @@ -22246,7 +22896,14 @@ func (s SetUserMFAPreferenceOutput) GoString() string { type SetUserPoolMfaConfigInput struct { _ struct{} `type:"structure"` - // The MFA configuration. + // The MFA configuration. Valid values include: + // + // * OFF MFA will not be used for any users. + // + // * ON MFA is required for all users to sign in. + // + // * OPTIONAL MFA will be required only for individual users who have an + // MFA factor enabled. MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"` // The SMS text message MFA configuration. @@ -22319,7 +22976,14 @@ func (s *SetUserPoolMfaConfigInput) SetUserPoolId(v string) *SetUserPoolMfaConfi type SetUserPoolMfaConfigOutput struct { _ struct{} `type:"structure"` - // The MFA configuration. + // The MFA configuration. Valid values include: + // + // * OFF MFA will not be used for any users. + // + // * ON MFA is required for all users to sign in. + // + // * OPTIONAL MFA will be required only for individual users who have an + // MFA factor enabled. MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"` // The SMS text message MFA configuration. @@ -22366,7 +23030,8 @@ type SetUserSettingsInput struct { // AccessToken is a required field AccessToken *string `type:"string" required:"true" sensitive:"true"` - // Specifies the options for MFA (e.g., email or phone number). + // You can use this parameter only to set an SMS configuration that uses SMS + // for delivery. // // MFAOptions is a required field MFAOptions []*MFAOptionType `type:"list" required:"true"` @@ -22448,6 +23113,37 @@ type SignUpInput struct { // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the SignUp API action, Amazon Cognito invokes any + // functions that are assigned to the following triggers: pre sign-up, custom + // message, and post confirmation. When Amazon Cognito invokes any of these + // functions, it passes a JSON payload, which the function receives as input. + // This payload contains a clientMetadata attribute, which provides the data + // that you assigned to the ClientMetadata parameter in your SignUp request. + // In your function code in AWS Lambda, you can process the clientMetadata value + // to enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // The password of the user you wish to register. // // Password is a required field @@ -22550,6 +23246,12 @@ func (s *SignUpInput) SetClientId(v string) *SignUpInput { return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *SignUpInput) SetClientMetadata(v map[string]*string) *SignUpInput { + s.ClientMetadata = v + return s +} + // SetPassword sets the Password field's value. func (s *SignUpInput) SetPassword(v string) *SignUpInput { s.Password = &v @@ -22633,15 +23335,25 @@ func (s *SignUpOutput) SetUserSub(v string) *SignUpOutput { return s } -// The SMS configuration type. +// The SMS configuration type that includes the settings the Cognito User Pool +// needs to call for the Amazon SNS service to send an SMS message from your +// AWS account. The Cognito User Pool makes the request to the Amazon SNS Service +// by using an AWS IAM role that you provide for your AWS account. type SmsConfigurationType struct { _ struct{} `type:"structure"` - // The external ID. + // The external ID is a value that we recommend you use to add security to your + // IAM role which is used to call Amazon SNS to send SMS messages for your user + // pool. If you provide an ExternalId, the Cognito User Pool will include it + // when attempting to assume your IAM role, so that you can set your roles trust + // policy to require the ExternalID. If you use the Cognito Management Console + // to create a role for SMS MFA, Cognito will create a role with the required + // permissions and a trust policy that demonstrates use of the ExternalId. ExternalId *string `type:"string"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service - // (SNS) caller. + // (SNS) caller. This is the ARN of the IAM role in your AWS account which Cognito + // will use to send SMS messages. // // SnsCallerArn is a required field SnsCallerArn *string `min:"20" type:"string" required:"true"` @@ -22689,7 +23401,10 @@ func (s *SmsConfigurationType) SetSnsCallerArn(v string) *SmsConfigurationType { type SmsMfaConfigType struct { _ struct{} `type:"structure"` - // The SMS authentication message. + // The SMS authentication message that will be sent to users with the code they + // need to sign in. The message must contain the ‘{####}’ placeholder, which + // will be replaced with the code. If the message is not included, and default + // message will be used. SmsAuthenticationMessage *string `min:"6" type:"string"` // The SMS configuration. @@ -22767,7 +23482,7 @@ type SoftwareTokenMfaSettingsType struct { // Specifies whether software token MFA is enabled. Enabled *bool `type:"boolean"` - // The preferred MFA method. + // Specifies whether software token MFA is the preferred MFA method. PreferredMfa *bool `type:"boolean"` } @@ -23003,7 +23718,9 @@ type TagResourceInput struct { ResourceArn *string `min:"20" type:"string" required:"true"` // The tags to assign to the user pool. - Tags map[string]*string `type:"map"` + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` } // String returns the string representation @@ -23025,6 +23742,9 @@ func (s *TagResourceInput) Validate() error { if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } if invalidParams.Len() > 0 { return invalidParams @@ -23147,7 +23867,9 @@ type UntagResourceInput struct { ResourceArn *string `min:"20" type:"string" required:"true"` // The keys of the tags to remove from the user pool. - TagKeys []*string `type:"list"` + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` } // String returns the string representation @@ -23169,6 +23891,9 @@ func (s *UntagResourceInput) Validate() error { if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } if invalidParams.Len() > 0 { return invalidParams @@ -23750,6 +24475,37 @@ type UpdateUserAttributesInput struct { // AccessToken is a required field AccessToken *string `type:"string" required:"true" sensitive:"true"` + // A map of custom key-value pairs that you can provide as input for any custom + // workflows that this action triggers. + // + // You create custom workflows by assigning AWS Lambda functions to user pool + // triggers. When you use the UpdateUserAttributes API action, Amazon Cognito + // invokes the functions that are assigned to the custom message and pre mutation + // triggers. When Amazon Cognito invokes either of these functions, it passes + // a JSON payload, which the function receives as input. This payload contains + // a clientMetadata attribute, which provides the data that you assigned to + // the ClientMetadata parameter in your UpdateUserAttributes request. In your + // function code in AWS Lambda, you can process the clientMetadata value to + // enhance your workflow for your specific needs. + // + // For more information, see Customizing User Pool Workflows with Lambda Triggers + // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) + // in the Amazon Cognito Developer Guide. + // + // Take the following limitations into consideration when you use the ClientMetadata + // parameter: + // + // * Amazon Cognito does not store the ClientMetadata value. This data is + // available only to AWS Lambda triggers that are assigned to a user pool + // to support custom workflows. If your user pool configuration does not + // include triggers, the ClientMetadata parameter serves no purpose. + // + // * Amazon Cognito does not validate the ClientMetadata value. + // + // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't + // use it to provide sensitive information. + ClientMetadata map[string]*string `type:"map"` + // An array of name-value pairs representing user attributes. // // For custom attributes, you must prepend the custom: prefix to the attribute @@ -23801,6 +24557,12 @@ func (s *UpdateUserAttributesInput) SetAccessToken(v string) *UpdateUserAttribut return s } +// SetClientMetadata sets the ClientMetadata field's value. +func (s *UpdateUserAttributesInput) SetClientMetadata(v map[string]*string) *UpdateUserAttributesInput { + s.ClientMetadata = v + return s +} + // SetUserAttributes sets the UserAttributes field's value. func (s *UpdateUserAttributesInput) SetUserAttributes(v []*AttributeType) *UpdateUserAttributesInput { s.UserAttributes = v @@ -23846,7 +24608,8 @@ type UpdateUserPoolClientInput struct { AllowedOAuthFlowsUserPoolClient *bool `type:"boolean"` // A list of allowed OAuth scopes. Currently supported values are "phone", "email", - // "openid", and "Cognito". + // "openid", and "Cognito". In addition to these values, custom scopes created + // in Resource Servers are also supported. AllowedOAuthScopes []*string `type:"list"` // The Amazon Pinpoint analytics configuration for collecting metrics for this @@ -24729,7 +25492,8 @@ type UserPoolClientType struct { AllowedOAuthFlowsUserPoolClient *bool `type:"boolean"` // A list of allowed OAuth scopes. Currently supported values are "phone", "email", - // "openid", and "Cognito". + // "openid", and "Cognito". In addition to these values, custom scopes created + // in Resource Servers are also supported. AllowedOAuthScopes []*string `type:"list"` // The Amazon Pinpoint analytics configuration for the user pool client. diff --git a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go index e4c6d62fd69..f1fa7421bd3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go @@ -330,7 +330,8 @@ func (c *DataSync) CreateLocationNfsRequest(input *CreateLocationNfsInput) (req // CreateLocationNfs API operation for AWS DataSync. // -// Creates an endpoint for a Network File System (NFS) file system. +// Defines a file system on a Network File System (NFS) server that can be read +// from or written to // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -503,7 +504,8 @@ func (c *DataSync) CreateLocationSmbRequest(input *CreateLocationSmbInput) (req // CreateLocationSmb API operation for AWS DataSync. // -// Creates an endpoint for a Server Message Block (SMB) file system. +// Defines a file system on an Server Message Block (SMB) server that can be +// read from or written to // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5420,6 +5422,13 @@ type Options struct { // currently supported for Amazon EFS. PreserveDevices *string `type:"string" enum:"PreserveDevices"` + // A value that determines whether tasks should be queued before executing the + // tasks. If set to Enabled, the tasks will queued. The default is Enabled. + // + // If you use the same agent to run multiple tasks you can enable the tasks + // to run in series. For more information see task-queue. + TaskQueueing *string `type:"string" enum:"TaskQueueing"` + // The user ID (UID) of the file's owner. // // Default value: INT_VALUE. This preserves the integer value of the ID. @@ -5513,6 +5522,12 @@ func (s *Options) SetPreserveDevices(v string) *Options { return s } +// SetTaskQueueing sets the TaskQueueing field's value. +func (s *Options) SetTaskQueueing(v string) *Options { + s.TaskQueueing = &v + return s +} + // SetUid sets the Uid field's value. func (s *Options) SetUid(v string) *Options { s.Uid = &v @@ -6445,6 +6460,9 @@ const ( ) const ( + // TaskExecutionStatusQueued is a TaskExecutionStatus enum value + TaskExecutionStatusQueued = "QUEUED" + // TaskExecutionStatusLaunching is a TaskExecutionStatus enum value TaskExecutionStatusLaunching = "LAUNCHING" @@ -6464,6 +6482,14 @@ const ( TaskExecutionStatusError = "ERROR" ) +const ( + // TaskQueueingEnabled is a TaskQueueing enum value + TaskQueueingEnabled = "ENABLED" + + // TaskQueueingDisabled is a TaskQueueing enum value + TaskQueueingDisabled = "DISABLED" +) + const ( // TaskStatusAvailable is a TaskStatus enum value TaskStatusAvailable = "AVAILABLE" @@ -6471,6 +6497,9 @@ const ( // TaskStatusCreating is a TaskStatus enum value TaskStatusCreating = "CREATING" + // TaskStatusQueued is a TaskStatus enum value + TaskStatusQueued = "QUEUED" + // TaskStatusRunning is a TaskStatus enum value TaskStatusRunning = "RUNNING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go index 967f9a29bb7..4c4532e25c3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go @@ -7620,6 +7620,8 @@ type CreateRemoteAccessSessionInput struct { // on the same client, you should pass the same clientId value in each call // to CreateRemoteAccessSession. This is required only if remoteDebugEnabled // is set to true. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). ClientId *string `locationName:"clientId" type:"string"` // The configuration information for the remote access session request. @@ -7660,6 +7662,8 @@ type CreateRemoteAccessSessionInput struct { // Set to true if you want to access devices remotely for debugging in your // remote access session. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` // The Amazon Resource Name (ARN) for the app to be recorded in the remote access @@ -7678,9 +7682,11 @@ type CreateRemoteAccessSessionInput struct { // Farm FAQs. SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"` - // The public key of the ssh key pair you want to use for connecting to remote - // devices in your remote debugging session. This is only required if remoteDebugEnabled - // is set to true. + // Ignored. The public key of the ssh key pair you want to use for connecting + // to remote devices in your remote debugging session. This is only required + // if remoteDebugEnabled is set to true. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). SshPublicKey *string `locationName:"sshPublicKey" type:"string"` } @@ -8689,6 +8695,8 @@ type Device struct { RemoteAccessEnabled *bool `locationName:"remoteAccessEnabled" type:"boolean"` // This flag is set to true if remote debugging is enabled for the device. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` // The resolution of the device. @@ -8900,11 +8908,13 @@ type DeviceFilter struct { // // REMOTE_DEBUG_ENABLED // - // Whether the device is enabled for remote debugging. Valid values are "TRUE" - // or "FALSE". + // Ignored.Whether the device is enabled for remote debugging. Valid values + // are "TRUE" or "FALSE". // // Supported operators: EQUALS // + // This filter will be ignored, as remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). + // // INSTANCE_ARN // // The Amazon Resource Name (ARN) of the device instance. @@ -9239,9 +9249,11 @@ type DeviceSelectionConfiguration struct { // For example, "Apple". REMOTE_ACCESS_ENABLED: Whether the device is enabled // for remote access. Valid values are "TRUE" or "FALSE". REMOTE_DEBUG_ENABLED: // Whether the device is enabled for remote debugging. Valid values are "TRUE" - // or "FALSE". INSTANCE_ARN: The Amazon Resource Name (ARN) of the device - // instance. INSTANCE_LABELS: The label of the device instance. FLEET_TYPE: - // The fleet type. Valid values are "PUBLIC" or "PRIVATE". + // or "FALSE". This filter will be ignored, as remote debugging is no longer + // supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). + // INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. INSTANCE_LABELS: + // The label of the device instance. FLEET_TYPE: The fleet type. Valid values + // are "PUBLIC" or "PRIVATE". // // * Operator The filter operator. The EQUALS operator is available for every // attribute except INSTANCE_LABELS. The CONTAINS operator is available for @@ -11317,9 +11329,11 @@ type ListDevicesInput struct { // For example, "Apple". REMOTE_ACCESS_ENABLED: Whether the device is enabled // for remote access. Valid values are "TRUE" or "FALSE". REMOTE_DEBUG_ENABLED: // Whether the device is enabled for remote debugging. Valid values are "TRUE" - // or "FALSE". INSTANCE_ARN: The Amazon Resource Name (ARN) of the device - // instance. INSTANCE_LABELS: The label of the device instance. FLEET_TYPE: - // The fleet type. Valid values are "PUBLIC" or "PRIVATE". + // or "FALSE". This attribute will be ignored, as remote debugging is no + // longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). + // INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance. INSTANCE_LABELS: + // The label of the device instance. FLEET_TYPE: The fleet type. Valid values + // are "PUBLIC" or "PRIVATE". // // * Operator: The filter operator. The EQUALS operator is available for // every attribute except INSTANCE_LABELS. The CONTAINS operator is available @@ -11993,8 +12007,8 @@ func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput { type ListRemoteAccessSessionsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the remote access session about which you - // are requesting information. + // The Amazon Resource Name (ARN) of the project about which you are requesting + // information. // // Arn is a required field Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` @@ -13656,6 +13670,8 @@ type RemoteAccessSession struct { // Unique identifier of your client for the remote access session. Only returned // if remote debugging is enabled for the remote access session. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). ClientId *string `locationName:"clientId" type:"string"` // The date and time the remote access session was created. @@ -13670,6 +13686,8 @@ type RemoteAccessSession struct { // Unique device identifier for the remote device. Only returned if remote debugging // is enabled for the remote access session. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). DeviceUdid *string `locationName:"deviceUdid" type:"string"` // The endpoint for the remote access sesssion. @@ -13677,6 +13695,8 @@ type RemoteAccessSession struct { // IP address of the EC2 host where you need to connect to remotely debug devices. // Only returned if remote debugging is enabled for the remote access session. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). HostAddress *string `locationName:"hostAddress" type:"string"` // The Amazon Resource Name (ARN) of the instance. @@ -13704,6 +13724,8 @@ type RemoteAccessSession struct { // This flag is set to true if remote debugging is enabled for the remote access // session. + // + // Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` // The Amazon Resource Name (ARN) for the app to be recorded in the remote access @@ -14098,6 +14120,8 @@ type Rule struct { // or "FALSE". // // Supported operators: EQUALS + // + // This filter will be ignored, as remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"` // Specifies how Device Farm compares the rule's attribute to the value. For @@ -14614,7 +14638,8 @@ func (s *Sample) SetUrl(v string) *Sample { type ScheduleRunConfiguration struct { _ struct{} `type:"structure"` - // A list of auxiliary apps for the run. + // A list of Upload ARNs for app packages that will be installed alongside your + // app. AuxiliaryApps []*string `locationName:"auxiliaryApps" type:"list"` // Specifies the billing method for a test run: metered or unmetered. If the diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index 96c0a66b4fa..100f224d179 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -2386,8 +2386,7 @@ func (c *DirectConnect) DeleteDirectConnectGatewayRequest(input *DeleteDirectCon // // Deletes the specified Direct Connect gateway. You must first delete all virtual // interfaces that are attached to the Direct Connect gateway and disassociate -// all virtual private gateways that are associated with the Direct Connect -// gateway. +// all virtual private gateways associated with the Direct Connect gateway. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2472,6 +2471,11 @@ func (c *DirectConnect) DeleteDirectConnectGatewayAssociationRequest(input *Dele // Deletes the association between the specified Direct Connect gateway and // virtual private gateway. // +// We recommend that you specify the associationID to delete the association. +// Alternatively, if you own virtual gateway and a Direct Connect gateway association, +// you can specify the virtualGatewayId and directConnectGatewayId to delete +// an association. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4999,7 +5003,7 @@ type AllocateHostedConnectionInput struct { // OwnerAccount is a required field OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"` - // The tags to assign to the hosted connection. + // The tags associated with the connection. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The dedicated VLAN provisioned to the hosted connection. @@ -5745,7 +5749,7 @@ type ConfirmPrivateVirtualInterfaceInput struct { DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` // The ID of the virtual interface. // @@ -6107,10 +6111,13 @@ type Connection struct { // The name of the AWS Direct Connect service provider associated with the connection. PartnerName *string `locationName:"partnerName" type:"string"` + // The name of the service provider associated with the connection. + ProviderName *string `locationName:"providerName" type:"string"` + // The AWS Region where the connection is located. Region *string `locationName:"region" type:"string"` - // Any tags assigned to the connection. + // The tags associated with the connection. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The ID of the VLAN. @@ -6205,6 +6212,12 @@ func (s *Connection) SetPartnerName(v string) *Connection { return s } +// SetProviderName sets the ProviderName field's value. +func (s *Connection) SetProviderName(v string) *Connection { + s.ProviderName = &v + return s +} + // SetRegion sets the Region field's value. func (s *Connection) SetRegion(v string) *Connection { s.Region = &v @@ -6322,7 +6335,10 @@ type CreateConnectionInput struct { // Location is a required field Location *string `locationName:"location" type:"string" required:"true"` - // The tags to assign to the connection. + // The name of the service provider associated with the requested connection. + ProviderName *string `locationName:"providerName" type:"string"` + + // The tags to associate with the lag. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } @@ -6392,6 +6408,12 @@ func (s *CreateConnectionInput) SetLocation(v string) *CreateConnectionInput { return s } +// SetProviderName sets the ProviderName field's value. +func (s *CreateConnectionInput) SetProviderName(v string) *CreateConnectionInput { + s.ProviderName = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput { s.Tags = v @@ -6403,6 +6425,8 @@ type CreateDirectConnectGatewayAssociationInput struct { // The Amazon VPC prefixes to advertise to the Direct Connect gateway // + // This parameter is required when you create an association to a transit gateway. + // // For information about how to set the prefixes, see Allowed Prefixes (https://docs.aws.amazon.com/directconnect/latest/UserGuide/multi-account-associate-vgw.html#allowed-prefixes) // in the AWS Direct Connect User Guide. AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"` @@ -6416,7 +6440,7 @@ type CreateDirectConnectGatewayAssociationInput struct { GatewayId *string `locationName:"gatewayId" type:"string"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` } // String returns the string representation @@ -6690,7 +6714,10 @@ type CreateInterconnectInput struct { // Location is a required field Location *string `locationName:"location" type:"string" required:"true"` - // The tags to assign to the interconnect, + // The name of the service provider associated with the interconnect. + ProviderName *string `locationName:"providerName" type:"string"` + + // The tags to associate with the interconnect. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } @@ -6760,6 +6787,12 @@ func (s *CreateInterconnectInput) SetLocation(v string) *CreateInterconnectInput return s } +// SetProviderName sets the ProviderName field's value. +func (s *CreateInterconnectInput) SetProviderName(v string) *CreateInterconnectInput { + s.ProviderName = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateInterconnectInput) SetTags(v []*Tag) *CreateInterconnectInput { s.Tags = v @@ -6769,11 +6802,7 @@ func (s *CreateInterconnectInput) SetTags(v []*Tag) *CreateInterconnectInput { type CreateLagInput struct { _ struct{} `type:"structure"` - // The tags to assign to the child connections of the LAG. Only newly created - // child connections as the result of creating a LAG connection are assigned - // the provided tags. The tags are not assigned to an existing connection that - // is provided via the “connectionId” parameter that will be migrated to - // the LAG. + // The tags to associate with the automtically created LAGs. ChildConnectionTags []*Tag `locationName:"childConnectionTags" min:"1" type:"list"` // The ID of an existing connection to migrate to the LAG. @@ -6802,7 +6831,10 @@ type CreateLagInput struct { // NumberOfConnections is a required field NumberOfConnections *int64 `locationName:"numberOfConnections" type:"integer" required:"true"` - // The tags to assign to the link aggregation group (LAG). + // The name of the service provider associated with the LAG. + ProviderName *string `locationName:"providerName" type:"string"` + + // The tags to associate with the LAG. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } @@ -6900,6 +6932,12 @@ func (s *CreateLagInput) SetNumberOfConnections(v int64) *CreateLagInput { return s } +// SetProviderName sets the ProviderName field's value. +func (s *CreateLagInput) SetProviderName(v string) *CreateLagInput { + s.ProviderName = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateLagInput) SetTags(v []*Tag) *CreateLagInput { s.Tags = v @@ -7221,7 +7259,7 @@ type DeleteDirectConnectGatewayAssociationInput struct { DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` } // String returns the string representation @@ -7863,7 +7901,7 @@ type DescribeDirectConnectGatewayAssociationsInput struct { NextToken *string `locationName:"nextToken" type:"string"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` } // String returns the string representation @@ -8734,7 +8772,7 @@ type GatewayAssociation struct { StateChangeError *string `locationName:"stateChangeError" type:"string"` // The ID of the virtual private gateway. Applies only to private virtual interfaces. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` // The ID of the AWS account that owns the virtual private gateway. VirtualGatewayOwnerAccount *string `locationName:"virtualGatewayOwnerAccount" type:"string"` @@ -8921,7 +8959,7 @@ type GatewayAttachment struct { // is stopped. AttachmentState *string `locationName:"attachmentState" type:"string" enum:"GatewayAttachmentState"` - // The interface type. + // The type of attachment. AttachmentType *string `locationName:"attachmentType" type:"string" enum:"GatewayAttachmentType"` // The ID of the Direct Connect gateway. @@ -9047,10 +9085,13 @@ type Interconnect struct { // The location of the connection. Location *string `locationName:"location" type:"string"` + // The name of the service provider associated with the interconnect. + ProviderName *string `locationName:"providerName" type:"string"` + // The AWS Region where the connection is located. Region *string `locationName:"region" type:"string"` - // Any tags assigned to the interconnect. + // The tags associated with the interconnect. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } @@ -9130,6 +9171,12 @@ func (s *Interconnect) SetLocation(v string) *Interconnect { return s } +// SetProviderName sets the ProviderName field's value. +func (s *Interconnect) SetProviderName(v string) *Interconnect { + s.ProviderName = &v + return s +} + // SetRegion sets the Region field's value. func (s *Interconnect) SetRegion(v string) *Interconnect { s.Region = &v @@ -9208,10 +9255,13 @@ type Lag struct { // The ID of the AWS account that owns the LAG. OwnerAccount *string `locationName:"ownerAccount" type:"string"` + // The name of the service provider associated with the LAG. + ProviderName *string `locationName:"providerName" type:"string"` + // The AWS Region where the connection is located. Region *string `locationName:"region" type:"string"` - // Any tags assigned to link aggregation group (LAG). + // The tags associated with the LAG. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } @@ -9309,6 +9359,12 @@ func (s *Lag) SetOwnerAccount(v string) *Lag { return s } +// SetProviderName sets the ProviderName field's value. +func (s *Lag) SetProviderName(v string) *Lag { + s.ProviderName = &v + return s +} + // SetRegion sets the Region field's value. func (s *Lag) SetRegion(v string) *Lag { s.Region = &v @@ -9365,6 +9421,9 @@ type Location struct { // The available port speeds for the location. AvailablePortSpeeds []*string `locationName:"availablePortSpeeds" type:"list"` + // The name of the service provider for the location. + AvailableProviders []*string `locationName:"availableProviders" type:"list"` + // The code for the location. LocationCode *string `locationName:"locationCode" type:"string"` @@ -9392,6 +9451,12 @@ func (s *Location) SetAvailablePortSpeeds(v []*string) *Location { return s } +// SetAvailableProviders sets the AvailableProviders field's value. +func (s *Location) SetAvailableProviders(v []*string) *Location { + s.AvailableProviders = v + return s +} + // SetLocationCode sets the LocationCode field's value. func (s *Location) SetLocationCode(v string) *Location { s.LocationCode = &v @@ -9483,6 +9548,8 @@ type NewPrivateVirtualInterface struct { // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. // + // The valid values are 1-2147483647. + // // Asn is a required field Asn *int64 `locationName:"asn" type:"integer" required:"true"` @@ -9500,11 +9567,11 @@ type NewPrivateVirtualInterface struct { // and 9001. The default value is 1500. Mtu *int64 `locationName:"mtu" type:"integer"` - // Any tags assigned to the private virtual interface. + // The tags associated with the private virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` // The name of the virtual interface assigned by the customer network. // @@ -9637,6 +9704,8 @@ type NewPrivateVirtualInterfaceAllocation struct { // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. // + // The valid values are 1-2147483647. + // // Asn is a required field Asn *int64 `locationName:"asn" type:"integer" required:"true"` @@ -9651,8 +9720,7 @@ type NewPrivateVirtualInterfaceAllocation struct { // and 9001. The default value is 1500. Mtu *int64 `locationName:"mtu" type:"integer"` - // Any tags assigned to the private virtual interface to be provisioned on a - // connection. + // The tags associated with the private virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The name of the virtual interface assigned by the customer network. @@ -9774,6 +9842,8 @@ type NewPublicVirtualInterface struct { // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. // + // The valid values are 1-2147483647. + // // Asn is a required field Asn *int64 `locationName:"asn" type:"integer" required:"true"` @@ -9788,7 +9858,7 @@ type NewPublicVirtualInterface struct { // public virtual interfaces. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"` - // Any tags assigned to the public virtual interface. + // The tags associated with the public virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The name of the virtual interface assigned by the customer network. @@ -9910,6 +9980,8 @@ type NewPublicVirtualInterfaceAllocation struct { // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. // + // The valid values are 1-2147483647. + // // Asn is a required field Asn *int64 `locationName:"asn" type:"integer" required:"true"` @@ -9924,8 +9996,7 @@ type NewPublicVirtualInterfaceAllocation struct { // public virtual interfaces. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"` - // Any tags assigned to the public virtual interface to be provisioned on a - // connection. + // The tags associated with the public virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The name of the virtual interface assigned by the customer network. @@ -10035,7 +10106,7 @@ func (s *NewPublicVirtualInterfaceAllocation) SetVlan(v int64) *NewPublicVirtual return s } -// Information about the transit virtual interface. +// Information about a transit virtual interface. type NewTransitVirtualInterface struct { _ struct{} `type:"structure"` @@ -10046,9 +10117,12 @@ type NewTransitVirtualInterface struct { AmazonAddress *string `locationName:"amazonAddress" type:"string"` // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. + // + // The valid values are 1-2147483647. Asn *int64 `locationName:"asn" type:"integer"` - // The authentication key for BGP configuration. + // The authentication key for BGP configuration. This string has a minimum length + // of 6 characters and and a maximun lenth of 80 characters. AuthKey *string `locationName:"authKey" type:"string"` // The IP address assigned to the customer interface. @@ -10058,10 +10132,10 @@ type NewTransitVirtualInterface struct { DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` // The maximum transmission unit (MTU), in bytes. The supported values are 1500 - // and 8500. The default value is 1500. + // and 9001. The default value is 1500. Mtu *int64 `locationName:"mtu" type:"integer"` - // Any tags assigned to the transit virtual interface. + // The tags associated with the transitive virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The name of the virtual interface assigned by the customer network. @@ -10164,7 +10238,7 @@ func (s *NewTransitVirtualInterface) SetVlan(v int64) *NewTransitVirtualInterfac return s } -// Information about a transit virtual interface. +// Information about a transit virtual interface to be provisioned on a connection. type NewTransitVirtualInterfaceAllocation struct { _ struct{} `type:"structure"` @@ -10175,19 +10249,22 @@ type NewTransitVirtualInterfaceAllocation struct { AmazonAddress *string `locationName:"amazonAddress" type:"string"` // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. + // + // The valid values are 1-2147483647. Asn *int64 `locationName:"asn" type:"integer"` - // The authentication key for BGP configuration. + // The authentication key for BGP configuration. This string has a minimum length + // of 6 characters and and a maximun lenth of 80 characters. AuthKey *string `locationName:"authKey" type:"string"` // The IP address assigned to the customer interface. CustomerAddress *string `locationName:"customerAddress" type:"string"` // The maximum transmission unit (MTU), in bytes. The supported values are 1500 - // and 8500. The default value is 1500. + // and 9001. The default value is 1500. Mtu *int64 `locationName:"mtu" type:"integer"` - // Any tags assigned to the transit virtual interface. + // The tags associated with the transitive virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The name of the virtual interface assigned by the customer network. @@ -10402,7 +10479,7 @@ type TagResourceInput struct { // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` - // The tags to assign. + // The tags to add. // // Tags is a required field Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"` @@ -10723,6 +10800,8 @@ type UpdateVirtualInterfaceAttributesOutput struct { AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"` // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. + // + // The valid values are 1-2147483647. Asn *int64 `locationName:"asn" type:"integer"` // The authentication key for BGP configuration. This string has a minimum length @@ -10767,11 +10846,11 @@ type UpdateVirtualInterfaceAttributesOutput struct { // public virtual interfaces. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"` - // Any tags assigned to the virtual interface. + // The tags associated with the virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The ID of the virtual private gateway. Applies only to private virtual interfaces. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` @@ -10977,7 +11056,7 @@ type VirtualGateway struct { _ struct{} `type:"structure"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` // The state of the virtual private gateway. The following are the possible // values: @@ -11029,6 +11108,8 @@ type VirtualInterface struct { AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"` // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. + // + // The valid values are 1-2147483647. Asn *int64 `locationName:"asn" type:"integer"` // The authentication key for BGP configuration. This string has a minimum length @@ -11073,11 +11154,11 @@ type VirtualInterface struct { // public virtual interfaces. RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"` - // Any tags assigned to the virtual interface. + // The tags associated with the virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // The ID of the virtual private gateway. Applies only to private virtual interfaces. - VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index ea5b933514a..1e9a303f164 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -8706,6 +8706,80 @@ func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlac return out, req.Send() } +const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances" + +// DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQueuedReservedInstances operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteQueuedReservedInstances for more information on using the DeleteQueuedReservedInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteQueuedReservedInstancesRequest method. +// req, resp := client.DeleteQueuedReservedInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances +func (c *EC2) DeleteQueuedReservedInstancesRequest(input *DeleteQueuedReservedInstancesInput) (req *request.Request, output *DeleteQueuedReservedInstancesOutput) { + op := &request.Operation{ + Name: opDeleteQueuedReservedInstances, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteQueuedReservedInstancesInput{} + } + + output = &DeleteQueuedReservedInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteQueuedReservedInstances API operation for Amazon Elastic Compute Cloud. +// +// Deletes the queued purchases for the specified Reserved Instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteQueuedReservedInstances for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances +func (c *EC2) DeleteQueuedReservedInstances(input *DeleteQueuedReservedInstancesInput) (*DeleteQueuedReservedInstancesOutput, error) { + req, out := c.DeleteQueuedReservedInstancesRequest(input) + return out, req.Send() +} + +// DeleteQueuedReservedInstancesWithContext is the same as DeleteQueuedReservedInstances with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQueuedReservedInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteQueuedReservedInstancesWithContext(ctx aws.Context, input *DeleteQueuedReservedInstancesInput, opts ...request.Option) (*DeleteQueuedReservedInstancesOutput, error) { + req, out := c.DeleteQueuedReservedInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRoute = "DeleteRoute" // DeleteRouteRequest generates a "aws/request.Request" representing the @@ -29203,6 +29277,9 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn // offerings that match your specifications. After you've purchased a Reserved // Instance, you can check for your new Reserved Instance with DescribeReservedInstances. // +// To queue a purchase for a future date and time, specify a purchase time. +// If you do not specify a purchase time, the default is the current time. +// // For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) // and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. @@ -46808,6 +46885,125 @@ func (s DeletePlacementGroupOutput) GoString() string { return s.String() } +// Describes the error for a Reserved Instance whose queued purchase could not +// be deleted. +type DeleteQueuedReservedInstancesError struct { + _ struct{} `type:"structure"` + + // The error code. + Code *string `locationName:"code" type:"string" enum:"DeleteQueuedReservedInstancesErrorCode"` + + // The error message. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s DeleteQueuedReservedInstancesError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueuedReservedInstancesError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *DeleteQueuedReservedInstancesError) SetCode(v string) *DeleteQueuedReservedInstancesError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *DeleteQueuedReservedInstancesError) SetMessage(v string) *DeleteQueuedReservedInstancesError { + s.Message = &v + return s +} + +type DeleteQueuedReservedInstancesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IDs of the Reserved Instances. + // + // ReservedInstancesIds is a required field + ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"item" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s DeleteQueuedReservedInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueuedReservedInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQueuedReservedInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedReservedInstancesInput"} + if s.ReservedInstancesIds == nil { + invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds")) + } + if s.ReservedInstancesIds != nil && len(s.ReservedInstancesIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservedInstancesIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteQueuedReservedInstancesInput) SetDryRun(v bool) *DeleteQueuedReservedInstancesInput { + s.DryRun = &v + return s +} + +// SetReservedInstancesIds sets the ReservedInstancesIds field's value. +func (s *DeleteQueuedReservedInstancesInput) SetReservedInstancesIds(v []*string) *DeleteQueuedReservedInstancesInput { + s.ReservedInstancesIds = v + return s +} + +type DeleteQueuedReservedInstancesOutput struct { + _ struct{} `type:"structure"` + + // Information about the queued purchases that could not be deleted. + FailedQueuedPurchaseDeletions []*FailedQueuedPurchaseDeletion `locationName:"failedQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"` + + // Information about the queued purchases that were successfully deleted. + SuccessfulQueuedPurchaseDeletions []*SuccessfulQueuedPurchaseDeletion `locationName:"successfulQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DeleteQueuedReservedInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueuedReservedInstancesOutput) GoString() string { + return s.String() +} + +// SetFailedQueuedPurchaseDeletions sets the FailedQueuedPurchaseDeletions field's value. +func (s *DeleteQueuedReservedInstancesOutput) SetFailedQueuedPurchaseDeletions(v []*FailedQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput { + s.FailedQueuedPurchaseDeletions = v + return s +} + +// SetSuccessfulQueuedPurchaseDeletions sets the SuccessfulQueuedPurchaseDeletions field's value. +func (s *DeleteQueuedReservedInstancesOutput) SetSuccessfulQueuedPurchaseDeletions(v []*SuccessfulQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput { + s.SuccessfulQueuedPurchaseDeletions = v + return s +} + type DeleteRouteInput struct { _ struct{} `type:"structure"` @@ -62439,7 +62635,10 @@ func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptions type EbsBlockDevice struct { _ struct{} `type:"structure"` - // Indicates whether the EBS volume is deleted on instance termination. + // Indicates whether the EBS volume is deleted on instance termination. For + // more information, see Preserving Amazon EBS Volumes on Instance Termination + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) + // in the Amazon Elastic Compute Cloud User Guide. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` // Indicates whether the encryption state of an EBS volume is changed while @@ -64292,6 +64491,39 @@ func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransi return s } +// Describes a Reserved Instance whose queued purchase was not deleted. +type FailedQueuedPurchaseDeletion struct { + _ struct{} `type:"structure"` + + // The error. + Error *DeleteQueuedReservedInstancesError `locationName:"error" type:"structure"` + + // The ID of the Reserved Instance. + ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"` +} + +// String returns the string representation +func (s FailedQueuedPurchaseDeletion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailedQueuedPurchaseDeletion) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *FailedQueuedPurchaseDeletion) SetError(v *DeleteQueuedReservedInstancesError) *FailedQueuedPurchaseDeletion { + s.Error = v + return s +} + +// SetReservedInstancesId sets the ReservedInstancesId field's value. +func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQueuedPurchaseDeletion { + s.ReservedInstancesId = &v + return s +} + // A filter name and value pair that is used to return a more specific list // of results from a describe operation. Filters can be used to match a set // of resources by specific criteria, such as tags, attributes, or IDs. The @@ -80381,6 +80613,9 @@ type PurchaseReservedInstancesOfferingInput struct { // prices. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"` + // The time at which to purchase the Reserved Instance. + PurchaseTime *time.Time `type:"timestamp"` + // The ID of the Reserved Instance offering to purchase. // // ReservedInstancesOfferingId is a required field @@ -80431,6 +80666,12 @@ func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstan return s } +// SetPurchaseTime sets the PurchaseTime field's value. +func (s *PurchaseReservedInstancesOfferingInput) SetPurchaseTime(v time.Time) *PurchaseReservedInstancesOfferingInput { + s.PurchaseTime = &v + return s +} + // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput { s.ReservedInstancesOfferingId = &v @@ -82556,6 +82797,10 @@ type RequestSpotInstancesInput struct { // launch, the request expires, or the request is canceled. If the request is // persistent, the request becomes active at this date and time and remains // active until it expires or is canceled. + // + // The specified start date and time cannot be equal to the current date and + // time. You must specify a start date and time that occurs after the current + // date and time. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"` // The end date of the request. If this is a one-time request, the request remains @@ -90199,6 +90444,30 @@ func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *Suc return s } +// Describes a Reserved Instance whose queued purchase was successfully deleted. +type SuccessfulQueuedPurchaseDeletion struct { + _ struct{} `type:"structure"` + + // The ID of the Reserved Instance. + ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"` +} + +// String returns the string representation +func (s SuccessfulQueuedPurchaseDeletion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuccessfulQueuedPurchaseDeletion) GoString() string { + return s.String() +} + +// SetReservedInstancesId sets the ReservedInstancesId field's value. +func (s *SuccessfulQueuedPurchaseDeletion) SetReservedInstancesId(v string) *SuccessfulQueuedPurchaseDeletion { + s.ReservedInstancesId = &v + return s +} + // Describes a tag. type Tag struct { _ struct{} `type:"structure"` @@ -95771,6 +96040,17 @@ const ( DeleteFleetErrorCodeUnexpectedError = "unexpectedError" ) +const ( + // DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid is a DeleteQueuedReservedInstancesErrorCode enum value + DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid = "reserved-instances-id-invalid" + + // DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState is a DeleteQueuedReservedInstancesErrorCode enum value + DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState = "reserved-instances-not-in-queued-state" + + // DeleteQueuedReservedInstancesErrorCodeUnexpectedError is a DeleteQueuedReservedInstancesErrorCode enum value + DeleteQueuedReservedInstancesErrorCodeUnexpectedError = "unexpected-error" +) + const ( // DeviceTypeEbs is a DeviceType enum value DeviceTypeEbs = "ebs" @@ -97278,6 +97558,12 @@ const ( // ReservedInstanceStateRetired is a ReservedInstanceState enum value ReservedInstanceStateRetired = "retired" + + // ReservedInstanceStateQueued is a ReservedInstanceState enum value + ReservedInstanceStateQueued = "queued" + + // ReservedInstanceStateQueuedDeleted is a ReservedInstanceState enum value + ReservedInstanceStateQueuedDeleted = "queued-deleted" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go index f3d4246019a..6df29f91868 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go @@ -5586,10 +5586,11 @@ func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { type BatchApplyUpdateActionInput struct { _ struct{} `type:"structure"` + // The cache cluster IDs + CacheClusterIds []*string `type:"list"` + // The replication group IDs - // - // ReplicationGroupIds is a required field - ReplicationGroupIds []*string `type:"list" required:"true"` + ReplicationGroupIds []*string `type:"list"` // The unique ID of the service update // @@ -5610,9 +5611,6 @@ func (s BatchApplyUpdateActionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *BatchApplyUpdateActionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} - if s.ReplicationGroupIds == nil { - invalidParams.Add(request.NewErrParamRequired("ReplicationGroupIds")) - } if s.ServiceUpdateName == nil { invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) } @@ -5623,6 +5621,12 @@ func (s *BatchApplyUpdateActionInput) Validate() error { return nil } +// SetCacheClusterIds sets the CacheClusterIds field's value. +func (s *BatchApplyUpdateActionInput) SetCacheClusterIds(v []*string) *BatchApplyUpdateActionInput { + s.CacheClusterIds = v + return s +} + // SetReplicationGroupIds sets the ReplicationGroupIds field's value. func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { s.ReplicationGroupIds = v @@ -5670,10 +5674,11 @@ func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*Unproces type BatchStopUpdateActionInput struct { _ struct{} `type:"structure"` + // The cache cluster IDs + CacheClusterIds []*string `type:"list"` + // The replication group IDs - // - // ReplicationGroupIds is a required field - ReplicationGroupIds []*string `type:"list" required:"true"` + ReplicationGroupIds []*string `type:"list"` // The unique ID of the service update // @@ -5694,9 +5699,6 @@ func (s BatchStopUpdateActionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *BatchStopUpdateActionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} - if s.ReplicationGroupIds == nil { - invalidParams.Add(request.NewErrParamRequired("ReplicationGroupIds")) - } if s.ServiceUpdateName == nil { invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) } @@ -5707,6 +5709,12 @@ func (s *BatchStopUpdateActionInput) Validate() error { return nil } +// SetCacheClusterIds sets the CacheClusterIds field's value. +func (s *BatchStopUpdateActionInput) SetCacheClusterIds(v []*string) *BatchStopUpdateActionInput { + s.CacheClusterIds = v + return s +} + // SetReplicationGroupIds sets the ReplicationGroupIds field's value. func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { s.ReplicationGroupIds = v @@ -6407,6 +6415,94 @@ func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificVa return s } +// The status of the service update on the cache node +type CacheNodeUpdateStatus struct { + _ struct{} `type:"structure"` + + // The node ID of the cache cluster + CacheNodeId *string `type:"string"` + + // The deletion date of the node + NodeDeletionDate *time.Time `type:"timestamp"` + + // The end date of the update for a node + NodeUpdateEndDate *time.Time `type:"timestamp"` + + // Reflects whether the update was initiated by the customer or automatically + // applied + NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` + + // The date when the update is triggered + NodeUpdateInitiatedDate *time.Time `type:"timestamp"` + + // The start date of the update for a node + NodeUpdateStartDate *time.Time `type:"timestamp"` + + // The update status of the node + NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` + + // The date when the NodeUpdateStatus was last modified> + NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s CacheNodeUpdateStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CacheNodeUpdateStatus) GoString() string { + return s.String() +} + +// SetCacheNodeId sets the CacheNodeId field's value. +func (s *CacheNodeUpdateStatus) SetCacheNodeId(v string) *CacheNodeUpdateStatus { + s.CacheNodeId = &v + return s +} + +// SetNodeDeletionDate sets the NodeDeletionDate field's value. +func (s *CacheNodeUpdateStatus) SetNodeDeletionDate(v time.Time) *CacheNodeUpdateStatus { + s.NodeDeletionDate = &v + return s +} + +// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. +func (s *CacheNodeUpdateStatus) SetNodeUpdateEndDate(v time.Time) *CacheNodeUpdateStatus { + s.NodeUpdateEndDate = &v + return s +} + +// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. +func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedBy(v string) *CacheNodeUpdateStatus { + s.NodeUpdateInitiatedBy = &v + return s +} + +// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. +func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *CacheNodeUpdateStatus { + s.NodeUpdateInitiatedDate = &v + return s +} + +// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. +func (s *CacheNodeUpdateStatus) SetNodeUpdateStartDate(v time.Time) *CacheNodeUpdateStatus { + s.NodeUpdateStartDate = &v + return s +} + +// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. +func (s *CacheNodeUpdateStatus) SetNodeUpdateStatus(v string) *CacheNodeUpdateStatus { + s.NodeUpdateStatus = &v + return s +} + +// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. +func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *CacheNodeUpdateStatus { + s.NodeUpdateStatusModifiedDate = &v + return s +} + // Represents the output of a CreateCacheParameterGroup operation. type CacheParameterGroup struct { _ struct{} `type:"structure"` @@ -10213,6 +10309,12 @@ func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshots type DescribeUpdateActionsInput struct { _ struct{} `type:"structure"` + // The cache cluster IDs + CacheClusterIds []*string `type:"list"` + + // The Elasticache engine to which the update applies. Either Redis or Memcached + Engine *string `type:"string"` + // An optional marker returned from a prior request. Use this marker for pagination // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. @@ -10251,6 +10353,18 @@ func (s DescribeUpdateActionsInput) GoString() string { return s.String() } +// SetCacheClusterIds sets the CacheClusterIds field's value. +func (s *DescribeUpdateActionsInput) SetCacheClusterIds(v []*string) *DescribeUpdateActionsInput { + s.CacheClusterIds = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *DescribeUpdateActionsInput) SetEngine(v string) *DescribeUpdateActionsInput { + s.Engine = &v + return s +} + // SetMarker sets the Marker field's value. func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { s.Marker = &v @@ -12385,6 +12499,9 @@ func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues type ProcessedUpdateAction struct { _ struct{} `type:"structure"` + // The ID of the cache cluster + CacheClusterId *string `type:"string"` + // The ID of the replication group ReplicationGroupId *string `type:"string"` @@ -12405,6 +12522,12 @@ func (s ProcessedUpdateAction) GoString() string { return s.String() } +// SetCacheClusterId sets the CacheClusterId field's value. +func (s *ProcessedUpdateAction) SetCacheClusterId(v string) *ProcessedUpdateAction { + s.CacheClusterId = &v + return s +} + // SetReplicationGroupId sets the ReplicationGroupId field's value. func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { s.ReplicationGroupId = &v @@ -13526,10 +13649,11 @@ type ServiceUpdate struct { // recommended apply-by date has expired. AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` - // The Redis engine to which the service update applies + // The Elasticache engine to which the update applies. Either Redis or Memcached Engine *string `type:"string"` - // The Redis engine version to which the service update applies + // The Elasticache engine version to which the update applies. Either Redis + // or Memcached engine version EngineVersion *string `type:"string"` // The estimated length of time the service update will take @@ -14209,6 +14333,9 @@ func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { type UnprocessedUpdateAction struct { _ struct{} `type:"structure"` + // The ID of the cache cluster + CacheClusterId *string `type:"string"` + // The error message that describes the reason the request was not processed ErrorMessage *string `type:"string"` @@ -14232,6 +14359,12 @@ func (s UnprocessedUpdateAction) GoString() string { return s.String() } +// SetCacheClusterId sets the CacheClusterId field's value. +func (s *UnprocessedUpdateAction) SetCacheClusterId(v string) *UnprocessedUpdateAction { + s.CacheClusterId = &v + return s +} + // SetErrorMessage sets the ErrorMessage field's value. func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { s.ErrorMessage = &v @@ -14260,6 +14393,15 @@ func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpd type UpdateAction struct { _ struct{} `type:"structure"` + // The ID of the cache cluster + CacheClusterId *string `type:"string"` + + // The status of the service update on the cache node + CacheNodeUpdateStatus []*CacheNodeUpdateStatus `locationNameList:"CacheNodeUpdateStatus" type:"list"` + + // The Elasticache engine to which the update applies. Either Redis or Memcached + Engine *string `type:"string"` + // The estimated length of time for the update to complete EstimatedUpdateTime *string `type:"string"` @@ -14318,6 +14460,24 @@ func (s UpdateAction) GoString() string { return s.String() } +// SetCacheClusterId sets the CacheClusterId field's value. +func (s *UpdateAction) SetCacheClusterId(v string) *UpdateAction { + s.CacheClusterId = &v + return s +} + +// SetCacheNodeUpdateStatus sets the CacheNodeUpdateStatus field's value. +func (s *UpdateAction) SetCacheNodeUpdateStatus(v []*CacheNodeUpdateStatus) *UpdateAction { + s.CacheNodeUpdateStatus = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *UpdateAction) SetEngine(v string) *UpdateAction { + s.Engine = &v + return s +} + // SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { s.EstimatedUpdateTime = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go index 1396376b54c..d454c11d587 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go @@ -2842,9 +2842,12 @@ type CreateElasticsearchDomainInput struct { // For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html). CognitoOptions *CognitoOptions `type:"structure"` + // Options to specify configuration that will be applied to the domain endpoint. + DomainEndpointOptions *DomainEndpointOptions `type:"structure"` + // The name of the Elasticsearch domain that you are creating. Domain names // are unique across the domains owned by an account within an AWS region. Domain - // names must start with a letter or number and can contain the following characters: + // names must start with a lowercase letter and can contain the following characters: // a-z (lowercase), 0-9, and - (hyphen). // // DomainName is a required field @@ -2937,6 +2940,12 @@ func (s *CreateElasticsearchDomainInput) SetCognitoOptions(v *CognitoOptions) *C return s } +// SetDomainEndpointOptions sets the DomainEndpointOptions field's value. +func (s *CreateElasticsearchDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateElasticsearchDomainInput { + s.DomainEndpointOptions = v + return s +} + // SetDomainName sets the DomainName field's value. func (s *CreateElasticsearchDomainInput) SetDomainName(v string) *CreateElasticsearchDomainInput { s.DomainName = &v @@ -3580,6 +3589,83 @@ func (s *DescribeReservedElasticsearchInstancesOutput) SetReservedElasticsearchI return s } +// Options to configure endpoint for the Elasticsearch domain. +type DomainEndpointOptions struct { + _ struct{} `type:"structure"` + + // Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain. + EnforceHTTPS *bool `type:"boolean"` + + // Specify the TLS security policy that needs to be applied to the HTTPS endpoint + // of Elasticsearch domain. It can be one of the following values: + // * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0 + // and higher. + // + // * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only + // TLSv1.2 + TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"` +} + +// String returns the string representation +func (s DomainEndpointOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainEndpointOptions) GoString() string { + return s.String() +} + +// SetEnforceHTTPS sets the EnforceHTTPS field's value. +func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions { + s.EnforceHTTPS = &v + return s +} + +// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value. +func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions { + s.TLSSecurityPolicy = &v + return s +} + +// The configured endpoint options for the domain and their current status. +type DomainEndpointOptionsStatus struct { + _ struct{} `type:"structure"` + + // Options to configure endpoint for the Elasticsearch domain. + // + // Options is a required field + Options *DomainEndpointOptions `type:"structure" required:"true"` + + // The status of the endpoint options for the Elasticsearch domain. See OptionStatus + // for the status information that's included. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DomainEndpointOptionsStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainEndpointOptionsStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus { + s.Options = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus { + s.Status = v + return s +} + type DomainInfo struct { _ struct{} `type:"structure"` @@ -3830,6 +3916,9 @@ type ElasticsearchDomainConfig struct { // Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html). CognitoOptions *CognitoOptionsStatus `type:"structure"` + // Specifies the DomainEndpointOptions for the Elasticsearch domain. + DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"` + // Specifies the EBSOptions for the Elasticsearch domain. EBSOptions *EBSOptionsStatus `type:"structure"` @@ -3884,6 +3973,12 @@ func (s *ElasticsearchDomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) * return s } +// SetDomainEndpointOptions sets the DomainEndpointOptions field's value. +func (s *ElasticsearchDomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *ElasticsearchDomainConfig { + s.DomainEndpointOptions = v + return s +} + // SetEBSOptions sets the EBSOptions field's value. func (s *ElasticsearchDomainConfig) SetEBSOptions(v *EBSOptionsStatus) *ElasticsearchDomainConfig { s.EBSOptions = v @@ -3963,6 +4058,9 @@ type ElasticsearchDomainStatus struct { // domain is no longer returned. Deleted *bool `type:"boolean"` + // The current status of the Elasticsearch domain's endpoint options. + DomainEndpointOptions *DomainEndpointOptions `type:"structure"` + // The unique identifier for the specified Elasticsearch domain. // // DomainId is a required field @@ -4071,6 +4169,12 @@ func (s *ElasticsearchDomainStatus) SetDeleted(v bool) *ElasticsearchDomainStatu return s } +// SetDomainEndpointOptions sets the DomainEndpointOptions field's value. +func (s *ElasticsearchDomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *ElasticsearchDomainStatus { + s.DomainEndpointOptions = v + return s +} + // SetDomainId sets the DomainId field's value. func (s *ElasticsearchDomainStatus) SetDomainId(v string) *ElasticsearchDomainStatus { s.DomainId = &v @@ -5972,6 +6076,9 @@ type UpdateElasticsearchDomainConfigInput struct { // For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html). CognitoOptions *CognitoOptions `type:"structure"` + // Options to specify configuration that will be applied to the domain endpoint. + DomainEndpointOptions *DomainEndpointOptions `type:"structure"` + // The name of the Elasticsearch domain that you are updating. // // DomainName is a required field @@ -6046,6 +6153,12 @@ func (s *UpdateElasticsearchDomainConfigInput) SetCognitoOptions(v *CognitoOptio return s } +// SetDomainEndpointOptions sets the DomainEndpointOptions field's value. +func (s *UpdateElasticsearchDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateElasticsearchDomainConfigInput { + s.DomainEndpointOptions = v + return s +} + // SetDomainName sets the DomainName field's value. func (s *UpdateElasticsearchDomainConfigInput) SetDomainName(v string) *UpdateElasticsearchDomainConfigInput { s.DomainName = &v @@ -6742,6 +6855,14 @@ const ( ReservedElasticsearchInstancePaymentOptionNoUpfront = "NO_UPFRONT" ) +const ( + // TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value + TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07" + + // TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value + TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07" +) + const ( // UpgradeStatusInProgress is a UpgradeStatus enum value UpgradeStatusInProgress = "IN_PROGRESS" diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go index 944fadc200d..fa8988a22d2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go @@ -3,9 +3,14 @@ // Package elasticsearchservice provides the client and types for making API // requests to Amazon Elasticsearch Service. // -// Use the Amazon Elasticsearch configuration API to create, configure, and +// Use the Amazon Elasticsearch Configuration API to create, configure, and // manage Elasticsearch domains. // +// For sample code that uses the Configuration API, see the Amazon Elasticsearch +// Service Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-configuration-samples.html). +// The guide also contains sample code for sending signed HTTP requests to the +// Elasticsearch APIs (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-request-signing.html). +// // The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. // For example, es.us-east-1.amazonaws.com. For a current list of supported // regions and endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticsearch-service-regions). diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index 8a104bcb000..e5afc32e61a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -109,7 +109,7 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // the destination. The role should allow the Kinesis Data Firehose principal // to assume the role, and the role should have permissions that allow the service // to deliver the data. For more information, see Grant Kinesis Data Firehose -// Access to an Amazon S3 Destination (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) +// Access to an Amazon S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) // in the Amazon Kinesis Data Firehose Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -547,7 +547,7 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // second, 5,000 records per second, or 5 MB per second. If you use PutRecord // and PutRecordBatch, the limits are an aggregate across these two operations // for each delivery stream. For more information about limits and how to request -// an increase, see Amazon Kinesis Data Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// an increase, see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // You must specify the name of the delivery stream and the data record when // using PutRecord. The data record consists of a data blob that can be up to @@ -595,7 +595,7 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // The service is unavailable. Back off and retry the operation. If you continue // to see the exception, throughput limits for the delivery stream may have // been exceeded. For more information about limits and how to request an increase, -// see Amazon Kinesis Data Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/PutRecord func (c *Firehose) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { @@ -672,7 +672,7 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // second, 5,000 records per second, or 5 MB per second. If you use PutRecord // and PutRecordBatch, the limits are an aggregate across these two operations // for each delivery stream. For more information about limits, see Amazon Kinesis -// Data Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // Each PutRecordBatch request supports up to 500 records. Each record in the // request can be as large as 1,000 KB (before 64-bit encoding), up to a limit @@ -745,7 +745,7 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // The service is unavailable. Back off and retry the operation. If you continue // to see the exception, throughput limits for the delivery stream may have // been exceeded. For more information about limits and how to request an increase, -// see Amazon Kinesis Data Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/PutRecordBatch func (c *Firehose) PutRecordBatch(input *PutRecordBatchInput) (*PutRecordBatchOutput, error) { @@ -1299,20 +1299,27 @@ func (c *Firehose) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDe // Describes hints for the buffering to perform before delivering data to the // destination. These options are treated as hints, and therefore Kinesis Data -// Firehose might choose to use different values when it is optimal. +// Firehose might choose to use different values when it is optimal. The SizeInMBs +// and IntervalInSeconds parameters are optional. However, if specify a value +// for one of them, you must also provide a value for the other. type BufferingHints struct { _ struct{} `type:"structure"` // Buffer incoming data for the specified period of time, in seconds, before - // delivering it to the destination. The default value is 300. + // delivering it to the destination. The default value is 300. This parameter + // is optional but if you specify a value for it, you must also specify a value + // for SizeInMBs, and vice versa. IntervalInSeconds *int64 `min:"60" type:"integer"` - // Buffer incoming data to the specified size, in MBs, before delivering it - // to the destination. The default value is 5. + // Buffer incoming data to the specified size, in MiBs, before delivering it + // to the destination. The default value is 5. This parameter is optional but + // if you specify a value for it, you must also specify a value for IntervalInSeconds, + // and vice versa. // // We recommend setting this parameter to a value greater than the amount of // data you typically ingest into the delivery stream in 10 seconds. For example, - // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. + // if you typically ingest data at 1 MiB/sec, the value should be 10 MiB or + // higher. SizeInMBs *int64 `min:"1" type:"integer"` } @@ -1404,7 +1411,7 @@ type CopyCommand struct { // Optional parameters to use with the Amazon Redshift COPY command. For more // information, see the "Optional Parameters" section of Amazon Redshift COPY - // command (http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html). Some + // command (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html). Some // possible examples that would apply to Kinesis Data Firehose are as follows: // // delimiter '\t' lzop; - fields are delimited with "\t" (TAB character) and @@ -1421,7 +1428,7 @@ type CopyCommand struct { // JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path // specified is the format of the data. // - // For more examples, see Amazon Redshift COPY command examples (http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html). + // For more examples, see Amazon Redshift COPY command examples (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html). CopyOptions *string `type:"string"` // A comma-separated list of column names. @@ -2242,13 +2249,17 @@ type ElasticsearchDestinationConfiguration struct { // The Amazon CloudWatch logging options for your delivery stream. CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + // The endpoint to use when communicating with the cluster. Specify either this + // ClusterEndpoint or the DomainARN field. + ClusterEndpoint *string `min:"1" type:"string"` + // The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, // DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after // assuming the role specified in RoleARN. For more information, see Amazon // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). // - // DomainARN is a required field - DomainARN *string `min:"1" type:"string" required:"true"` + // Specify either ClusterEndpoint or DomainARN. + DomainARN *string `min:"1" type:"string"` // The Elasticsearch index name. // @@ -2257,7 +2268,7 @@ type ElasticsearchDestinationConfiguration struct { // The Elasticsearch index rotation period. Index rotation appends a timestamp // to the IndexName to facilitate the expiration of old data. For more information, - // see Index Rotation for the Amazon ES Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). + // see Index Rotation for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). // The default value is OneDay. IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` @@ -2271,7 +2282,7 @@ type ElasticsearchDestinationConfiguration struct { // The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data // Firehose for calling the Amazon ES Configuration API and for indexing documents. // For more information, see Grant Kinesis Data Firehose Access to an Amazon - // S3 Destination (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) + // S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) // and Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). // // RoleARN is a required field @@ -2283,7 +2294,7 @@ type ElasticsearchDestinationConfiguration struct { // appended to the key prefix. When set to AllDocuments, Kinesis Data Firehose // delivers all incoming records to Amazon S3, and also writes failed documents // with elasticsearch-failed/ appended to the prefix. For more information, - // see Amazon S3 Backup for the Amazon ES Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). + // see Amazon S3 Backup for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). // Default value is FailedDocumentsOnly. S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` @@ -2297,8 +2308,8 @@ type ElasticsearchDestinationConfiguration struct { // already has another type, Kinesis Data Firehose returns an error during run // time. // - // TypeName is a required field - TypeName *string `min:"1" type:"string" required:"true"` + // For Elasticsearch 7.x, don't specify a TypeName. + TypeName *string `type:"string"` } // String returns the string representation @@ -2314,8 +2325,8 @@ func (s ElasticsearchDestinationConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ElasticsearchDestinationConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDestinationConfiguration"} - if s.DomainARN == nil { - invalidParams.Add(request.NewErrParamRequired("DomainARN")) + if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) } if s.DomainARN != nil && len(*s.DomainARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) @@ -2335,12 +2346,6 @@ func (s *ElasticsearchDestinationConfiguration) Validate() error { if s.S3Configuration == nil { invalidParams.Add(request.NewErrParamRequired("S3Configuration")) } - if s.TypeName == nil { - invalidParams.Add(request.NewErrParamRequired("TypeName")) - } - if s.TypeName != nil && len(*s.TypeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) - } if s.BufferingHints != nil { if err := s.BufferingHints.Validate(); err != nil { invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) @@ -2375,6 +2380,12 @@ func (s *ElasticsearchDestinationConfiguration) SetCloudWatchLoggingOptions(v *C return s } +// SetClusterEndpoint sets the ClusterEndpoint field's value. +func (s *ElasticsearchDestinationConfiguration) SetClusterEndpoint(v string) *ElasticsearchDestinationConfiguration { + s.ClusterEndpoint = &v + return s +} + // SetDomainARN sets the DomainARN field's value. func (s *ElasticsearchDestinationConfiguration) SetDomainARN(v string) *ElasticsearchDestinationConfiguration { s.DomainARN = &v @@ -2439,8 +2450,16 @@ type ElasticsearchDestinationDescription struct { // The Amazon CloudWatch logging options. CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + // The endpoint to use when communicating with the cluster. Kinesis Data Firehose + // uses either this ClusterEndpoint or the DomainARN field to send data to Amazon + // ES. + ClusterEndpoint *string `min:"1" type:"string"` + // The ARN of the Amazon ES domain. For more information, see Amazon Resource // Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + // + // Kinesis Data Firehose uses either ClusterEndpoint or DomainARN to send data + // to Amazon ES. DomainARN *string `min:"1" type:"string"` // The Elasticsearch index name. @@ -2465,8 +2484,9 @@ type ElasticsearchDestinationDescription struct { // The Amazon S3 destination. S3DestinationDescription *S3DestinationDescription `type:"structure"` - // The Elasticsearch type name. - TypeName *string `min:"1" type:"string"` + // The Elasticsearch type name. This applies to Elasticsearch 6.x and lower + // versions. For Elasticsearch 7.x, there's no value for TypeName. + TypeName *string `type:"string"` } // String returns the string representation @@ -2491,6 +2511,12 @@ func (s *ElasticsearchDestinationDescription) SetCloudWatchLoggingOptions(v *Clo return s } +// SetClusterEndpoint sets the ClusterEndpoint field's value. +func (s *ElasticsearchDestinationDescription) SetClusterEndpoint(v string) *ElasticsearchDestinationDescription { + s.ClusterEndpoint = &v + return s +} + // SetDomainARN sets the DomainARN field's value. func (s *ElasticsearchDestinationDescription) SetDomainARN(v string) *ElasticsearchDestinationDescription { s.DomainARN = &v @@ -2556,10 +2582,16 @@ type ElasticsearchDestinationUpdate struct { // The CloudWatch logging options for your delivery stream. CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + // The endpoint to use when communicating with the cluster. Specify either this + // ClusterEndpoint or the DomainARN field. + ClusterEndpoint *string `min:"1" type:"string"` + // The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, // DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after // assuming the IAM role specified in RoleARN. For more information, see Amazon // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + // + // Specify either ClusterEndpoint or DomainARN. DomainARN *string `min:"1" type:"string"` // The Elasticsearch index name. @@ -2567,7 +2599,7 @@ type ElasticsearchDestinationUpdate struct { // The Elasticsearch index rotation period. Index rotation appends a timestamp // to IndexName to facilitate the expiration of old data. For more information, - // see Index Rotation for the Amazon ES Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). + // see Index Rotation for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). // Default value is OneDay. IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` @@ -2581,7 +2613,7 @@ type ElasticsearchDestinationUpdate struct { // The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data // Firehose for calling the Amazon ES Configuration API and for indexing documents. // For more information, see Grant Kinesis Data Firehose Access to an Amazon - // S3 Destination (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) + // S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) // and Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). RoleARN *string `min:"1" type:"string"` @@ -2591,7 +2623,12 @@ type ElasticsearchDestinationUpdate struct { // The Elasticsearch type name. For Elasticsearch 6.x, there can be only one // type per index. If you try to specify a new type for an existing index that // already has another type, Kinesis Data Firehose returns an error during runtime. - TypeName *string `min:"1" type:"string"` + // + // If you upgrade Elasticsearch from 6.x to 7.x and don’t update your delivery + // stream, Kinesis Data Firehose still delivers data to Elasticsearch with the + // old index name and type name. If you want to update your delivery stream + // with a new index name, provide an empty string for TypeName. + TypeName *string `type:"string"` } // String returns the string representation @@ -2607,6 +2644,9 @@ func (s ElasticsearchDestinationUpdate) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ElasticsearchDestinationUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDestinationUpdate"} + if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) + } if s.DomainARN != nil && len(*s.DomainARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) } @@ -2616,9 +2656,6 @@ func (s *ElasticsearchDestinationUpdate) Validate() error { if s.RoleARN != nil && len(*s.RoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) } - if s.TypeName != nil && len(*s.TypeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) - } if s.BufferingHints != nil { if err := s.BufferingHints.Validate(); err != nil { invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) @@ -2653,6 +2690,12 @@ func (s *ElasticsearchDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWat return s } +// SetClusterEndpoint sets the ClusterEndpoint field's value. +func (s *ElasticsearchDestinationUpdate) SetClusterEndpoint(v string) *ElasticsearchDestinationUpdate { + s.ClusterEndpoint = &v + return s +} + // SetDomainARN sets the DomainARN field's value. func (s *ElasticsearchDestinationUpdate) SetDomainARN(v string) *ElasticsearchDestinationUpdate { s.DomainARN = &v @@ -2808,15 +2851,13 @@ type ExtendedS3DestinationConfiguration struct { // A prefix that Kinesis Data Firehose evaluates and adds to failed records // before writing them to S3. This prefix appears immediately following the - // bucket name. + // bucket name. For information about how to specify this prefix, see Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). ErrorOutputPrefix *string `type:"string"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered - // Amazon S3 files. You can specify an extra prefix to be added in front of - // the time format prefix. If the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) - // in the Amazon Kinesis Data Firehose Developer Guide. + // Amazon S3 files. You can also specify a custom prefix, as described in Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). Prefix *string `type:"string"` // The data processing configuration. @@ -2999,15 +3040,13 @@ type ExtendedS3DestinationDescription struct { // A prefix that Kinesis Data Firehose evaluates and adds to failed records // before writing them to S3. This prefix appears immediately following the - // bucket name. + // bucket name. For information about how to specify this prefix, see Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). ErrorOutputPrefix *string `type:"string"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered - // Amazon S3 files. You can specify an extra prefix to be added in front of - // the time format prefix. If the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) - // in the Amazon Kinesis Data Firehose Developer Guide. + // Amazon S3 files. You can also specify a custom prefix, as described in Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). Prefix *string `type:"string"` // The data processing configuration. @@ -3135,15 +3174,13 @@ type ExtendedS3DestinationUpdate struct { // A prefix that Kinesis Data Firehose evaluates and adds to failed records // before writing them to S3. This prefix appears immediately following the - // bucket name. + // bucket name. For information about how to specify this prefix, see Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). ErrorOutputPrefix *string `type:"string"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered - // Amazon S3 files. You can specify an extra prefix to be added in front of - // the time format prefix. If the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) - // in the Amazon Kinesis Data Firehose Developer Guide. + // Amazon S3 files. You can also specify a custom prefix, as described in Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). Prefix *string `type:"string"` // The data processing configuration. @@ -5046,15 +5083,13 @@ type S3DestinationConfiguration struct { // A prefix that Kinesis Data Firehose evaluates and adds to failed records // before writing them to S3. This prefix appears immediately following the - // bucket name. + // bucket name. For information about how to specify this prefix, see Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). ErrorOutputPrefix *string `type:"string"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered - // Amazon S3 files. You can specify an extra prefix to be added in front of - // the time format prefix. If the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) - // in the Amazon Kinesis Data Firehose Developer Guide. + // Amazon S3 files. You can also specify a custom prefix, as described in Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). Prefix *string `type:"string"` // The Amazon Resource Name (ARN) of the AWS credentials. For more information, @@ -5186,15 +5221,13 @@ type S3DestinationDescription struct { // A prefix that Kinesis Data Firehose evaluates and adds to failed records // before writing them to S3. This prefix appears immediately following the - // bucket name. + // bucket name. For information about how to specify this prefix, see Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). ErrorOutputPrefix *string `type:"string"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered - // Amazon S3 files. You can specify an extra prefix to be added in front of - // the time format prefix. If the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) - // in the Amazon Kinesis Data Firehose Developer Guide. + // Amazon S3 files. You can also specify a custom prefix, as described in Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). Prefix *string `type:"string"` // The Amazon Resource Name (ARN) of the AWS credentials. For more information, @@ -5290,15 +5323,13 @@ type S3DestinationUpdate struct { // A prefix that Kinesis Data Firehose evaluates and adds to failed records // before writing them to S3. This prefix appears immediately following the - // bucket name. + // bucket name. For information about how to specify this prefix, see Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). ErrorOutputPrefix *string `type:"string"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered - // Amazon S3 files. You can specify an extra prefix to be added in front of - // the time format prefix. If the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) - // in the Amazon Kinesis Data Firehose Developer Guide. + // Amazon S3 files. You can also specify a custom prefix, as described in Custom + // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). Prefix *string `type:"string"` // The Amazon Resource Name (ARN) of the AWS credentials. For more information, diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go index d70656e3e3e..762ed0eb390 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go @@ -41,6 +41,6 @@ const ( // The service is unavailable. Back off and retry the operation. If you continue // to see the exception, throughput limits for the delivery stream may have // been exceeded. For more information about limits and how to request an increase, - // see Amazon Kinesis Data Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). + // see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). ErrCodeServiceUnavailableException = "ServiceUnavailableException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index 153514a4bc3..671905672c3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -14578,6 +14578,25 @@ type Connection struct { // * JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether // Secure Sockets Layer (SSL) with hostname matching is enforced for the // JDBC connection on the client. The default is false. + // + // * CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root + // certificate. AWS Glue uses this root certificate to validate the customer’s + // certificate when connecting to the customer database. AWS Glue only handles + // X.509 certificates. The certificate provided must be DER-encoded and supplied + // in Base64 encoding PEM format. + // + // * SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. AWS Glue + // validates the Signature algorithm and Subject Public Key Algorithm for + // the customer certificate. The only permitted algorithms for the Signature + // algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject + // Public Key Algorithm, the key length must be at least 2048. You can set + // the value of this property to true to skip AWS Glue’s validation of + // the customer certificate. + // + // * CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is + // used for domain match or distinguished name match to prevent a man-in-the-middle + // attack. In Oracle database, this is used as the SSL_SERVER_CERT_DN; in + // Microsoft SQL Server, this is used as the hostNameInCertificate. ConnectionProperties map[string]*string `type:"map"` // The type of the connection. Currently, only JDBC is supported; SFTP is not @@ -26492,6 +26511,11 @@ type PartitionInput struct { // The values of the partition. Although this parameter is not required by the // SDK, you must specify this parameter for a valid input. + // + // The values for the keys for the new partition must be passed as an array + // of String objects that must be ordered in the same order as the partition + // keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values + // to the wrong keys. Values []*string `type:"list"` } @@ -27696,11 +27720,14 @@ func (s *SkewedInfo) SetSkewedColumnValues(v []*string) *SkewedInfo { return s } +// Specifies a field to sort by and a sort order. type SortCriterion struct { _ struct{} `type:"structure"` + // The name of the field on which to sort. FieldName *string `type:"string"` + // An ascending or descending sort. Sort *string `type:"string" enum:"Sort"` } @@ -32467,6 +32494,15 @@ const ( // ConnectionPropertyKeyJdbcEnforceSsl is a ConnectionPropertyKey enum value ConnectionPropertyKeyJdbcEnforceSsl = "JDBC_ENFORCE_SSL" + + // ConnectionPropertyKeyCustomJdbcCert is a ConnectionPropertyKey enum value + ConnectionPropertyKeyCustomJdbcCert = "CUSTOM_JDBC_CERT" + + // ConnectionPropertyKeySkipCustomJdbcCertValidation is a ConnectionPropertyKey enum value + ConnectionPropertyKeySkipCustomJdbcCertValidation = "SKIP_CUSTOM_JDBC_CERT_VALIDATION" + + // ConnectionPropertyKeyCustomJdbcCertString is a ConnectionPropertyKey enum value + ConnectionPropertyKeyCustomJdbcCertString = "CUSTOM_JDBC_CERT_STRING" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go index bef73a71c73..ce7262a6ac3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go @@ -1990,7 +1990,13 @@ func (s *BrokerEBSVolumeInfo) SetVolumeSizeGB(v int64) *BrokerEBSVolumeInfo { type BrokerNodeGroupInfo struct { _ struct{} `type:"structure"` - // The distribution of broker nodes across Availability Zones. + // The distribution of broker nodes across Availability Zones. This is an optional + // parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. + // You can also explicitly set this parameter to the value DEFAULT. No other + // values are currently allowed. + // + // Amazon MSK distributes the broker nodes evenly across the Availability Zones + // that correspond to the subnets you provide when you create the cluster. BrokerAZDistribution *string `locationName:"brokerAZDistribution" type:"string" enum:"BrokerAZDistribution"` // The list of subnets to connect to in the client virtual private cloud (VPC). @@ -4771,10 +4777,13 @@ func (s *ZookeeperNodeInfo) SetZookeeperVersion(v string) *ZookeeperNodeInfo { return s } -// The distribution of broker nodes across Availability Zones. By default, broker -// nodes are distributed among three Availability Zones. Currently, the only -// supported value is DEFAULT. You can either specify this value explicitly -// or leave it out. +// The distribution of broker nodes across Availability Zones. This is an optional +// parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. +// You can also explicitly set this parameter to the value DEFAULT. No other +// values are currently allowed. +// +// Amazon MSK distributes the broker nodes evenly across the Availability Zones +// that correspond to the subnets you provide when you create the cluster. const ( // BrokerAZDistributionDefault is a BrokerAZDistribution enum value BrokerAZDistributionDefault = "DEFAULT" diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go index d35e2e70b09..ca6b366b246 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go @@ -2781,7 +2781,8 @@ func (s *Ac3Settings) SetSampleRate(v int64) *Ac3Settings { type AccelerationSettings struct { _ struct{} `type:"structure"` - // Acceleration configuration for the job. + // Specify the conditions when the service will run your job with accelerated + // transcoding. // // Mode is a required field Mode *string `locationName:"mode" type:"string" required:"true" enum:"AccelerationMode"` @@ -4608,6 +4609,14 @@ type CmafGroupSettings struct { // to 1, your final segment is 3.5 seconds. MinFinalSegmentLength *float64 `locationName:"minFinalSegmentLength" type:"double"` + // Specify whether your DASH profile is on-demand or main. When you choose Main + // profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 + // in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), + // the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. + // When you choose On-demand, you must also set the output group setting Segment + // control (SegmentControl) to Single file (SINGLE_FILE). + MpdProfile *string `locationName:"mpdProfile" type:"string" enum:"CmafMpdProfile"` + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -4731,6 +4740,12 @@ func (s *CmafGroupSettings) SetMinFinalSegmentLength(v float64) *CmafGroupSettin return s } +// SetMpdProfile sets the MpdProfile field's value. +func (s *CmafGroupSettings) SetMpdProfile(v string) *CmafGroupSettings { + s.MpdProfile = &v + return s +} + // SetSegmentControl sets the SegmentControl field's value. func (s *CmafGroupSettings) SetSegmentControl(v string) *CmafGroupSettings { s.SegmentControl = &v @@ -5027,6 +5042,10 @@ type CreateJobInput struct { // your job to the time it completes the transcode or encounters an error. StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"` + // The tags that you want to add to the resource. You can tag resources with + // a key-value pair or with only a key. + Tags map[string]*string `locationName:"tags" type:"map"` + // User-defined metadata that you want to associate with an MediaConvert job. // You specify metadata in key/value pairs. UserMetadata map[string]*string `locationName:"userMetadata" type:"map"` @@ -5131,6 +5150,12 @@ func (s *CreateJobInput) SetStatusUpdateInterval(v string) *CreateJobInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateJobInput) SetTags(v map[string]*string) *CreateJobInput { + s.Tags = v + return s +} + // SetUserMetadata sets the UserMetadata field's value. func (s *CreateJobInput) SetUserMetadata(v map[string]*string) *CreateJobInput { s.UserMetadata = v @@ -5651,6 +5676,14 @@ type DashIsoGroupSettings struct { // playout. MinBufferTime *int64 `locationName:"minBufferTime" type:"integer"` + // Specify whether your DASH profile is on-demand or main. When you choose Main + // profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 + // in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), + // the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. + // When you choose On-demand, you must also set the output group setting Segment + // control (SegmentControl) to Single file (SINGLE_FILE). + MpdProfile *string `locationName:"mpdProfile" type:"string" enum:"DashIsoMpdProfile"` + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -5663,12 +5696,13 @@ type DashIsoGroupSettings struct { // files as in other output types. SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` - // When you enable Precise segment duration in manifests (writeSegmentTimelineInRepresentation), - // your DASH manifest shows precise segment durations. The segment duration - // information appears inside the SegmentTimeline element, inside SegmentTemplate - // at the Representation level. When this feature isn't enabled, the segment - // durations in your DASH manifest are approximate. The segment duration information - // appears in the duration attribute of the SegmentTemplate element. + // If you get an HTTP error in the 400 range when you play back your DASH output, + // enable this setting and run your transcoding job again. When you enable this + // setting, the service writes precise segment durations in the DASH manifest. + // The segment duration information appears inside the SegmentTimeline element, + // inside SegmentTemplate at the Representation level. When you don't enable + // this setting, the service writes approximate segment durations in your DASH + // manifest. WriteSegmentTimelineInRepresentation *string `locationName:"writeSegmentTimelineInRepresentation" type:"string" enum:"DashIsoWriteSegmentTimelineInRepresentation"` } @@ -5740,6 +5774,12 @@ func (s *DashIsoGroupSettings) SetMinBufferTime(v int64) *DashIsoGroupSettings { return s } +// SetMpdProfile sets the MpdProfile field's value. +func (s *DashIsoGroupSettings) SetMpdProfile(v string) *DashIsoGroupSettings { + s.MpdProfile = &v + return s +} + // SetSegmentControl sets the SegmentControl field's value. func (s *DashIsoGroupSettings) SetSegmentControl(v string) *DashIsoGroupSettings { s.SegmentControl = &v @@ -8623,17 +8663,16 @@ type H265Settings struct { // Inserts timecode for each frame as 4 bytes of an unregistered SEI message. UnregisteredSeiTimecode *string `locationName:"unregisteredSeiTimecode" type:"string" enum:"H265UnregisteredSeiTimecode"` - // Use this setting only for outputs encoded with H.265 that are in CMAF or - // DASH output groups. If you include writeMp4PackagingType in your JSON job - // specification for other outputs, your video might not work properly with - // downstream systems and video players. If the location of parameter set NAL - // units don't matter in your workflow, ignore this setting. The service defaults - // to marking your output as HEV1. Choose HVC1 to mark your output as HVC1. - // This makes your output compliant with this specification: ISO IECJTC1 SC29 - // N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service - // stores parameter set NAL units in the sample headers but not in the samples - // directly. Keep the default HEV1 to mark your output as HEV1. For these outputs, - // the service writes parameter set NAL units directly into the samples. + // If the location of parameter set NAL units doesn't matter in your workflow, + // ignore this setting. Use this setting in your CMAF, DASH, or file MP4 output. + // For file MP4 outputs, choosing HVC1 can create video that doesn't work properly + // with some downstream systems and video players. Choose HVC1 to mark your + // output as HVC1. This makes your output compliant with the following specification: + // ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these + // outputs, the service stores parameter set NAL units in the sample headers + // but not in the samples directly. The service defaults to marking your output + // as HEV1. For these outputs, the service writes parameter set NAL units directly + // into the samples. WriteMp4PackagingType *string `locationName:"writeMp4PackagingType" type:"string" enum:"H265WriteMp4PackagingType"` } @@ -10486,8 +10525,8 @@ type InsertableImage struct { // blank. Height *int64 `locationName:"height" type:"integer"` - // Specify the Amazon S3 location of the image that you want to overlay on the - // video. Use a PNG or TGA file. + // Specify the HTTP, HTTPS, or Amazon S3 location of the image that you want + // to overlay on the video. Use a PNG or TGA file. ImageInserterInput *string `locationName:"imageInserterInput" min:"14" type:"string"` // Specify the distance, in pixels, between the inserted image and the left @@ -10617,6 +10656,19 @@ type Job struct { // complex content. AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` + // Describes whether the current job is running with accelerated transcoding. + // For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus + // is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) + // set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. + // AccelerationStatus is IN_PROGRESS initially, while the service determines + // whether the input files and job settings are compatible with accelerated + // transcoding. If they are, AcclerationStatus is ACCELERATED. If your input + // files and job settings aren't compatible with accelerated transcoding, the + // service either fails your job or runs it without accelerated transcoding, + // depending on how you set Acceleration (AccelerationMode). When the service + // runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED. + AccelerationStatus *string `locationName:"accelerationStatus" type:"string" enum:"AccelerationStatus"` + // An identifier for this resource that is unique within all of AWS. Arn *string `locationName:"arn" type:"string"` @@ -10657,6 +10709,10 @@ type Job struct { // template. JobTemplate *string `locationName:"jobTemplate" type:"string"` + // Provides messages from the service about jobs that you have already successfully + // submitted. + Messages *JobMessages `locationName:"messages" type:"structure"` + // List of output group details OutputGroupDetails []*OutputGroupDetail `locationName:"outputGroupDetails" type:"list"` @@ -10723,6 +10779,12 @@ func (s *Job) SetAccelerationSettings(v *AccelerationSettings) *Job { return s } +// SetAccelerationStatus sets the AccelerationStatus field's value. +func (s *Job) SetAccelerationStatus(v string) *Job { + s.AccelerationStatus = &v + return s +} + // SetArn sets the Arn field's value. func (s *Job) SetArn(v string) *Job { s.Arn = &v @@ -10777,6 +10839,12 @@ func (s *Job) SetJobTemplate(v string) *Job { return s } +// SetMessages sets the Messages field's value. +func (s *Job) SetMessages(v *JobMessages) *Job { + s.Messages = v + return s +} + // SetOutputGroupDetails sets the OutputGroupDetails field's value. func (s *Job) SetOutputGroupDetails(v []*OutputGroupDetail) *Job { s.OutputGroupDetails = v @@ -10843,6 +10911,42 @@ func (s *Job) SetUserMetadata(v map[string]*string) *Job { return s } +// Provides messages from the service about jobs that you have already successfully +// submitted. +type JobMessages struct { + _ struct{} `type:"structure"` + + // List of messages that are informational only and don't indicate a problem + // with your job. + Info []*string `locationName:"info" type:"list"` + + // List of messages that warn about conditions that might cause your job not + // to run or to fail. + Warning []*string `locationName:"warning" type:"list"` +} + +// String returns the string representation +func (s JobMessages) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobMessages) GoString() string { + return s.String() +} + +// SetInfo sets the Info field's value. +func (s *JobMessages) SetInfo(v []*string) *JobMessages { + s.Info = v + return s +} + +// SetWarning sets the Warning field's value. +func (s *JobMessages) SetWarning(v []*string) *JobMessages { + s.Warning = v + return s +} + // JobSettings contains all the transcode settings for a job. type JobSettings struct { _ struct{} `type:"structure"` @@ -16980,14 +17084,47 @@ const ( Ac3MetadataControlUseConfigured = "USE_CONFIGURED" ) -// Enable Acceleration (AccelerationMode) on any job that you want processed -// with accelerated transcoding. +// Specify whether the service runs your job with accelerated transcoding. Choose +// DISABLED if you don't want accelerated transcoding. Choose ENABLED if you +// want your job to run with accelerated transcoding and to fail if your input +// files or your job settings aren't compatible with accelerated transcoding. +// Choose PREFERRED if you want your job to run with accelerated transcoding +// if the job is compatible with the feature and to run at standard speed if +// it's not. const ( // AccelerationModeDisabled is a AccelerationMode enum value AccelerationModeDisabled = "DISABLED" // AccelerationModeEnabled is a AccelerationMode enum value AccelerationModeEnabled = "ENABLED" + + // AccelerationModePreferred is a AccelerationMode enum value + AccelerationModePreferred = "PREFERRED" +) + +// Describes whether the current job is running with accelerated transcoding. +// For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus +// is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) +// set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. +// AccelerationStatus is IN_PROGRESS initially, while the service determines +// whether the input files and job settings are compatible with accelerated +// transcoding. If they are, AcclerationStatus is ACCELERATED. If your input +// files and job settings aren't compatible with accelerated transcoding, the +// service either fails your job or runs it without accelerated transcoding, +// depending on how you set Acceleration (AccelerationMode). When the service +// runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED. +const ( + // AccelerationStatusNotApplicable is a AccelerationStatus enum value + AccelerationStatusNotApplicable = "NOT_APPLICABLE" + + // AccelerationStatusInProgress is a AccelerationStatus enum value + AccelerationStatusInProgress = "IN_PROGRESS" + + // AccelerationStatusAccelerated is a AccelerationStatus enum value + AccelerationStatusAccelerated = "ACCELERATED" + + // AccelerationStatusNotAccelerated is a AccelerationStatus enum value + AccelerationStatusNotAccelerated = "NOT_ACCELERATED" ) // This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert @@ -17184,6 +17321,9 @@ const ( // BillingTagsSourceJobTemplate is a BillingTagsSource enum value BillingTagsSourceJobTemplate = "JOB_TEMPLATE" + + // BillingTagsSourceJob is a BillingTagsSource enum value + BillingTagsSourceJob = "JOB" ) // If no explicit x_position or y_position is provided, setting alignment to @@ -17442,6 +17582,20 @@ const ( CmafManifestDurationFormatInteger = "INTEGER" ) +// Specify whether your DASH profile is on-demand or main. When you choose Main +// profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 +// in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), +// the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. +// When you choose On-demand, you must also set the output group setting Segment +// control (SegmentControl) to Single file (SINGLE_FILE). +const ( + // CmafMpdProfileMainProfile is a CmafMpdProfile enum value + CmafMpdProfileMainProfile = "MAIN_PROFILE" + + // CmafMpdProfileOnDemandProfile is a CmafMpdProfile enum value + CmafMpdProfileOnDemandProfile = "ON_DEMAND_PROFILE" +) + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -17605,6 +17759,20 @@ const ( DashIsoHbbtvComplianceNone = "NONE" ) +// Specify whether your DASH profile is on-demand or main. When you choose Main +// profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 +// in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), +// the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. +// When you choose On-demand, you must also set the output group setting Segment +// control (SegmentControl) to Single file (SINGLE_FILE). +const ( + // DashIsoMpdProfileMainProfile is a DashIsoMpdProfile enum value + DashIsoMpdProfileMainProfile = "MAIN_PROFILE" + + // DashIsoMpdProfileOnDemandProfile is a DashIsoMpdProfile enum value + DashIsoMpdProfileOnDemandProfile = "ON_DEMAND_PROFILE" +) + // This setting can improve the compatibility of your output with video players // on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption. // Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback @@ -18896,17 +19064,16 @@ const ( H265UnregisteredSeiTimecodeEnabled = "ENABLED" ) -// Use this setting only for outputs encoded with H.265 that are in CMAF or -// DASH output groups. If you include writeMp4PackagingType in your JSON job -// specification for other outputs, your video might not work properly with -// downstream systems and video players. If the location of parameter set NAL -// units don't matter in your workflow, ignore this setting. The service defaults -// to marking your output as HEV1. Choose HVC1 to mark your output as HVC1. -// This makes your output compliant with this specification: ISO IECJTC1 SC29 -// N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service -// stores parameter set NAL units in the sample headers but not in the samples -// directly. Keep the default HEV1 to mark your output as HEV1. For these outputs, -// the service writes parameter set NAL units directly into the samples. +// If the location of parameter set NAL units doesn't matter in your workflow, +// ignore this setting. Use this setting in your CMAF, DASH, or file MP4 output. +// For file MP4 outputs, choosing HVC1 can create video that doesn't work properly +// with some downstream systems and video players. Choose HVC1 to mark your +// output as HVC1. This makes your output compliant with the following specification: +// ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these +// outputs, the service stores parameter set NAL units in the sample headers +// but not in the samples directly. The service defaults to marking your output +// as HEV1. For these outputs, the service writes parameter set NAL units directly +// into the samples. const ( // H265WriteMp4PackagingTypeHvc1 is a H265WriteMp4PackagingType enum value H265WriteMp4PackagingTypeHvc1 = "HVC1" diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go index b5e271fab16..30f80e20c54 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go @@ -100,6 +100,94 @@ func (c *MediaPackage) CreateChannelWithContext(ctx aws.Context, input *CreateCh return out, req.Send() } +const opCreateHarvestJob = "CreateHarvestJob" + +// CreateHarvestJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateHarvestJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateHarvestJob for more information on using the CreateHarvestJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateHarvestJobRequest method. +// req, resp := client.CreateHarvestJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateHarvestJob +func (c *MediaPackage) CreateHarvestJobRequest(input *CreateHarvestJobInput) (req *request.Request, output *CreateHarvestJobOutput) { + op := &request.Operation{ + Name: opCreateHarvestJob, + HTTPMethod: "POST", + HTTPPath: "/harvest_jobs", + } + + if input == nil { + input = &CreateHarvestJobInput{} + } + + output = &CreateHarvestJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateHarvestJob API operation for AWS Elemental MediaPackage. +// +// Creates a new HarvestJob record. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage's +// API operation CreateHarvestJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/CreateHarvestJob +func (c *MediaPackage) CreateHarvestJob(input *CreateHarvestJobInput) (*CreateHarvestJobOutput, error) { + req, out := c.CreateHarvestJobRequest(input) + return out, req.Send() +} + +// CreateHarvestJobWithContext is the same as CreateHarvestJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateHarvestJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaPackage) CreateHarvestJobWithContext(ctx aws.Context, input *CreateHarvestJobInput, opts ...request.Option) (*CreateHarvestJobOutput, error) { + req, out := c.CreateHarvestJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateOriginEndpoint = "CreateOriginEndpoint" // CreateOriginEndpointRequest generates a "aws/request.Request" representing the @@ -454,6 +542,94 @@ func (c *MediaPackage) DescribeChannelWithContext(ctx aws.Context, input *Descri return out, req.Send() } +const opDescribeHarvestJob = "DescribeHarvestJob" + +// DescribeHarvestJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHarvestJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeHarvestJob for more information on using the DescribeHarvestJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeHarvestJobRequest method. +// req, resp := client.DescribeHarvestJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeHarvestJob +func (c *MediaPackage) DescribeHarvestJobRequest(input *DescribeHarvestJobInput) (req *request.Request, output *DescribeHarvestJobOutput) { + op := &request.Operation{ + Name: opDescribeHarvestJob, + HTTPMethod: "GET", + HTTPPath: "/harvest_jobs/{id}", + } + + if input == nil { + input = &DescribeHarvestJobInput{} + } + + output = &DescribeHarvestJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeHarvestJob API operation for AWS Elemental MediaPackage. +// +// Gets details about an existing HarvestJob. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage's +// API operation DescribeHarvestJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeHarvestJob +func (c *MediaPackage) DescribeHarvestJob(input *DescribeHarvestJobInput) (*DescribeHarvestJobOutput, error) { + req, out := c.DescribeHarvestJobRequest(input) + return out, req.Send() +} + +// DescribeHarvestJobWithContext is the same as DescribeHarvestJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeHarvestJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaPackage) DescribeHarvestJobWithContext(ctx aws.Context, input *DescribeHarvestJobInput, opts ...request.Option) (*DescribeHarvestJobOutput, error) { + req, out := c.DescribeHarvestJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeOriginEndpoint = "DescribeOriginEndpoint" // DescribeOriginEndpointRequest generates a "aws/request.Request" representing the @@ -686,6 +862,150 @@ func (c *MediaPackage) ListChannelsPagesWithContext(ctx aws.Context, input *List return p.Err() } +const opListHarvestJobs = "ListHarvestJobs" + +// ListHarvestJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListHarvestJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListHarvestJobs for more information on using the ListHarvestJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListHarvestJobsRequest method. +// req, resp := client.ListHarvestJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListHarvestJobs +func (c *MediaPackage) ListHarvestJobsRequest(input *ListHarvestJobsInput) (req *request.Request, output *ListHarvestJobsOutput) { + op := &request.Operation{ + Name: opListHarvestJobs, + HTTPMethod: "GET", + HTTPPath: "/harvest_jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListHarvestJobsInput{} + } + + output = &ListHarvestJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListHarvestJobs API operation for AWS Elemental MediaPackage. +// +// Returns a collection of HarvestJob records. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaPackage's +// API operation ListHarvestJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListHarvestJobs +func (c *MediaPackage) ListHarvestJobs(input *ListHarvestJobsInput) (*ListHarvestJobsOutput, error) { + req, out := c.ListHarvestJobsRequest(input) + return out, req.Send() +} + +// ListHarvestJobsWithContext is the same as ListHarvestJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListHarvestJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaPackage) ListHarvestJobsWithContext(ctx aws.Context, input *ListHarvestJobsInput, opts ...request.Option) (*ListHarvestJobsOutput, error) { + req, out := c.ListHarvestJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListHarvestJobsPages iterates over the pages of a ListHarvestJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHarvestJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListHarvestJobs operation. +// pageNum := 0 +// err := client.ListHarvestJobsPages(params, +// func(page *mediapackage.ListHarvestJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaPackage) ListHarvestJobsPages(input *ListHarvestJobsInput, fn func(*ListHarvestJobsOutput, bool) bool) error { + return c.ListHarvestJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListHarvestJobsPagesWithContext same as ListHarvestJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaPackage) ListHarvestJobsPagesWithContext(ctx aws.Context, input *ListHarvestJobsInput, fn func(*ListHarvestJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListHarvestJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListHarvestJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListHarvestJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListOriginEndpoints = "ListOriginEndpoints" // ListOriginEndpointsRequest generates a "aws/request.Request" representing the @@ -1783,6 +2103,186 @@ func (s *CreateChannelOutput) SetTags(v map[string]*string) *CreateChannelOutput return s } +type CreateHarvestJobInput struct { + _ struct{} `type:"structure"` + + // EndTime is a required field + EndTime *string `locationName:"endTime" type:"string" required:"true"` + + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // OriginEndpointId is a required field + OriginEndpointId *string `locationName:"originEndpointId" type:"string" required:"true"` + + // Configuration parameters for where in an S3 bucket to place the harvested + // content + // + // S3Destination is a required field + S3Destination *S3Destination `locationName:"s3Destination" type:"structure" required:"true"` + + // StartTime is a required field + StartTime *string `locationName:"startTime" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateHarvestJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateHarvestJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateHarvestJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateHarvestJobInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.OriginEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("OriginEndpointId")) + } + if s.S3Destination == nil { + invalidParams.Add(request.NewErrParamRequired("S3Destination")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateHarvestJobInput) SetEndTime(v string) *CreateHarvestJobInput { + s.EndTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateHarvestJobInput) SetId(v string) *CreateHarvestJobInput { + s.Id = &v + return s +} + +// SetOriginEndpointId sets the OriginEndpointId field's value. +func (s *CreateHarvestJobInput) SetOriginEndpointId(v string) *CreateHarvestJobInput { + s.OriginEndpointId = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *CreateHarvestJobInput) SetS3Destination(v *S3Destination) *CreateHarvestJobInput { + s.S3Destination = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateHarvestJobInput) SetStartTime(v string) *CreateHarvestJobInput { + s.StartTime = &v + return s +} + +type CreateHarvestJobOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + ChannelId *string `locationName:"channelId" type:"string"` + + CreatedAt *string `locationName:"createdAt" type:"string"` + + EndTime *string `locationName:"endTime" type:"string"` + + Id *string `locationName:"id" type:"string"` + + OriginEndpointId *string `locationName:"originEndpointId" type:"string"` + + // Configuration parameters for where in an S3 bucket to place the harvested + // content + S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` + + StartTime *string `locationName:"startTime" type:"string"` + + Status *string `locationName:"status" type:"string" enum:"Status"` +} + +// String returns the string representation +func (s CreateHarvestJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateHarvestJobOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateHarvestJobOutput) SetArn(v string) *CreateHarvestJobOutput { + s.Arn = &v + return s +} + +// SetChannelId sets the ChannelId field's value. +func (s *CreateHarvestJobOutput) SetChannelId(v string) *CreateHarvestJobOutput { + s.ChannelId = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *CreateHarvestJobOutput) SetCreatedAt(v string) *CreateHarvestJobOutput { + s.CreatedAt = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateHarvestJobOutput) SetEndTime(v string) *CreateHarvestJobOutput { + s.EndTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateHarvestJobOutput) SetId(v string) *CreateHarvestJobOutput { + s.Id = &v + return s +} + +// SetOriginEndpointId sets the OriginEndpointId field's value. +func (s *CreateHarvestJobOutput) SetOriginEndpointId(v string) *CreateHarvestJobOutput { + s.OriginEndpointId = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *CreateHarvestJobOutput) SetS3Destination(v *S3Destination) *CreateHarvestJobOutput { + s.S3Destination = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateHarvestJobOutput) SetStartTime(v string) *CreateHarvestJobOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateHarvestJobOutput) SetStatus(v string) *CreateHarvestJobOutput { + s.Status = &v + return s +} + type CreateOriginEndpointInput struct { _ struct{} `type:"structure"` @@ -1808,6 +2308,8 @@ type CreateOriginEndpointInput struct { // A Microsoft Smooth Streaming (MSS) packaging configuration. MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + Origination *string `locationName:"origination" type:"string" enum:"Origination"` + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` // A collection of tags associated with a resource @@ -1912,6 +2414,12 @@ func (s *CreateOriginEndpointInput) SetMssPackage(v *MssPackage) *CreateOriginEn return s } +// SetOrigination sets the Origination field's value. +func (s *CreateOriginEndpointInput) SetOrigination(v string) *CreateOriginEndpointInput { + s.Origination = &v + return s +} + // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. func (s *CreateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointInput { s.StartoverWindowSeconds = &v @@ -1961,6 +2469,8 @@ type CreateOriginEndpointOutput struct { // A Microsoft Smooth Streaming (MSS) packaging configuration. MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + Origination *string `locationName:"origination" type:"string" enum:"Origination"` + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` // A collection of tags associated with a resource @@ -2037,6 +2547,12 @@ func (s *CreateOriginEndpointOutput) SetMssPackage(v *MssPackage) *CreateOriginE return s } +// SetOrigination sets the Origination field's value. +func (s *CreateOriginEndpointOutput) SetOrigination(v string) *CreateOriginEndpointOutput { + s.Origination = &v + return s +} + // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. func (s *CreateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointOutput { s.StartoverWindowSeconds = &v @@ -2387,21 +2903,116 @@ func (s *DeleteOriginEndpointInput) SetId(v string) *DeleteOriginEndpointInput { return s } -type DeleteOriginEndpointOutput struct { - _ struct{} `type:"structure"` +type DeleteOriginEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteOriginEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginEndpointOutput) GoString() string { + return s.String() +} + +type DescribeChannelInput struct { + _ struct{} `type:"structure"` + + // Id is a required field + Id *string `location:"uri" locationName:"id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeChannelInput) SetId(v string) *DescribeChannelInput { + s.Id = &v + return s +} + +type DescribeChannelOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Description *string `locationName:"description" type:"string"` + + // An HTTP Live Streaming (HLS) ingest resource configuration. + HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + // A collection of tags associated with a resource + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s DescribeChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeChannelOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeChannelOutput) SetDescription(v string) *DescribeChannelOutput { + s.Description = &v + return s +} + +// SetHlsIngest sets the HlsIngest field's value. +func (s *DescribeChannelOutput) SetHlsIngest(v *HlsIngest) *DescribeChannelOutput { + s.HlsIngest = v + return s } -// String returns the string representation -func (s DeleteOriginEndpointOutput) String() string { - return awsutil.Prettify(s) +// SetId sets the Id field's value. +func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { + s.Id = &v + return s } -// GoString returns the string representation -func (s DeleteOriginEndpointOutput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { + s.Tags = v + return s } -type DescribeChannelInput struct { +type DescribeHarvestJobInput struct { _ struct{} `type:"structure"` // Id is a required field @@ -2409,18 +3020,18 @@ type DescribeChannelInput struct { } // String returns the string representation -func (s DescribeChannelInput) String() string { +func (s DescribeHarvestJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeChannelInput) GoString() string { +func (s DescribeHarvestJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} +func (s *DescribeHarvestJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeHarvestJobInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -2435,64 +3046,96 @@ func (s *DescribeChannelInput) Validate() error { } // SetId sets the Id field's value. -func (s *DescribeChannelInput) SetId(v string) *DescribeChannelInput { +func (s *DescribeHarvestJobInput) SetId(v string) *DescribeHarvestJobInput { s.Id = &v return s } -type DescribeChannelOutput struct { +type DescribeHarvestJobOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` - Description *string `locationName:"description" type:"string"` + ChannelId *string `locationName:"channelId" type:"string"` - // An HTTP Live Streaming (HLS) ingest resource configuration. - HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"` + CreatedAt *string `locationName:"createdAt" type:"string"` + + EndTime *string `locationName:"endTime" type:"string"` Id *string `locationName:"id" type:"string"` - // A collection of tags associated with a resource - Tags map[string]*string `locationName:"tags" type:"map"` + OriginEndpointId *string `locationName:"originEndpointId" type:"string"` + + // Configuration parameters for where in an S3 bucket to place the harvested + // content + S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` + + StartTime *string `locationName:"startTime" type:"string"` + + Status *string `locationName:"status" type:"string" enum:"Status"` } // String returns the string representation -func (s DescribeChannelOutput) String() string { +func (s DescribeHarvestJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeChannelOutput) GoString() string { +func (s DescribeHarvestJobOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { +func (s *DescribeHarvestJobOutput) SetArn(v string) *DescribeHarvestJobOutput { s.Arn = &v return s } -// SetDescription sets the Description field's value. -func (s *DescribeChannelOutput) SetDescription(v string) *DescribeChannelOutput { - s.Description = &v +// SetChannelId sets the ChannelId field's value. +func (s *DescribeHarvestJobOutput) SetChannelId(v string) *DescribeHarvestJobOutput { + s.ChannelId = &v return s } -// SetHlsIngest sets the HlsIngest field's value. -func (s *DescribeChannelOutput) SetHlsIngest(v *HlsIngest) *DescribeChannelOutput { - s.HlsIngest = v +// SetCreatedAt sets the CreatedAt field's value. +func (s *DescribeHarvestJobOutput) SetCreatedAt(v string) *DescribeHarvestJobOutput { + s.CreatedAt = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeHarvestJobOutput) SetEndTime(v string) *DescribeHarvestJobOutput { + s.EndTime = &v return s } // SetId sets the Id field's value. -func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { +func (s *DescribeHarvestJobOutput) SetId(v string) *DescribeHarvestJobOutput { s.Id = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { - s.Tags = v +// SetOriginEndpointId sets the OriginEndpointId field's value. +func (s *DescribeHarvestJobOutput) SetOriginEndpointId(v string) *DescribeHarvestJobOutput { + s.OriginEndpointId = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *DescribeHarvestJobOutput) SetS3Destination(v *S3Destination) *DescribeHarvestJobOutput { + s.S3Destination = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeHarvestJobOutput) SetStartTime(v string) *DescribeHarvestJobOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeHarvestJobOutput) SetStatus(v string) *DescribeHarvestJobOutput { + s.Status = &v return s } @@ -2560,6 +3203,8 @@ type DescribeOriginEndpointOutput struct { // A Microsoft Smooth Streaming (MSS) packaging configuration. MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + Origination *string `locationName:"origination" type:"string" enum:"Origination"` + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` // A collection of tags associated with a resource @@ -2636,6 +3281,12 @@ func (s *DescribeOriginEndpointOutput) SetMssPackage(v *MssPackage) *DescribeOri return s } +// SetOrigination sets the Origination field's value. +func (s *DescribeOriginEndpointOutput) SetOrigination(v string) *DescribeOriginEndpointOutput { + s.Origination = &v + return s +} + // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. func (s *DescribeOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *DescribeOriginEndpointOutput { s.StartoverWindowSeconds = &v @@ -2666,6 +3317,107 @@ func (s *DescribeOriginEndpointOutput) SetWhitelist(v []*string) *DescribeOrigin return s } +// A HarvestJob resource configuration +type HarvestJob struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) assigned to the HarvestJob. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the Channel that the HarvestJob will harvest from. + ChannelId *string `locationName:"channelId" type:"string"` + + // The time the HarvestJob was submitted + CreatedAt *string `locationName:"createdAt" type:"string"` + + // The end of the time-window which will be harvested. + EndTime *string `locationName:"endTime" type:"string"` + + // The ID of the HarvestJob. The ID must be unique within the regionand it cannot + // be changed after the HarvestJob is submitted. + Id *string `locationName:"id" type:"string"` + + // The ID of the OriginEndpoint that the HarvestJob will harvest from.This cannot + // be changed after the HarvestJob is submitted. + OriginEndpointId *string `locationName:"originEndpointId" type:"string"` + + // Configuration parameters for where in an S3 bucket to place the harvested + // content + S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` + + // The start of the time-window which will be harvested. + StartTime *string `locationName:"startTime" type:"string"` + + // The current status of the HarvestJob. Consider setting up a CloudWatch Event + // to listen forHarvestJobs as they succeed or fail. In the event of failure, + // the CloudWatch Event willinclude an explanation of why the HarvestJob failed. + Status *string `locationName:"status" type:"string" enum:"Status"` +} + +// String returns the string representation +func (s HarvestJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HarvestJob) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *HarvestJob) SetArn(v string) *HarvestJob { + s.Arn = &v + return s +} + +// SetChannelId sets the ChannelId field's value. +func (s *HarvestJob) SetChannelId(v string) *HarvestJob { + s.ChannelId = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *HarvestJob) SetCreatedAt(v string) *HarvestJob { + s.CreatedAt = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *HarvestJob) SetEndTime(v string) *HarvestJob { + s.EndTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *HarvestJob) SetId(v string) *HarvestJob { + s.Id = &v + return s +} + +// SetOriginEndpointId sets the OriginEndpointId field's value. +func (s *HarvestJob) SetOriginEndpointId(v string) *HarvestJob { + s.OriginEndpointId = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *HarvestJob) SetS3Destination(v *S3Destination) *HarvestJob { + s.S3Destination = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *HarvestJob) SetStartTime(v string) *HarvestJob { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *HarvestJob) SetStatus(v string) *HarvestJob { + s.Status = &v + return s +} + // An HTTP Live Streaming (HLS) encryption configuration. type HlsEncryption struct { _ struct{} `type:"structure"` @@ -3291,6 +4043,95 @@ func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { return s } +type ListHarvestJobsInput struct { + _ struct{} `type:"structure"` + + IncludeChannelId *string `location:"querystring" locationName:"includeChannelId" type:"string"` + + IncludeStatus *string `location:"querystring" locationName:"includeStatus" type:"string"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListHarvestJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListHarvestJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListHarvestJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListHarvestJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIncludeChannelId sets the IncludeChannelId field's value. +func (s *ListHarvestJobsInput) SetIncludeChannelId(v string) *ListHarvestJobsInput { + s.IncludeChannelId = &v + return s +} + +// SetIncludeStatus sets the IncludeStatus field's value. +func (s *ListHarvestJobsInput) SetIncludeStatus(v string) *ListHarvestJobsInput { + s.IncludeStatus = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListHarvestJobsInput) SetMaxResults(v int64) *ListHarvestJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHarvestJobsInput) SetNextToken(v string) *ListHarvestJobsInput { + s.NextToken = &v + return s +} + +type ListHarvestJobsOutput struct { + _ struct{} `type:"structure"` + + HarvestJobs []*HarvestJob `locationName:"harvestJobs" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListHarvestJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListHarvestJobsOutput) GoString() string { + return s.String() +} + +// SetHarvestJobs sets the HarvestJobs field's value. +func (s *ListHarvestJobsOutput) SetHarvestJobs(v []*HarvestJob) *ListHarvestJobsOutput { + s.HarvestJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHarvestJobsOutput) SetNextToken(v string) *ListHarvestJobsOutput { + s.NextToken = &v + return s +} + type ListOriginEndpointsInput struct { _ struct{} `type:"structure"` @@ -3575,6 +4416,13 @@ type OriginEndpoint struct { // A Microsoft Smooth Streaming (MSS) packaging configuration. MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + // Control whether origination of video is allowed for this OriginEndpoint. + // If set to ALLOW, the OriginEndpointmay by requested, pursuant to any other + // form of access control. If set to DENY, the OriginEndpoint may not berequested. + // This can be helpful for Live to VOD harvesting, or for temporarily disabling + // origination + Origination *string `locationName:"origination" type:"string" enum:"Origination"` + // Maximum duration (seconds) of content to retain for startover playback.If // not specified, startover playback will be disabled for the OriginEndpoint. StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` @@ -3657,6 +4505,12 @@ func (s *OriginEndpoint) SetMssPackage(v *MssPackage) *OriginEndpoint { return s } +// SetOrigination sets the Origination field's value. +func (s *OriginEndpoint) SetOrigination(v string) *OriginEndpoint { + s.Origination = &v + return s +} + // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. func (s *OriginEndpoint) SetStartoverWindowSeconds(v int64) *OriginEndpoint { s.StartoverWindowSeconds = &v @@ -3894,6 +4748,75 @@ func (s *RotateIngestEndpointCredentialsOutput) SetTags(v map[string]*string) *R return s } +// Configuration parameters for where in an S3 bucket to place the harvested +// content +type S3Destination struct { + _ struct{} `type:"structure"` + + // The name of an S3 bucket within which harvested content will be exported + // + // BucketName is a required field + BucketName *string `locationName:"bucketName" type:"string" required:"true"` + + // The key in the specified S3 bucket where the harvested top-level manifest + // will be placed. + // + // ManifestKey is a required field + ManifestKey *string `locationName:"manifestKey" type:"string" required:"true"` + + // The IAM role used to write to the specified S3 bucket + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s S3Destination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Destination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Destination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Destination"} + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + if s.ManifestKey == nil { + invalidParams.Add(request.NewErrParamRequired("ManifestKey")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *S3Destination) SetBucketName(v string) *S3Destination { + s.BucketName = &v + return s +} + +// SetManifestKey sets the ManifestKey field's value. +func (s *S3Destination) SetManifestKey(v string) *S3Destination { + s.ManifestKey = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *S3Destination) SetRoleArn(v string) *S3Destination { + s.RoleArn = &v + return s +} + // A configuration for accessing an external Secure Packager and Encoder Key // Exchange (SPEKE) service that will provide encryption keys. type SpekeKeyProvider struct { @@ -4285,6 +5208,8 @@ type UpdateOriginEndpointInput struct { // A Microsoft Smooth Streaming (MSS) packaging configuration. MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + Origination *string `locationName:"origination" type:"string" enum:"Origination"` + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"` @@ -4380,6 +5305,12 @@ func (s *UpdateOriginEndpointInput) SetMssPackage(v *MssPackage) *UpdateOriginEn return s } +// SetOrigination sets the Origination field's value. +func (s *UpdateOriginEndpointInput) SetOrigination(v string) *UpdateOriginEndpointInput { + s.Origination = &v + return s +} + // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. func (s *UpdateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointInput { s.StartoverWindowSeconds = &v @@ -4423,6 +5354,8 @@ type UpdateOriginEndpointOutput struct { // A Microsoft Smooth Streaming (MSS) packaging configuration. MssPackage *MssPackage `locationName:"mssPackage" type:"structure"` + Origination *string `locationName:"origination" type:"string" enum:"Origination"` + StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"` // A collection of tags associated with a resource @@ -4499,6 +5432,12 @@ func (s *UpdateOriginEndpointOutput) SetMssPackage(v *MssPackage) *UpdateOriginE return s } +// SetOrigination sets the Origination field's value. +func (s *UpdateOriginEndpointOutput) SetOrigination(v string) *UpdateOriginEndpointOutput { + s.Origination = &v + return s +} + // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value. func (s *UpdateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointOutput { s.StartoverWindowSeconds = &v @@ -4580,6 +5519,14 @@ const ( ManifestLayoutCompact = "COMPACT" ) +const ( + // OriginationAllow is a Origination enum value + OriginationAllow = "ALLOW" + + // OriginationDeny is a Origination enum value + OriginationDeny = "DENY" +) + const ( // PlaylistTypeNone is a PlaylistType enum value PlaylistTypeNone = "NONE" @@ -4610,6 +5557,17 @@ const ( SegmentTemplateFormatNumberWithDuration = "NUMBER_WITH_DURATION" ) +const ( + // StatusInProgress is a Status enum value + StatusInProgress = "IN_PROGRESS" + + // StatusSucceeded is a Status enum value + StatusSucceeded = "SUCCEEDED" + + // StatusFailed is a Status enum value + StatusFailed = "FAILED" +) + const ( // StreamOrderOriginal is a StreamOrder enum value StreamOrderOriginal = "ORIGINAL" diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go index 7394f8e5dd4..30cc858469b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go @@ -9146,6 +9146,8 @@ func (c *Organizations) ListTagsForResourceRequest(input *ListTagsForResourceInp // // Currently, you can list tags on an account in AWS Organizations. // +// This operation can be called only from the organization's master account. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -10081,6 +10083,8 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques // // Currently, you can tag and untag accounts in AWS Organizations. // +// This operation can be called only from the organization's master account. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -10352,6 +10356,8 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re // // Currently, you can tag and untag accounts in AWS Organizations. // +// This operation can be called only from the organization's master account. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -11546,6 +11552,10 @@ type CreateAccountStatus struct { // * EMAIL_ALREADY_EXISTS: The account could not be created because another // AWS account with that email address already exists. // + // * GOVCLOUD_ACCOUNT_ALREADY_EXISTS: The account in the AWS GovCloud (US) + // Region could not be created because this Region already includes an account + // with that email address. + // // * INVALID_ADDRESS: The account could not be created because the address // you provided is not valid. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go index e66d3ab2704..0cd7cc997ce 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go @@ -3,111 +3,7 @@ // Package organizations provides the client and types for making API // requests to AWS Organizations. // -// AWS Organizations is a web service that enables you to consolidate your multiple -// AWS accounts into an organization and centrally manage your accounts and -// their resources. -// -// This guide provides descriptions of the Organizations API. For more information -// about using this service, see the AWS Organizations User Guide (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). -// -// API Version -// -// This version of the Organizations API Reference documents the Organizations -// API version 2016-11-28. -// -// As an alternative to using the API directly, you can use one of the AWS SDKs, -// which consist of libraries and sample code for various programming languages -// and platforms (Java, Ruby, .NET, iOS, Android, and more). The SDKs provide -// a convenient way to create programmatic access to AWS Organizations. For -// example, the SDKs take care of cryptographically signing requests, managing -// errors, and retrying requests automatically. For more information about the -// AWS SDKs, including how to download and install them, see Tools for Amazon -// Web Services (http://aws.amazon.com/tools/). -// -// We recommend that you use the AWS SDKs to make programmatic API calls to -// Organizations. However, you also can use the Organizations Query API to make -// direct calls to the Organizations web service. To learn more about the Organizations -// Query API, see Making Query Requests (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_query-requests.html) -// in the AWS Organizations User Guide. Organizations supports GET and POST -// requests for all actions. That is, the API does not require you to use GET -// for some actions and POST for others. However, GET requests are subject to -// the limitation size of a URL. Therefore, for operations that require larger -// sizes, use a POST request. -// -// Signing Requests -// -// When you send HTTP requests to AWS, you must sign the requests so that AWS -// can identify who sent them. You sign requests with your AWS access key, which -// consists of an access key ID and a secret access key. We strongly recommend -// that you do not create an access key for your root account. Anyone who has -// the access key for your root account has unrestricted access to all the resources -// in your account. Instead, create an access key for an IAM user account that -// has administrative privileges. As another option, use AWS Security Token -// Service to generate temporary security credentials, and use those credentials -// to sign requests. -// -// To sign requests, we recommend that you use Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). -// If you have an existing application that uses Signature Version 2, you do -// not have to update it to use Signature Version 4. However, some operations -// now require Signature Version 4. The documentation for operations that require -// version 4 indicate this requirement. -// -// When you use the AWS Command Line Interface (AWS CLI) or one of the AWS SDKs -// to make requests to AWS, these tools automatically sign the requests for -// you with the access key that you specify when you configure the tools. -// -// In this release, each organization can have only one root. In a future release, -// a single organization will support multiple roots. -// -// Support and Feedback for AWS Organizations -// -// We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com -// (mailto:feedback-awsorganizations@amazon.com) or post your feedback and questions -// in the AWS Organizations support forum (http://forums.aws.amazon.com/forum.jspa?forumID=219). -// For more information about the AWS support forums, see Forums Help (http://forums.aws.amazon.com/help.jspa). -// -// Endpoint to Call When Using the CLI or the AWS API -// -// For the current release of Organizations, you must specify the us-east-1 -// region for all AWS API and CLI calls. You can do this in the CLI by using -// these parameters and commands: -// -// * Use the following parameter with each command to specify both the endpoint -// and its region: --endpoint-url https://organizations.us-east-1.amazonaws.com -// -// * Use the default endpoint, but configure your default region with this -// command: aws configure set default.region us-east-1 -// -// * Use the following parameter with each command to specify the endpoint: -// --region us-east-1 -// -// For the various SDKs used to call the APIs, see the documentation for the -// SDK of interest to learn how to direct the requests to a specific endpoint. -// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) -// in the AWS General Reference. -// -// How examples are presented -// -// The JSON returned by the AWS Organizations service as response to your requests -// is returned as a single long string without line breaks or formatting whitespace. -// Both line breaks and whitespace are included in the examples in this guide -// to improve readability. When example input parameters also would result in -// long strings that would extend beyond the screen, we insert line breaks to -// enhance readability. You should always submit the input as a single JSON -// text string. -// -// Recording API Requests -// -// AWS Organizations supports AWS CloudTrail, a service that records AWS API -// calls for your AWS account and delivers log files to an Amazon S3 bucket. -// By using information collected by AWS CloudTrail, you can determine which -// requests were successfully made to Organizations, who made the request, when -// it was made, and so on. For more about AWS Organizations and its support -// for AWS CloudTrail, see Logging AWS Organizations Events with AWS CloudTrail -// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_monitoring.html#orgs_cloudtrail-integration) -// in the AWS Organizations User Guide. To learn more about CloudTrail, including -// how to turn it on and find your log files, see the AWS CloudTrail User Guide -// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). +// AWS Organizations // // See https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go index 1db0bda0991..0f7892008fd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go @@ -202,6 +202,98 @@ func (c *Pinpoint) CreateCampaignWithContext(ctx aws.Context, input *CreateCampa return out, req.Send() } +const opCreateEmailTemplate = "CreateEmailTemplate" + +// CreateEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEmailTemplate for more information on using the CreateEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateEmailTemplateRequest method. +// req, resp := client.CreateEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate +func (c *Pinpoint) CreateEmailTemplateRequest(input *CreateEmailTemplateInput) (req *request.Request, output *CreateEmailTemplateOutput) { + op := &request.Operation{ + Name: opCreateEmailTemplate, + HTTPMethod: "POST", + HTTPPath: "/v1/templates/{template-name}/email", + } + + if input == nil { + input = &CreateEmailTemplateInput{} + } + + output = &CreateEmailTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEmailTemplate API operation for Amazon Pinpoint. +// +// Creates a message template that you can use in messages that are sent through +// the email channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation CreateEmailTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate +func (c *Pinpoint) CreateEmailTemplate(input *CreateEmailTemplateInput) (*CreateEmailTemplateOutput, error) { + req, out := c.CreateEmailTemplateRequest(input) + return out, req.Send() +} + +// CreateEmailTemplateWithContext is the same as CreateEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEmailTemplateInput, opts ...request.Option) (*CreateEmailTemplateOutput, error) { + req, out := c.CreateEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateExportJob = "CreateExportJob" // CreateExportJobRequest generates a "aws/request.Request" representing the @@ -246,7 +338,7 @@ func (c *Pinpoint) CreateExportJobRequest(input *CreateExportJobInput) (req *req // CreateExportJob API operation for Amazon Pinpoint. // -// Creates a new export job for an application. +// Creates an export job for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -340,7 +432,7 @@ func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *req // CreateImportJob API operation for Amazon Pinpoint. // -// Creates a new import job for an application. +// Creates an import job for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -390,6 +482,98 @@ func (c *Pinpoint) CreateImportJobWithContext(ctx aws.Context, input *CreateImpo return out, req.Send() } +const opCreatePushTemplate = "CreatePushTemplate" + +// CreatePushTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreatePushTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreatePushTemplate for more information on using the CreatePushTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreatePushTemplateRequest method. +// req, resp := client.CreatePushTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate +func (c *Pinpoint) CreatePushTemplateRequest(input *CreatePushTemplateInput) (req *request.Request, output *CreatePushTemplateOutput) { + op := &request.Operation{ + Name: opCreatePushTemplate, + HTTPMethod: "POST", + HTTPPath: "/v1/templates/{template-name}/push", + } + + if input == nil { + input = &CreatePushTemplateInput{} + } + + output = &CreatePushTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePushTemplate API operation for Amazon Pinpoint. +// +// Creates a message template that you can use in messages that are sent through +// a push notification channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation CreatePushTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate +func (c *Pinpoint) CreatePushTemplate(input *CreatePushTemplateInput) (*CreatePushTemplateOutput, error) { + req, out := c.CreatePushTemplateRequest(input) + return out, req.Send() +} + +// CreatePushTemplateWithContext is the same as CreatePushTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePushTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) CreatePushTemplateWithContext(ctx aws.Context, input *CreatePushTemplateInput, opts ...request.Option) (*CreatePushTemplateOutput, error) { + req, out := c.CreatePushTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSegment = "CreateSegment" // CreateSegmentRequest generates a "aws/request.Request" representing the @@ -485,6 +669,98 @@ func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmen return out, req.Send() } +const opCreateSmsTemplate = "CreateSmsTemplate" + +// CreateSmsTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateSmsTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSmsTemplate for more information on using the CreateSmsTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateSmsTemplateRequest method. +// req, resp := client.CreateSmsTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate +func (c *Pinpoint) CreateSmsTemplateRequest(input *CreateSmsTemplateInput) (req *request.Request, output *CreateSmsTemplateOutput) { + op := &request.Operation{ + Name: opCreateSmsTemplate, + HTTPMethod: "POST", + HTTPPath: "/v1/templates/{template-name}/sms", + } + + if input == nil { + input = &CreateSmsTemplateInput{} + } + + output = &CreateSmsTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSmsTemplate API operation for Amazon Pinpoint. +// +// Creates a message template that you can use in messages that are sent through +// the SMS channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation CreateSmsTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate +func (c *Pinpoint) CreateSmsTemplate(input *CreateSmsTemplateInput) (*CreateSmsTemplateOutput, error) { + req, out := c.CreateSmsTemplateRequest(input) + return out, req.Send() +} + +// CreateSmsTemplateWithContext is the same as CreateSmsTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSmsTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) CreateSmsTemplateWithContext(ctx aws.Context, input *CreateSmsTemplateInput, opts ...request.Option) (*CreateSmsTemplateOutput, error) { + req, out := c.CreateSmsTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteAdmChannel = "DeleteAdmChannel" // DeleteAdmChannelRequest generates a "aws/request.Request" representing the @@ -1338,58 +1614,59 @@ func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteE return out, req.Send() } -const opDeleteEndpoint = "DeleteEndpoint" +const opDeleteEmailTemplate = "DeleteEmailTemplate" -// DeleteEndpointRequest generates a "aws/request.Request" representing the -// client's request for the DeleteEndpoint operation. The "output" return +// DeleteEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEmailTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteEndpoint for more information on using the DeleteEndpoint +// See DeleteEmailTemplate for more information on using the DeleteEmailTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteEndpointRequest method. -// req, resp := client.DeleteEndpointRequest(params) +// // Example sending a request using the DeleteEmailTemplateRequest method. +// req, resp := client.DeleteEmailTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint -func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate +func (c *Pinpoint) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) { op := &request.Operation{ - Name: opDeleteEndpoint, + Name: opDeleteEmailTemplate, HTTPMethod: "DELETE", - HTTPPath: "/v1/apps/{application-id}/endpoints/{endpoint-id}", + HTTPPath: "/v1/templates/{template-name}/email", } if input == nil { - input = &DeleteEndpointInput{} + input = &DeleteEmailTemplateInput{} } - output = &DeleteEndpointOutput{} + output = &DeleteEmailTemplateOutput{} req = c.newRequest(op, input, output) return } -// DeleteEndpoint API operation for Amazon Pinpoint. +// DeleteEmailTemplate API operation for Amazon Pinpoint. // -// Deletes an endpoint from an application. +// Deletes a message template that was designed for use in messages that were +// sent through the email channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation DeleteEndpoint for usage and error information. +// API operation DeleteEmailTemplate for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -1410,73 +1687,167 @@ func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *reque // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint -func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) { - req, out := c.DeleteEndpointRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate +func (c *Pinpoint) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) { + req, out := c.DeleteEmailTemplateRequest(input) return out, req.Send() } -// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of +// DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of // the ability to pass a context and additional request options. // -// See DeleteEndpoint for details on how to use this API operation. +// See DeleteEmailTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) { - req, out := c.DeleteEndpointRequest(input) +func (c *Pinpoint) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) { + req, out := c.DeleteEmailTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteEventStream = "DeleteEventStream" +const opDeleteEndpoint = "DeleteEndpoint" -// DeleteEventStreamRequest generates a "aws/request.Request" representing the -// client's request for the DeleteEventStream operation. The "output" return +// DeleteEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpoint operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteEventStream for more information on using the DeleteEventStream +// See DeleteEndpoint for more information on using the DeleteEndpoint // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteEventStreamRequest method. -// req, resp := client.DeleteEventStreamRequest(params) +// // Example sending a request using the DeleteEndpointRequest method. +// req, resp := client.DeleteEndpointRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream -func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint +func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) { op := &request.Operation{ - Name: opDeleteEventStream, + Name: opDeleteEndpoint, HTTPMethod: "DELETE", - HTTPPath: "/v1/apps/{application-id}/eventstream", + HTTPPath: "/v1/apps/{application-id}/endpoints/{endpoint-id}", } if input == nil { - input = &DeleteEventStreamInput{} + input = &DeleteEndpointInput{} } - output = &DeleteEventStreamOutput{} + output = &DeleteEndpointOutput{} req = c.newRequest(op, input, output) return } -// DeleteEventStream API operation for Amazon Pinpoint. +// DeleteEndpoint API operation for Amazon Pinpoint. // -// Deletes the event stream for an application. +// Deletes an endpoint from an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation DeleteEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint +func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + return out, req.Send() +} + +// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEventStream = "DeleteEventStream" + +// DeleteEventStreamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEventStream operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEventStream for more information on using the DeleteEventStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEventStreamRequest method. +// req, resp := client.DeleteEventStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream +func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) { + op := &request.Operation{ + Name: opDeleteEventStream, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apps/{application-id}/eventstream", + } + + if input == nil { + input = &DeleteEventStreamInput{} + } + + output = &DeleteEventStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteEventStream API operation for Amazon Pinpoint. +// +// Deletes the event stream for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1621,6 +1992,101 @@ func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcm return out, req.Send() } +const opDeletePushTemplate = "DeletePushTemplate" + +// DeletePushTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeletePushTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeletePushTemplate for more information on using the DeletePushTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeletePushTemplateRequest method. +// req, resp := client.DeletePushTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate +func (c *Pinpoint) DeletePushTemplateRequest(input *DeletePushTemplateInput) (req *request.Request, output *DeletePushTemplateOutput) { + op := &request.Operation{ + Name: opDeletePushTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/v1/templates/{template-name}/push", + } + + if input == nil { + input = &DeletePushTemplateInput{} + } + + output = &DeletePushTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeletePushTemplate API operation for Amazon Pinpoint. +// +// Deletes a message template that was designed for use in messages that were +// sent through a push notification channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation DeletePushTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate +func (c *Pinpoint) DeletePushTemplate(input *DeletePushTemplateInput) (*DeletePushTemplateOutput, error) { + req, out := c.DeletePushTemplateRequest(input) + return out, req.Send() +} + +// DeletePushTemplateWithContext is the same as DeletePushTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePushTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) DeletePushTemplateWithContext(ctx aws.Context, input *DeletePushTemplateInput, opts ...request.Option) (*DeletePushTemplateOutput, error) { + req, out := c.DeletePushTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteSegment = "DeleteSegment" // DeleteSegmentRequest generates a "aws/request.Request" representing the @@ -1810,6 +2276,101 @@ func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSms return out, req.Send() } +const opDeleteSmsTemplate = "DeleteSmsTemplate" + +// DeleteSmsTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSmsTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSmsTemplate for more information on using the DeleteSmsTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteSmsTemplateRequest method. +// req, resp := client.DeleteSmsTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate +func (c *Pinpoint) DeleteSmsTemplateRequest(input *DeleteSmsTemplateInput) (req *request.Request, output *DeleteSmsTemplateOutput) { + op := &request.Operation{ + Name: opDeleteSmsTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/v1/templates/{template-name}/sms", + } + + if input == nil { + input = &DeleteSmsTemplateInput{} + } + + output = &DeleteSmsTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSmsTemplate API operation for Amazon Pinpoint. +// +// Deletes a message template that was designed for use in messages that were +// sent through the SMS channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation DeleteSmsTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate +func (c *Pinpoint) DeleteSmsTemplate(input *DeleteSmsTemplateInput) (*DeleteSmsTemplateOutput, error) { + req, out := c.DeleteSmsTemplateRequest(input) + return out, req.Send() +} + +// DeleteSmsTemplateWithContext is the same as DeleteSmsTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSmsTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) DeleteSmsTemplateWithContext(ctx aws.Context, input *DeleteSmsTemplateInput, opts ...request.Option) (*DeleteSmsTemplateOutput, error) { + req, out := c.DeleteSmsTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteUserEndpoints = "DeleteUserEndpoints" // DeleteUserEndpointsRequest generates a "aws/request.Request" representing the @@ -2895,8 +3456,8 @@ func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *req // GetBaiduChannel API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the Baidu Cloud Push -// channel for an application. +// Retrieves information about the status and settings of the Baidu channel +// for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3705,52 +4266,147 @@ func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailCh return out, req.Send() } -const opGetEndpoint = "GetEndpoint" +const opGetEmailTemplate = "GetEmailTemplate" -// GetEndpointRequest generates a "aws/request.Request" representing the -// client's request for the GetEndpoint operation. The "output" return +// GetEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetEmailTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetEndpoint for more information on using the GetEndpoint +// See GetEmailTemplate for more information on using the GetEmailTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetEndpointRequest method. -// req, resp := client.GetEndpointRequest(params) +// // Example sending a request using the GetEmailTemplateRequest method. +// req, resp := client.GetEmailTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint -func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate +func (c *Pinpoint) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) { op := &request.Operation{ - Name: opGetEndpoint, + Name: opGetEmailTemplate, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/endpoints/{endpoint-id}", + HTTPPath: "/v1/templates/{template-name}/email", } if input == nil { - input = &GetEndpointInput{} + input = &GetEmailTemplateInput{} } - output = &GetEndpointOutput{} + output = &GetEmailTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetEndpoint API operation for Amazon Pinpoint. +// GetEmailTemplate API operation for Amazon Pinpoint. // -// Retrieves information about the settings and attributes of a specific endpoint -// for an application. +// Retrieves the content and settings for a message template that you can use +// in messages that are sent through the email channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetEmailTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate +func (c *Pinpoint) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) { + req, out := c.GetEmailTemplateRequest(input) + return out, req.Send() +} + +// GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) { + req, out := c.GetEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEndpoint = "GetEndpoint" + +// GetEndpointRequest generates a "aws/request.Request" representing the +// client's request for the GetEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEndpoint for more information on using the GetEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetEndpointRequest method. +// req, resp := client.GetEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint +func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) { + op := &request.Operation{ + Name: opGetEndpoint, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/endpoints/{endpoint-id}", + } + + if input == nil { + input = &GetEndpointInput{} + } + + output = &GetEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEndpoint API operation for Amazon Pinpoint. +// +// Retrieves information about the settings and attributes of a specific endpoint +// for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4369,6 +5025,101 @@ func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJob return out, req.Send() } +const opGetPushTemplate = "GetPushTemplate" + +// GetPushTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetPushTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPushTemplate for more information on using the GetPushTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPushTemplateRequest method. +// req, resp := client.GetPushTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate +func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) { + op := &request.Operation{ + Name: opGetPushTemplate, + HTTPMethod: "GET", + HTTPPath: "/v1/templates/{template-name}/push", + } + + if input == nil { + input = &GetPushTemplateInput{} + } + + output = &GetPushTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPushTemplate API operation for Amazon Pinpoint. +// +// Retrieves the content and settings for a message template that you can use +// in messages that are sent through a push notification channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetPushTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate +func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) { + req, out := c.GetPushTemplateRequest(input) + return out, req.Send() +} + +// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetPushTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) { + req, out := c.GetPushTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetSegment = "GetSegment" // GetSegmentRequest generates a "aws/request.Request" representing the @@ -5034,6 +5785,101 @@ func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChanne return out, req.Send() } +const opGetSmsTemplate = "GetSmsTemplate" + +// GetSmsTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetSmsTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetSmsTemplate for more information on using the GetSmsTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetSmsTemplateRequest method. +// req, resp := client.GetSmsTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate +func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) { + op := &request.Operation{ + Name: opGetSmsTemplate, + HTTPMethod: "GET", + HTTPPath: "/v1/templates/{template-name}/sms", + } + + if input == nil { + input = &GetSmsTemplateInput{} + } + + output = &GetSmsTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSmsTemplate API operation for Amazon Pinpoint. +// +// Retrieves the content and settings for a message template that you can use +// in messages that are sent through the SMS channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetSmsTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate +func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) { + req, out := c.GetSmsTemplateRequest(input) + return out, req.Send() +} + +// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetSmsTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) { + req, out := c.GetSmsTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetUserEndpoints = "GetUserEndpoints" // GetUserEndpointsRequest generates a "aws/request.Request" representing the @@ -5269,7 +6115,7 @@ func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // ListTagsForResource API operation for Amazon Pinpoint. // // Retrieves all the tags (keys and values) that are associated with an application, -// campaign, or segment. +// campaign, message template, or segment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5299,60 +6145,67 @@ func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTa return out, req.Send() } -const opPhoneNumberValidate = "PhoneNumberValidate" +const opListTemplates = "ListTemplates" -// PhoneNumberValidateRequest generates a "aws/request.Request" representing the -// client's request for the PhoneNumberValidate operation. The "output" return +// ListTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PhoneNumberValidate for more information on using the PhoneNumberValidate +// See ListTemplates for more information on using the ListTemplates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PhoneNumberValidateRequest method. -// req, resp := client.PhoneNumberValidateRequest(params) +// // Example sending a request using the ListTemplatesRequest method. +// req, resp := client.ListTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate -func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates +func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { op := &request.Operation{ - Name: opPhoneNumberValidate, - HTTPMethod: "POST", - HTTPPath: "/v1/phone/number/validate", + Name: opListTemplates, + HTTPMethod: "GET", + HTTPPath: "/v1/templates", } if input == nil { - input = &PhoneNumberValidateInput{} + input = &ListTemplatesInput{} } - output = &PhoneNumberValidateOutput{} + output = &ListTemplatesOutput{} req = c.newRequest(op, input, output) return } -// PhoneNumberValidate API operation for Amazon Pinpoint. +// ListTemplates API operation for Amazon Pinpoint. // -// Retrieves information about a phone number. +// Retrieves information about all the message templates that are associated +// with your Amazon Pinpoint account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation PhoneNumberValidate for usage and error information. +// API operation ListTemplates for usage and error information. // // Returned Error Codes: +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// // * ErrCodeBadRequestException "BadRequestException" // Provides information about an API request or response. // @@ -5362,8 +6215,93 @@ func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) ( // * ErrCodeForbiddenException "ForbiddenException" // Provides information about an API request or response. // -// * ErrCodeNotFoundException "NotFoundException" -// Provides information about an API request or response. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates +func (c *Pinpoint) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + return out, req.Send() +} + +// ListTemplatesWithContext is the same as ListTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPhoneNumberValidate = "PhoneNumberValidate" + +// PhoneNumberValidateRequest generates a "aws/request.Request" representing the +// client's request for the PhoneNumberValidate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PhoneNumberValidate for more information on using the PhoneNumberValidate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PhoneNumberValidateRequest method. +// req, resp := client.PhoneNumberValidateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate +func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) { + op := &request.Operation{ + Name: opPhoneNumberValidate, + HTTPMethod: "POST", + HTTPPath: "/v1/phone/number/validate", + } + + if input == nil { + input = &PhoneNumberValidateInput{} + } + + output = &PhoneNumberValidateOutput{} + req = c.newRequest(op, input, output) + return +} + +// PhoneNumberValidate API operation for Amazon Pinpoint. +// +// Retrieves information about a phone number. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation PhoneNumberValidate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. // // * ErrCodeMethodNotAllowedException "MethodNotAllowedException" // Provides information about an API request or response. @@ -5911,7 +6849,8 @@ func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Req // TagResource API operation for Amazon Pinpoint. // -// Adds one or more tags (keys and values) to an application, campaign, or segment. +// Adds one or more tags (keys and values) to an application, campaign, message +// template, or segment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5987,7 +6926,7 @@ func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request // UntagResource API operation for Amazon Pinpoint. // // Removes one or more tags (keys and values) from an application, campaign, -// or segment. +// message template, or segment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6061,7 +7000,8 @@ func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *r // UpdateAdmChannel API operation for Amazon Pinpoint. // -// Updates the ADM channel settings for an application. +// Enables the ADM channel for an application or updates the status and settings +// of the ADM channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6155,7 +7095,8 @@ func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req // UpdateApnsChannel API operation for Amazon Pinpoint. // -// Updates the APNs channel settings for an application. +// Enables the APNs channel for an application or updates the status and settings +// of the APNs channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6249,7 +7190,8 @@ func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChann // UpdateApnsSandboxChannel API operation for Amazon Pinpoint. // -// Updates the APNs sandbox channel settings for an application. +// Enables the APNs sandbox channel for an application or updates the status +// and settings of the APNs sandbox channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6343,7 +7285,8 @@ func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInpu // UpdateApnsVoipChannel API operation for Amazon Pinpoint. // -// Updates the APNs VoIP channel settings for an application. +// Enables the APNs VoIP channel for an application or updates the status and +// settings of the APNs VoIP channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6437,7 +7380,8 @@ func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSand // UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint. // -// Updates the settings for the APNs VoIP sandbox channel for an application. +// Enables the APNs VoIP sandbox channel for an application or updates the status +// and settings of the APNs VoIP sandbox channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6625,7 +7569,8 @@ func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (re // UpdateBaiduChannel API operation for Amazon Pinpoint. // -// Updates the settings of the Baidu channel for an application. +// Enables the Baidu channel for an application or updates the status and settings +// of the Baidu channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6813,7 +7758,8 @@ func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (re // UpdateEmailChannel API operation for Amazon Pinpoint. // -// Updates the status and settings of the email channel for an application. +// Enables the email channel for an application or updates the status and settings +// of the email channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6863,6 +7809,101 @@ func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateE return out, req.Send() } +const opUpdateEmailTemplate = "UpdateEmailTemplate" + +// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEmailTemplate for more information on using the UpdateEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateEmailTemplateRequest method. +// req, resp := client.UpdateEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate +func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) { + op := &request.Operation{ + Name: opUpdateEmailTemplate, + HTTPMethod: "PUT", + HTTPPath: "/v1/templates/{template-name}/email", + } + + if input == nil { + input = &UpdateEmailTemplateInput{} + } + + output = &UpdateEmailTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEmailTemplate API operation for Amazon Pinpoint. +// +// Updates an existing message template that you can use in messages that are +// sent through the email channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdateEmailTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate +func (c *Pinpoint) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) { + req, out := c.UpdateEmailTemplateRequest(input) + return out, req.Send() +} + +// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) { + req, out := c.UpdateEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateEndpoint = "UpdateEndpoint" // UpdateEndpointRequest generates a "aws/request.Request" representing the @@ -7101,7 +8142,8 @@ func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *r // UpdateGcmChannel API operation for Amazon Pinpoint. // -// Updates the status and settings of the GCM channel for an application. +// Enables the GCM channel for an application or updates the status and settings +// of the GCM channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7151,6 +8193,101 @@ func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcm return out, req.Send() } +const opUpdatePushTemplate = "UpdatePushTemplate" + +// UpdatePushTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePushTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePushTemplate for more information on using the UpdatePushTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdatePushTemplateRequest method. +// req, resp := client.UpdatePushTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate +func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (req *request.Request, output *UpdatePushTemplateOutput) { + op := &request.Operation{ + Name: opUpdatePushTemplate, + HTTPMethod: "PUT", + HTTPPath: "/v1/templates/{template-name}/push", + } + + if input == nil { + input = &UpdatePushTemplateInput{} + } + + output = &UpdatePushTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePushTemplate API operation for Amazon Pinpoint. +// +// Updates an existing message template that you can use in messages that are +// sent through a push notification channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdatePushTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate +func (c *Pinpoint) UpdatePushTemplate(input *UpdatePushTemplateInput) (*UpdatePushTemplateOutput, error) { + req, out := c.UpdatePushTemplateRequest(input) + return out, req.Send() +} + +// UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePushTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) UpdatePushTemplateWithContext(ctx aws.Context, input *UpdatePushTemplateInput, opts ...request.Option) (*UpdatePushTemplateOutput, error) { + req, out := c.UpdatePushTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateSegment = "UpdateSegment" // UpdateSegmentRequest generates a "aws/request.Request" representing the @@ -7290,7 +8427,8 @@ func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *r // UpdateSmsChannel API operation for Amazon Pinpoint. // -// Updates the status and settings of the SMS channel for an application. +// Enables the SMS channel for an application or updates the status and settings +// of the SMS channel for an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7340,58 +8478,59 @@ func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSms return out, req.Send() } -const opUpdateVoiceChannel = "UpdateVoiceChannel" +const opUpdateSmsTemplate = "UpdateSmsTemplate" -// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVoiceChannel operation. The "output" return +// UpdateSmsTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSmsTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel +// See UpdateSmsTemplate for more information on using the UpdateSmsTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateVoiceChannelRequest method. -// req, resp := client.UpdateVoiceChannelRequest(params) +// // Example sending a request using the UpdateSmsTemplateRequest method. +// req, resp := client.UpdateSmsTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel -func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate +func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) { op := &request.Operation{ - Name: opUpdateVoiceChannel, + Name: opUpdateSmsTemplate, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/voice", + HTTPPath: "/v1/templates/{template-name}/sms", } if input == nil { - input = &UpdateVoiceChannelInput{} + input = &UpdateSmsTemplateInput{} } - output = &UpdateVoiceChannelOutput{} + output = &UpdateSmsTemplateOutput{} req = c.newRequest(op, input, output) return } -// UpdateVoiceChannel API operation for Amazon Pinpoint. +// UpdateSmsTemplate API operation for Amazon Pinpoint. // -// Updates the status and settings of the voice channel for an application. +// Updates an existing message template that you can use in messages that are +// sent through the SMS channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateVoiceChannel for usage and error information. +// API operation UpdateSmsTemplate for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7412,39 +8551,134 @@ func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (re // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel -func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) { - req, out := c.UpdateVoiceChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate +func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) { + req, out := c.UpdateSmsTemplateRequest(input) return out, req.Send() } -// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of +// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of // the ability to pass a context and additional request options. // -// See UpdateVoiceChannel for details on how to use this API operation. +// See UpdateSmsTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) { - req, out := c.UpdateVoiceChannelRequest(input) +func (c *Pinpoint) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) { + req, out := c.UpdateSmsTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Specifies the status and settings of the ADM (Amazon Device Messaging) channel -// for an application. -type ADMChannelRequest struct { - _ struct{} `type:"structure"` - - // The Client ID that you received from Amazon to send messages by using ADM. - // - // ClientId is a required field - ClientId *string `type:"string" required:"true"` +const opUpdateVoiceChannel = "UpdateVoiceChannel" - // The Client Secret that you received from Amazon to send messages by using +// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVoiceChannel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateVoiceChannelRequest method. +// req, resp := client.UpdateVoiceChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel +func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) { + op := &request.Operation{ + Name: opUpdateVoiceChannel, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/channels/voice", + } + + if input == nil { + input = &UpdateVoiceChannelInput{} + } + + output = &UpdateVoiceChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVoiceChannel API operation for Amazon Pinpoint. +// +// Enables the voice channel for an application or updates the status and settings +// of the voice channel for an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdateVoiceChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. +// +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. +// +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel +func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) { + req, out := c.UpdateVoiceChannelRequest(input) + return out, req.Send() +} + +// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVoiceChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) { + req, out := c.UpdateVoiceChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Specifies the status and settings of the ADM (Amazon Device Messaging) channel +// for an application. +type ADMChannelRequest struct { + _ struct{} `type:"structure"` + + // The Client ID that you received from Amazon to send messages by using ADM. + // + // ClientId is a required field + ClientId *string `type:"string" required:"true"` + + // The Client Secret that you received from Amazon to send messages by using // ADM. // // ClientSecret is a required field @@ -8091,17 +9325,46 @@ type APNSMessage struct { // The raw, JSON-formatted string to use as the payload for the notification // message. This value overrides the message. + // + // If you specify the raw content of an APNs push notification, the message + // payload has to include the content-available key. The value of the content-available + // key has to be an integer, and can only be 0 or 1. If you're sending a standard + // notification, set the value of content-available to 0. If you're sending + // a silent (background) notification, set the value of content-available to + // 1. Additionally, silent notification payloads can't include the alert, badge, + // or sound keys. For more information, see Generating a Remote Notification + // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification) + // and Pushing Background Updates to Your App (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app) + // on the Apple Developer website. RawContent *string `type:"string"` - // Specifies whether the notification is a silent push notification, which is - // a push notification that doesn't display on a recipient's device. Silent - // push notifications can be used for cases such as updating an app's configuration, - // displaying messages in an in-app message center, or supporting phone home - // functionality. + // Specifies whether the notification is a silent push notification. A silent + // (or background) push notification isn't displayed on recipients' devices. + // You can use silent push notifications to make small updates to your app, + // or to display messages in an in-app message center. + // + // Amazon Pinpoint uses this property to determine the correct value for the + // apns-push-type request header when it sends the notification message to APNs. + // If you specify a value of true for this property, Amazon Pinpoint sets the + // value for the apns-push-type header field to background. + // + // If you specify the raw content of an APNs push notification, the message + // payload has to include the content-available key. For silent (background) + // notifications, set the value of content-available to 1. Additionally, the + // message payload for a silent notification can't include the alert, badge, + // or sound keys. For more information, see Generating a Remote Notification + // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification) + // and Pushing Background Updates to Your App (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app) + // on the Apple Developer website. + // + // Apple has indicated that they will throttle "excessive" background notifications + // based on current traffic volumes. To prevent your notifications being throttled, + // Apple recommends that you send no more than 3 silent push notifications to + // each recipient per hour. SilentPush *bool `type:"boolean"` // The key for the sound to play when the recipient receives the push notification. - // The value of this key is the name of a sound file in your app's main bundle + // The value for this key is the name of a sound file in your app's main bundle // or the Library/Sounds folder in your app's data container. If the sound file // can't be found or you specify default for the value, the system plays the // default alert sound. @@ -8246,6 +9509,96 @@ func (s *APNSMessage) SetUrl(v string) *APNSMessage { return s } +// Specifies the content and settings for a message template that can be used +// in push notifications that are sent through the APNs (Apple Push Notification +// service) channel. +type APNSPushNotificationTemplate struct { + _ struct{} `type:"structure"` + + // The action to occur if a recipient taps a push notification that's based + // on the message template. Valid values are: + // + // * OPEN_APP - Your app opens or it becomes the foreground app if it was + // sent to the background. This is the default action. + // + // * DEEP_LINK - Your app opens and displays a designated user interface + // in the app. This setting uses the deep-linking features of the iOS platform. + // + // * URL - The default mobile browser on the recipient's device opens and + // loads the web page at a URL that you specify. + Action *string `type:"string" enum:"Action"` + + // The message body to use in push notifications that are based on the message + // template. + Body *string `type:"string"` + + // The URL of an image or video to display in push notifications that are based + // on the message template. + MediaUrl *string `type:"string"` + + // The key for the sound to play when the recipient receives a push notification + // that's based on the message template. The value for this key is the name + // of a sound file in your app's main bundle or the Library/Sounds folder in + // your app's data container. If the sound file can't be found or you specify + // default for the value, the system plays the default alert sound. + Sound *string `type:"string"` + + // The title to use in push notifications that are based on the message template. + // This title appears above the notification message on a recipient's device. + Title *string `type:"string"` + + // The URL to open in the recipient's default mobile browser, if a recipient + // taps a push notification that's based on the message template and the value + // of the Action property is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s APNSPushNotificationTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APNSPushNotificationTemplate) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate { + s.Action = &v + return s +} + +// SetBody sets the Body field's value. +func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate { + s.Body = &v + return s +} + +// SetMediaUrl sets the MediaUrl field's value. +func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate { + s.MediaUrl = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate { + s.Sound = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate { + s.Url = &v + return s +} + // Specifies the status and settings of the APNs (Apple Push Notification service) // sandbox channel for an application. type APNSSandboxChannelRequest struct { @@ -9188,6 +10541,117 @@ func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration return s } +// Specifies the content and settings for a message template can be used in +// push notifications that are sent through the ADM (Amazon Device Messaging), +// GCM (Firebase Cloud Messaging, formerly Google Cloud Messaging), or Baidu +// (Baidu Cloud Push) channel. +type AndroidPushNotificationTemplate struct { + _ struct{} `type:"structure"` + + // The action to occur if a recipient taps a push notification that's based + // on the message template. Valid values are: + // + // * OPEN_APP - Your app opens or it becomes the foreground app if it was + // sent to the background. This is the default action. + // + // * DEEP_LINK - Your app opens and displays a designated user interface + // in the app. This action uses the deep-linking features of the Android + // platform. + // + // * URL - The default mobile browser on the recipient's device opens and + // loads the web page at a URL that you specify. + Action *string `type:"string" enum:"Action"` + + // The message body to use in a push notification that's based on the message + // template. + Body *string `type:"string"` + + // The URL of the large icon image to display in the content view of a push + // notification that's based on the message template. + ImageIconUrl *string `type:"string"` + + // The URL of an image to display in a push notification that's based on the + // message template. + ImageUrl *string `type:"string"` + + // The URL of the small icon image to display in the status bar and the content + // view of a push notification that's based on the message template. + SmallImageIconUrl *string `type:"string"` + + // The sound to play when a recipient receives a push notification that's based + // on the message template. You can use the default stream or specify the file + // name of a sound resource that's bundled in your app. On an Android platform, + // the sound file must reside in /res/raw/. + Sound *string `type:"string"` + + // The title to use in a push notification that's based on the message template. + // This title appears above the notification message on a recipient's device. + Title *string `type:"string"` + + // The URL to open in a recipient's default mobile browser, if a recipient taps + // a a push notification that's based on the message template and the value + // of the Action property is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s AndroidPushNotificationTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AndroidPushNotificationTemplate) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate { + s.Action = &v + return s +} + +// SetBody sets the Body field's value. +func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate { + s.Body = &v + return s +} + +// SetImageIconUrl sets the ImageIconUrl field's value. +func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate { + s.ImageIconUrl = &v + return s +} + +// SetImageUrl sets the ImageUrl field's value. +func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate { + s.ImageUrl = &v + return s +} + +// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. +func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate { + s.SmallImageIconUrl = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate { + s.Sound = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate { + s.Url = &v + return s +} + // Provides the results of a query that retrieved the data for a standard metric // that applies to an application, and provides information about that query. type ApplicationDateRangeKpiResponse struct { @@ -9205,7 +10669,7 @@ type ApplicationDateRangeKpiResponse struct { // that the data was retrieved for. This value describes the associated metric // and consists of two or more terms, which are comprised of lowercase alphanumeric // characters, separated by a hyphen. For a list of valid values, see the Amazon - // Pinpoint Developer Guide (developerguide.html). + // Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). // // KpiName is a required field KpiName *string `type:"string" required:"true"` @@ -9217,8 +10681,8 @@ type ApplicationDateRangeKpiResponse struct { KpiResult *BaseKpiResult `type:"structure" required:"true"` // The string to use in a subsequent request to get the next page of results - // in a paginated response. This value is null for the App Metrics resource. - // The App Metrics resource returns all results in a single page. + // in a paginated response. This value is null for the Application Metrics resource. + // The Application Metrics resource returns all results in a single page. NextToken *string `type:"string"` // StartTime is a required field @@ -9514,12 +10978,12 @@ type AttributesResource struct { // The type of attribute or attributes that were removed from the endpoints. // Valid values are: // - // * endpoint-custom-attributes - Custom attributes that describe endpoints + // * endpoint-custom-attributes - Custom attributes that describe endpoints. // // * endpoint-custom-metrics - Custom metrics that your app reports to Amazon - // Pinpoint for endpoints + // Pinpoint for endpoints. // - // * endpoint-user-attributes - Custom attributes that describe users + // * endpoint-user-attributes - Custom attributes that describe users. // // AttributeType is a required field AttributeType *string `type:"string" required:"true"` @@ -9963,7 +11427,7 @@ type CampaignDateRangeKpiResponse struct { // that the data was retrieved for. This value describes the associated metric // and consists of two or more terms, which are comprised of lowercase alphanumeric // characters, separated by a hyphen. For a list of valid values, see the Amazon - // Pinpoint Developer Guide (developerguide.html). + // Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). // // KpiName is a required field KpiName *string `type:"string" required:"true"` @@ -10347,6 +11811,9 @@ type CampaignResponse struct { // an associated tag value. Tags map[string]*string `locationName:"tags" type:"map"` + // The message template that’s used for the campaign. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // The custom description of a variation of the campaign that's used for A/B // testing. TreatmentDescription *string `type:"string"` @@ -10482,6 +11949,12 @@ func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse { return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse { + s.TemplateConfiguration = v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse { s.TreatmentDescription = &v @@ -10941,8 +12414,87 @@ func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateC return s } -type CreateExportJobInput struct { - _ struct{} `type:"structure" payload:"ExportJobRequest"` +type CreateEmailTemplateInput struct { + _ struct{} `type:"structure" payload:"EmailTemplateRequest"` + + // Specifies the content and settings for a message template that can be used + // in messages that are sent through the email channel. + // + // EmailTemplateRequest is a required field + EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"} + if s.EmailTemplateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailTemplateRequest sets the EmailTemplateRequest field's value. +func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput { + s.EmailTemplateRequest = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput { + s.TemplateName = &v + return s +} + +type CreateEmailTemplateOutput struct { + _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` + + // Provides information about an API request or response. + // + // CreateTemplateMessageBody is a required field + CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEmailTemplateOutput) GoString() string { + return s.String() +} + +// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. +func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput { + s.CreateTemplateMessageBody = v + return s +} + +type CreateExportJobInput struct { + _ struct{} `type:"structure" payload:"ExportJobRequest"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` @@ -11115,6 +12667,85 @@ func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *Crea return s } +type CreatePushTemplateInput struct { + _ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"` + + // Specifies the content and settings for a message template that can be used + // in messages that are sent through a push notification channel. + // + // PushNotificationTemplateRequest is a required field + PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePushTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePushTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePushTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"} + if s.PushNotificationTemplateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value. +func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput { + s.PushNotificationTemplateRequest = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput { + s.TemplateName = &v + return s +} + +type CreatePushTemplateOutput struct { + _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` + + // Provides information about an API request or response. + // + // CreateTemplateMessageBody is a required field + CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreatePushTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePushTemplateOutput) GoString() string { + return s.String() +} + +// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. +func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput { + s.CreateTemplateMessageBody = v + return s +} + type CreateSegmentInput struct { _ struct{} `type:"structure" payload:"WriteSegmentRequest"` @@ -11201,6 +12832,124 @@ func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegm return s } +type CreateSmsTemplateInput struct { + _ struct{} `type:"structure" payload:"SMSTemplateRequest"` + + // Specifies the content and settings for a message template that can be used + // in text messages that are sent through the SMS channel. + // + // SMSTemplateRequest is a required field + SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSmsTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSmsTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSmsTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"} + if s.SMSTemplateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSMSTemplateRequest sets the SMSTemplateRequest field's value. +func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput { + s.SMSTemplateRequest = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput { + s.TemplateName = &v + return s +} + +type CreateSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` + + // Provides information about an API request or response. + // + // CreateTemplateMessageBody is a required field + CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateSmsTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSmsTemplateOutput) GoString() string { + return s.String() +} + +// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. +func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput { + s.CreateTemplateMessageBody = v + return s +} + +// Provides information about an API request or response. +type CreateTemplateMessageBody struct { + _ struct{} `type:"structure"` + + Arn *string `type:"string"` + + Message *string `type:"string"` + + RequestID *string `type:"string"` +} + +// String returns the string representation +func (s CreateTemplateMessageBody) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateMessageBody) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody { + s.Arn = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody { + s.Message = &v + return s +} + +// SetRequestID sets the RequestID field's value. +func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody { + s.RequestID = &v + return s +} + // Specifies the default message to use for all channels. type DefaultMessage struct { _ struct{} `type:"structure"` @@ -11334,6 +13083,90 @@ func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificati return s } +// Specifies the settings and content for the default message template that's +// used in messages that are sent through a push notification channel. +type DefaultPushNotificationTemplate struct { + _ struct{} `type:"structure"` + + // The action to occur if a recipient taps a push notification that's based + // on the message template. Valid values are: + // + // * OPEN_APP - Your app opens or it becomes the foreground app if it was + // sent to the background. This is the default action. + // + // * DEEP_LINK - Your app opens and displays a designated user interface + // in the app. This setting uses the deep-linking features of the iOS and + // Android platforms. + // + // * URL - The default mobile browser on the recipient's device opens and + // loads the web page at a URL that you specify. + Action *string `type:"string" enum:"Action"` + + // The message body to use in push notifications that are based on the message + // template. + Body *string `type:"string"` + + // The sound to play when a recipient receives a push notification that's based + // on the message template. You can use the default stream or specify the file + // name of a sound resource that's bundled in your app. On an Android platform, + // the sound file must reside in /res/raw/. + // + // For an iOS platform, this value is the key for the name of a sound file in + // your app's main bundle or the Library/Sounds folder in your app's data container. + // If the sound file can't be found or you specify default for the value, the + // system plays the default alert sound. + Sound *string `type:"string"` + + // The title to use in push notifications that are based on the message template. + // This title appears above the notification message on a recipient's device. + Title *string `type:"string"` + + // The URL to open in a recipient's default mobile browser, if a recipient taps + // a push notification that's based on the message template and the value of + // the Action property is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s DefaultPushNotificationTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultPushNotificationTemplate) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate { + s.Action = &v + return s +} + +// SetBody sets the Body field's value. +func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate { + s.Body = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate { + s.Sound = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate { + s.Url = &v + return s +} + type DeleteAdmChannelInput struct { _ struct{} `type:"structure"` @@ -11918,18 +13751,82 @@ type DeleteEmailChannelOutput struct { } // String returns the string representation -func (s DeleteEmailChannelOutput) String() string { +func (s DeleteEmailChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailChannelOutput) GoString() string { + return s.String() +} + +// SetEmailChannelResponse sets the EmailChannelResponse field's value. +func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput { + s.EmailChannelResponse = v + return s +} + +type DeleteEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput { + s.TemplateName = &v + return s +} + +type DeleteEmailTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` + + // Provides information about an API request or response. + // + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteEmailTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEmailChannelOutput) GoString() string { +func (s DeleteEmailTemplateOutput) GoString() string { return s.String() } -// SetEmailChannelResponse sets the EmailChannelResponse field's value. -func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput { - s.EmailChannelResponse = v +// SetMessageBody sets the MessageBody field's value. +func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput { + s.MessageBody = v return s } @@ -12144,6 +14041,70 @@ func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *D return s } +type DeletePushTemplateInput struct { + _ struct{} `type:"structure"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePushTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePushTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePushTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput { + s.TemplateName = &v + return s +} + +type DeletePushTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` + + // Provides information about an API request or response. + // + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeletePushTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePushTemplateOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput { + s.MessageBody = v + return s +} + type DeleteSegmentInput struct { _ struct{} `type:"structure"` @@ -12289,6 +14250,70 @@ func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *D return s } +type DeleteSmsTemplateInput struct { + _ struct{} `type:"structure"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSmsTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSmsTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSmsTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput { + s.TemplateName = &v + return s +} + +type DeleteSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` + + // Provides information about an API request or response. + // + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteSmsTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSmsTemplateOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput { + s.MessageBody = v + return s +} + type DeleteUserEndpointsInput struct { _ struct{} `type:"structure"` @@ -12455,7 +14480,7 @@ type DirectMessageConfiguration struct { // The default message body for all channels. DefaultMessage *DefaultMessage `type:"structure"` - // The default push notification message for all push channels. + // The default push notification message for all push notification channels. DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"` // The default message for the email channel. This message overrides the default @@ -12870,6 +14895,177 @@ func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage { return s } +// Specifies the content and settings for a message template that can be used +// in messages that are sent through the email channel. +type EmailTemplateRequest struct { + _ struct{} `type:"structure"` + + // The message body, in HTML format, to use in email messages that are based + // on the message template. We recommend using HTML format for email clients + // that support HTML. You can include links, formatted text, and more in an + // HTML message. + HtmlPart *string `type:"string"` + + // The subject line, or title, to use in email messages that are based on the + // message template. + Subject *string `type:"string"` + + // A string-to-string map of key-value pairs that defines the tags to associate + // with the message template. Each tag consists of a required tag key and an + // associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The message body, in text format, to use in email messages that are based + // on the message template. We recommend using text format for email clients + // that don't support HTML and clients that are connected to high-latency networks, + // such as mobile devices. + TextPart *string `type:"string"` +} + +// String returns the string representation +func (s EmailTemplateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailTemplateRequest) GoString() string { + return s.String() +} + +// SetHtmlPart sets the HtmlPart field's value. +func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest { + s.HtmlPart = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest { + s.Subject = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest { + s.Tags = v + return s +} + +// SetTextPart sets the TextPart field's value. +func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest { + s.TextPart = &v + return s +} + +// Provides information about the content and settings for a message template +// that can be used in messages that are sent through the email channel. +type EmailTemplateResponse struct { + _ struct{} `type:"structure"` + + Arn *string `type:"string"` + + // The date when the message template was created. + // + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` + + // The message body, in HTML format, that's used in email messages that are + // based on the message template. + HtmlPart *string `type:"string"` + + // The date when the message template was last modified. + // + // LastModifiedDate is a required field + LastModifiedDate *string `type:"string" required:"true"` + + // The subject line, or title, that's used in email messages that are based + // on the message template. + Subject *string `type:"string"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the message template. Each tag consists of a required tag + // key and an associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The name of the message template. + // + // TemplateName is a required field + TemplateName *string `type:"string" required:"true"` + + // The type of channel that the message template is designed for. For an email + // template, this value is EMAIL. + // + // TemplateType is a required field + TemplateType *string `type:"string" required:"true" enum:"TemplateType"` + + // The message body, in text format, that's used in email messages that are + // based on the message template. + TextPart *string `type:"string"` +} + +// String returns the string representation +func (s EmailTemplateResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailTemplateResponse) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse { + s.Arn = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse { + s.CreationDate = &v + return s +} + +// SetHtmlPart sets the HtmlPart field's value. +func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse { + s.HtmlPart = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse { + s.LastModifiedDate = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse { + s.Subject = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse { + s.Tags = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse { + s.TemplateName = &v + return s +} + +// SetTemplateType sets the TemplateType field's value. +func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse { + s.TemplateType = &v + return s +} + +// SetTextPart sets the TextPart field's value. +func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse { + s.TextPart = &v + return s +} + // Specifies an endpoint to create or update and the settings and attributes // to set or change for the endpoint. type EndpointBatchItem struct { @@ -12904,7 +15100,14 @@ type EndpointBatchItem struct { // The date and time, in ISO 8601 format, when the endpoint was created or updated. EffectiveDate *string `type:"string"` - // Not used. + // Specifies whether to send messages or push notifications to the endpoint. + // Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, + // messages aren’t sent to the endpoint. + // + // Amazon Pinpoint automatically sets this value to ACTIVE when you create an + // endpoint or update an existing endpoint. Amazon Pinpoint automatically sets + // this value to INACTIVE if you update another endpoint that has the same address + // specified by the Address property. EndpointStatus *string `type:"string"` // The unique identifier for the endpoint in the context of the batch. @@ -13302,7 +15505,8 @@ type EndpointMessageResult struct { StatusMessage *string `type:"string"` // For push notifications that are sent through the GCM channel, specifies whether - // the token was updated as part of delivering the message. + // the endpoint's device registration token was updated as part of delivering + // the message. UpdatedToken *string `type:"string"` } @@ -13385,7 +15589,14 @@ type EndpointRequest struct { // The date and time, in ISO 8601 format, when the endpoint is updated. EffectiveDate *string `type:"string"` - // Not used. + // Specifies whether to send messages or push notifications to the endpoint. + // Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, + // messages aren’t sent to the endpoint. + // + // Amazon Pinpoint automatically sets this value to ACTIVE when you create an + // endpoint or update an existing endpoint. Amazon Pinpoint automatically sets + // this value to INACTIVE if you update another endpoint that has the same address + // specified by the Address property. EndpointStatus *string `type:"string"` // The geographic information for the endpoint. @@ -13527,7 +15738,14 @@ type EndpointResponse struct { // The date and time, in ISO 8601 format, when the endpoint was last updated. EffectiveDate *string `type:"string"` - // Not used. + // Specifies whether messages or push notifications are sent to the endpoint. + // Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, + // messages aren’t sent to the endpoint. + // + // Amazon Pinpoint automatically sets this value to ACTIVE when you create an + // endpoint or update an existing endpoint. Amazon Pinpoint automatically sets + // this value to INACTIVE if you update another endpoint that has the same address + // specified by the Address property. EndpointStatus *string `type:"string"` // The unique identifier that you assigned to the endpoint. The identifier should @@ -14619,8 +16837,8 @@ func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse { type GCMChannelRequest struct { _ struct{} `type:"structure"` - // The API key, also referred to as a server key, that you received from Google - // to communicate with Google services. + // The Web API Key, also referred to as an API_KEY or server key, that you received + // from Google to communicate with Google services. // // ApiKey is a required field ApiKey *string `type:"string" required:"true"` @@ -14677,8 +16895,8 @@ type GCMChannelResponse struct { // The date and time when the GCM channel was enabled. CreationDate *string `type:"string"` - // The API key, also referred to as a server key, that you received from Google - // to communicate with Google services. + // The Web API Key, also referred to as an API_KEY or server key, that you received + // from Google to communicate with Google services. // // Credential is a required field Credential *string `type:"string" required:"true"` @@ -16478,29 +18696,94 @@ func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput return s } -type GetEmailChannelOutput struct { - _ struct{} `type:"structure" payload:"EmailChannelResponse"` +type GetEmailChannelOutput struct { + _ struct{} `type:"structure" payload:"EmailChannelResponse"` + + // Provides information about the status and settings of the email channel for + // an application. + // + // EmailChannelResponse is a required field + EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetEmailChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEmailChannelOutput) GoString() string { + return s.String() +} + +// SetEmailChannelResponse sets the EmailChannelResponse field's value. +func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput { + s.EmailChannelResponse = v + return s +} + +type GetEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput { + s.TemplateName = &v + return s +} + +type GetEmailTemplateOutput struct { + _ struct{} `type:"structure" payload:"EmailTemplateResponse"` - // Provides information about the status and settings of the email channel for - // an application. + // Provides information about the content and settings for a message template + // that can be used in messages that are sent through the email channel. // - // EmailChannelResponse is a required field - EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"` + // EmailTemplateResponse is a required field + EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetEmailChannelOutput) String() string { +func (s GetEmailTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEmailChannelOutput) GoString() string { +func (s GetEmailTemplateOutput) GoString() string { return s.String() } -// SetEmailChannelResponse sets the EmailChannelResponse field's value. -func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput { - s.EmailChannelResponse = v +// SetEmailTemplateResponse sets the EmailTemplateResponse field's value. +func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput { + s.EmailTemplateResponse = v return s } @@ -17043,6 +19326,71 @@ func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetI return s } +type GetPushTemplateInput struct { + _ struct{} `type:"structure"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPushTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPushTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPushTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput { + s.TemplateName = &v + return s +} + +type GetPushTemplateOutput struct { + _ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"` + + // Provides information about the content and settings for a message template + // that can be used in messages that are sent through a push notification channel. + // + // PushNotificationTemplateResponse is a required field + PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetPushTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPushTemplateOutput) GoString() string { + return s.String() +} + +// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value. +func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput { + s.PushNotificationTemplateResponse = v + return s +} + type GetSegmentExportJobsInput struct { _ struct{} `type:"structure"` @@ -17652,6 +20000,71 @@ func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetS return s } +type GetSmsTemplateInput struct { + _ struct{} `type:"structure"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSmsTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSmsTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSmsTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput { + s.TemplateName = &v + return s +} + +type GetSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"SMSTemplateResponse"` + + // Provides information about the content and settings for a message template + // that can be used in text messages that are sent through the SMS channel. + // + // SMSTemplateResponse is a required field + SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetSmsTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSmsTemplateOutput) GoString() string { + return s.String() +} + +// SetSMSTemplateResponse sets the SMSTemplateResponse field's value. +func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput { + s.SMSTemplateResponse = v + return s +} + type GetUserEndpointsInput struct { _ struct{} `type:"structure"` @@ -18326,7 +20739,8 @@ func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResource type ListTagsForResourceOutput struct { _ struct{} `type:"structure" payload:"TagsModel"` - // Specifies the tags (keys and values) for an application, campaign, or segment. + // Specifies the tags (keys and values) for an application, campaign, message + // template, or segment. // // TagsModel is a required field TagsModel *TagsModel `type:"structure" required:"true"` @@ -18348,6 +20762,78 @@ func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResou return s } +type ListTemplatesInput struct { + _ struct{} `type:"structure"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Prefix *string `location:"querystring" locationName:"prefix" type:"string"` + + TemplateType *string `location:"querystring" locationName:"template-type" type:"string"` +} + +// String returns the string representation +func (s ListTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplatesInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput { + s.PageSize = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput { + s.Prefix = &v + return s +} + +// SetTemplateType sets the TemplateType field's value. +func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput { + s.TemplateType = &v + return s +} + +type ListTemplatesOutput struct { + _ struct{} `type:"structure" payload:"TemplatesResponse"` + + // Provides information about all the message templates that are associated + // with your Amazon Pinpoint account. + // + // TemplatesResponse is a required field + TemplatesResponse *TemplatesResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ListTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplatesOutput) GoString() string { + return s.String() +} + +// SetTemplatesResponse sets the TemplatesResponse field's value. +func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput { + s.TemplatesResponse = v + return s +} + // Specifies the content and settings for a push notification that's sent to // recipients of a campaign. type Message struct { @@ -18660,6 +21146,9 @@ type MessageRequest struct { // MessageConfiguration is a required field MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"` + // The message template to use for the message. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // The unique identifier for tracing the message. This identifier is visible // to message recipients. TraceId *string `type:"string"` @@ -18712,6 +21201,12 @@ func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest { + s.TemplateConfiguration = v + return s +} + // SetTraceId sets the TraceId field's value. func (s *MessageRequest) SetTraceId(v string) *MessageRequest { s.TraceId = &v @@ -18822,7 +21317,8 @@ type MessageResult struct { StatusMessage *string `type:"string"` // For push notifications that are sent through the GCM channel, specifies whether - // the token was updated as part of delivering the message. + // the endpoint's device registration token was updated as part of delivering + // the message. UpdatedToken *string `type:"string"` } @@ -19196,8 +21692,14 @@ type PublicEndpoint struct { // The date and time, in ISO 8601 format, when the endpoint was last updated. EffectiveDate *string `type:"string"` - // The status of the update request for the endpoint. Possible values are: INACTIVE, - // the update failed; and, ACTIVE, the endpoint was updated successfully. + // Specifies whether to send messages or push notifications to the endpoint. + // Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, + // messages aren’t sent to the endpoint. + // + // Amazon Pinpoint automatically sets this value to ACTIVE when you create an + // endpoint or update an existing endpoint. Amazon Pinpoint automatically sets + // this value to INACTIVE if you update another endpoint that has the same address + // specified by the Address property. EndpointStatus *string `type:"string"` // The geographic information for the endpoint. @@ -19298,6 +21800,221 @@ func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint { return s } +// Specifies the content and settings for a message template that can be used +// in messages that are sent through a push notification channel. +type PushNotificationTemplateRequest struct { + _ struct{} `type:"structure"` + + // The message template to use for the ADM (Amazon Device Messaging) channel. + // This message template overrides the default template for push notification + // channels (DefaultPushNotificationTemplate). + ADM *AndroidPushNotificationTemplate `type:"structure"` + + // The message template to use for the APNs (Apple Push Notification service) + // channel. This message template overrides the default template for push notification + // channels (DefaultPushNotificationTemplate). + APNS *APNSPushNotificationTemplate `type:"structure"` + + // The message template to use for the Baidu (Baidu Cloud Push) channel. This + // message template overrides the default template for push notification channels + // (DefaultPushNotificationTemplate). + Baidu *AndroidPushNotificationTemplate `type:"structure"` + + // The default message template to use for push notification channels. + Default *DefaultPushNotificationTemplate `type:"structure"` + + // The message template to use for the GCM channel, which is used to send notifications + // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging + // (GCM), service. This message template overrides the default template for + // push notification channels (DefaultPushNotificationTemplate). + GCM *AndroidPushNotificationTemplate `type:"structure"` + + // A string-to-string map of key-value pairs that defines the tags to associate + // with the message template. Each tag consists of a required tag key and an + // associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s PushNotificationTemplateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PushNotificationTemplateRequest) GoString() string { + return s.String() +} + +// SetADM sets the ADM field's value. +func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest { + s.ADM = v + return s +} + +// SetAPNS sets the APNS field's value. +func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest { + s.APNS = v + return s +} + +// SetBaidu sets the Baidu field's value. +func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest { + s.Baidu = v + return s +} + +// SetDefault sets the Default field's value. +func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest { + s.Default = v + return s +} + +// SetGCM sets the GCM field's value. +func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest { + s.GCM = v + return s +} + +// SetTags sets the Tags field's value. +func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest { + s.Tags = v + return s +} + +// Provides information about the content and settings for a message template +// that can be used in messages that are sent through a push notification channel. +type PushNotificationTemplateResponse struct { + _ struct{} `type:"structure"` + + // The message template that's used for the ADM (Amazon Device Messaging) channel. + // This message template overrides the default template for push notification + // channels (DefaultPushNotificationTemplate). + ADM *AndroidPushNotificationTemplate `type:"structure"` + + // The message template that's used for the APNs (Apple Push Notification service) + // channel. This message template overrides the default template for push notification + // channels (DefaultPushNotificationTemplate). + APNS *APNSPushNotificationTemplate `type:"structure"` + + Arn *string `type:"string"` + + // The message template that's used for the Baidu (Baidu Cloud Push) channel. + // This message template overrides the default template for push notification + // channels (DefaultPushNotificationTemplate). + Baidu *AndroidPushNotificationTemplate `type:"structure"` + + // The date when the message template was created. + // + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` + + // The default message template that's used for push notification channels. + Default *DefaultPushNotificationTemplate `type:"structure"` + + // The message template that's used for the GCM channel, which is used to send + // notifications through the Firebase Cloud Messaging (FCM), formerly Google + // Cloud Messaging (GCM), service. This message template overrides the default + // template for push notification channels (DefaultPushNotificationTemplate). + GCM *AndroidPushNotificationTemplate `type:"structure"` + + // The date when the message template was last modified. + // + // LastModifiedDate is a required field + LastModifiedDate *string `type:"string" required:"true"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the message template. Each tag consists of a required tag + // key and an associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The name of the message template. + // + // TemplateName is a required field + TemplateName *string `type:"string" required:"true"` + + // The type of channel that the message template is designed for. For a push + // notification template, this value is PUSH. + // + // TemplateType is a required field + TemplateType *string `type:"string" required:"true" enum:"TemplateType"` +} + +// String returns the string representation +func (s PushNotificationTemplateResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PushNotificationTemplateResponse) GoString() string { + return s.String() +} + +// SetADM sets the ADM field's value. +func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse { + s.ADM = v + return s +} + +// SetAPNS sets the APNS field's value. +func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse { + s.APNS = v + return s +} + +// SetArn sets the Arn field's value. +func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse { + s.Arn = &v + return s +} + +// SetBaidu sets the Baidu field's value. +func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse { + s.Baidu = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse { + s.CreationDate = &v + return s +} + +// SetDefault sets the Default field's value. +func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse { + s.Default = v + return s +} + +// SetGCM sets the GCM field's value. +func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse { + s.GCM = v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse { + s.LastModifiedDate = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse { + s.Tags = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse { + s.TemplateName = &v + return s +} + +// SetTemplateType sets the TemplateType field's value. +func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse { + s.TemplateType = &v + return s +} + type PutEventStreamInput struct { _ struct{} `type:"structure" payload:"WriteEventStream"` @@ -19989,10 +22706,10 @@ type SMSMessage struct { // a marketing message. MessageType *string `type:"string" enum:"MessageType"` - // The number that the SMS message originates from. This should be one of the - // dedicated long codes or short codes that you requested from AWS Support and - // is assigned to your AWS account. If you don't specify a long or short code, - // Amazon Pinpoint assigns a random long code to the SMS message. + // The number to send the SMS message from. This value should be one of the + // dedicated long or short codes that's assigned to your AWS account. If you + // don't specify a long or short code, Amazon Pinpoint assigns a random long + // code to the SMS message and sends the message from that code. OriginationNumber *string `type:"string"` // The sender ID to display as the sender of the message on a recipient's device. @@ -20050,6 +22767,132 @@ func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage { return s } +// Specifies the content and settings for a message template that can be used +// in text messages that are sent through the SMS channel. +type SMSTemplateRequest struct { + _ struct{} `type:"structure"` + + // The message body to use in text messages that are based on the message template. + Body *string `type:"string"` + + // A string-to-string map of key-value pairs that defines the tags to associate + // with the message template. Each tag consists of a required tag key and an + // associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s SMSTemplateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SMSTemplateRequest) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest { + s.Body = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest { + s.Tags = v + return s +} + +// Provides information about the content and settings for a message template +// that can be used in text messages that are sent through the SMS channel. +type SMSTemplateResponse struct { + _ struct{} `type:"structure"` + + Arn *string `type:"string"` + + // The message body that's used in text messages that are based on the message + // template. + Body *string `type:"string"` + + // The date when the message template was created. + // + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` + + // The date when the message template was last modified. + // + // LastModifiedDate is a required field + LastModifiedDate *string `type:"string" required:"true"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the message template. Each tag consists of a required tag + // key and an associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The name of the message template. + // + // TemplateName is a required field + TemplateName *string `type:"string" required:"true"` + + // The type of channel that the message template is designed for. For an SMS + // template, this value is SMS. + // + // TemplateType is a required field + TemplateType *string `type:"string" required:"true" enum:"TemplateType"` +} + +// String returns the string representation +func (s SMSTemplateResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SMSTemplateResponse) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse { + s.Arn = &v + return s +} + +// SetBody sets the Body field's value. +func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse { + s.Body = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse { + s.CreationDate = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse { + s.LastModifiedDate = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse { + s.Tags = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse { + s.TemplateName = &v + return s +} + +// SetTemplateType sets the TemplateType field's value. +func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse { + s.TemplateType = &v + return s +} + // Specifies the schedule settings for a campaign. type Schedule struct { _ struct{} `type:"structure"` @@ -21076,6 +23919,9 @@ type SendUsersMessageRequest struct { // MessageConfiguration is a required field MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"` + // The message template to use for the message. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // The unique identifier for tracing the message. This identifier is visible // to message recipients. TraceId *string `type:"string"` @@ -21126,6 +23972,12 @@ func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfig return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest { + s.TemplateConfiguration = v + return s +} + // SetTraceId sets the TraceId field's value. func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest { s.TraceId = &v @@ -21392,7 +24244,7 @@ func (s *SetDimension) SetValues(v []*string) *SetDimension { return s } -// Specifies the content of an email message, composed of a subject, a text +// Specifies the contents of an email message, composed of a subject, a text // part, and an HTML part. type SimpleEmail struct { _ struct{} `type:"structure"` @@ -21479,114 +24331,302 @@ type TagResourceInput struct { // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` - // Specifies the tags (keys and values) for an application, campaign, or segment. + // Specifies the tags (keys and values) for an application, campaign, message + // template, or segment. + // + // TagsModel is a required field + TagsModel *TagsModel `type:"structure" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagsModel == nil { + invalidParams.Add(request.NewErrParamRequired("TagsModel")) + } + if s.TagsModel != nil { + if err := s.TagsModel.Validate(); err != nil { + invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagsModel sets the TagsModel field's value. +func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput { + s.TagsModel = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Specifies the tags (keys and values) for an application, campaign, message +// template, or segment. +type TagsModel struct { + _ struct{} `type:"structure"` + + // A string-to-string map of key-value pairs that defines the tags for an application, + // campaign, message template, or segment. Each project, campaign, message template, + // or segment can have a maximum of 50 tags. + // + // Each tag consists of a required tag key and an associated tag value. The + // maximum length of a tag key is 128 characters. The maximum length of a tag + // value is 256 characters. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagsModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagsModel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagsModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagsModel"} + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTags sets the Tags field's value. +func (s *TagsModel) SetTags(v map[string]*string) *TagsModel { + s.Tags = v + return s +} + +// Specifies the name of the message template to use for the message. +type Template struct { + _ struct{} `type:"structure"` + + // The name of the message template to use for the message. If specified, this + // value must match the name of an existing message template. + Name *string `type:"string"` +} + +// String returns the string representation +func (s Template) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Template) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Template) SetName(v string) *Template { + s.Name = &v + return s +} + +// Specifies the message template to use for the message, for each type of channel. +type TemplateConfiguration struct { + _ struct{} `type:"structure"` + + // The email template to use for the message. + EmailTemplate *Template `type:"structure"` + + // The push notification template to use for the message. + PushTemplate *Template `type:"structure"` + + // The SMS template to use for the message. + SMSTemplate *Template `type:"structure"` +} + +// String returns the string representation +func (s TemplateConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateConfiguration) GoString() string { + return s.String() +} + +// SetEmailTemplate sets the EmailTemplate field's value. +func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration { + s.EmailTemplate = v + return s +} + +// SetPushTemplate sets the PushTemplate field's value. +func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration { + s.PushTemplate = v + return s +} + +// SetSMSTemplate sets the SMSTemplate field's value. +func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration { + s.SMSTemplate = v + return s +} + +// Provides information about a message template that's associated with your +// Amazon Pinpoint account. +type TemplateResponse struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the message template. + Arn *string `type:"string"` + + // The date when the message template was created. + // + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` + + // The date when the message template was last modified. + // + // LastModifiedDate is a required field + LastModifiedDate *string `type:"string" required:"true"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the message template. Each tag consists of a required tag + // key and an associated tag value. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The name of the message template. + // + // TemplateName is a required field + TemplateName *string `type:"string" required:"true"` + + // The type of channel that the message template is designed for. // - // TagsModel is a required field - TagsModel *TagsModel `type:"structure" required:"true"` + // TemplateType is a required field + TemplateType *string `type:"string" required:"true" enum:"TemplateType"` } // String returns the string representation -func (s TagResourceInput) String() string { +func (s TemplateResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceInput) GoString() string { +func (s TemplateResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - if s.TagsModel == nil { - invalidParams.Add(request.NewErrParamRequired("TagsModel")) - } - if s.TagsModel != nil { - if err := s.TagsModel.Validate(); err != nil { - invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *TemplateResponse) SetArn(v string) *TemplateResponse { + s.Arn = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetCreationDate sets the CreationDate field's value. +func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse { + s.CreationDate = &v return s } -// SetTagsModel sets the TagsModel field's value. -func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput { - s.TagsModel = v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse { + s.LastModifiedDate = &v return s } -type TagResourceOutput struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse { + s.Tags = v + return s } -// String returns the string representation -func (s TagResourceOutput) String() string { - return awsutil.Prettify(s) +// SetTemplateName sets the TemplateName field's value. +func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse { + s.TemplateName = &v + return s } -// GoString returns the string representation -func (s TagResourceOutput) GoString() string { - return s.String() +// SetTemplateType sets the TemplateType field's value. +func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse { + s.TemplateType = &v + return s } -// Specifies the tags (keys and values) for an application, campaign, or segment. -type TagsModel struct { +// Provides information about all the message templates that are associated +// with your Amazon Pinpoint account. +type TemplatesResponse struct { _ struct{} `type:"structure"` - // A string-to-string map of key-value pairs that defines the tags for an application, - // campaign, or segment. A project, campaign, or segment can have a maximum - // of 50 tags. - // - // Each tag consists of a required tag key and an associated tag value. The - // maximum length of a tag key is 128 characters. The maximum length of a tag - // value is 256 characters. + // An array of responses, one for each message template that's associated with + // your Amazon Pinpoint account and meets any filter criteria that you specified + // in the request. // - // Tags is a required field - Tags map[string]*string `locationName:"tags" type:"map" required:"true"` + // Item is a required field + Item []*TemplateResponse `type:"list" required:"true"` + + // The string to use in a subsequent request to get the next page of results + // in a paginated response. This value is null if there are no additional pages. + NextToken *string `type:"string"` } // String returns the string representation -func (s TagsModel) String() string { +func (s TemplatesResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagsModel) GoString() string { +func (s TemplatesResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TagsModel) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagsModel"} - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetItem sets the Item field's value. +func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse { + s.Item = v + return s } -// SetTags sets the Tags field's value. -func (s *TagsModel) SetTags(v map[string]*string) *TagsModel { - s.Tags = v +// SetNextToken sets the NextToken field's value. +func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse { + s.NextToken = &v return s } @@ -21615,6 +24655,9 @@ type TreatmentResource struct { // The status of the treatment. State *CampaignState `type:"structure"` + // The message template that’s used for the treatment. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // The custom description of the treatment. TreatmentDescription *string `type:"string"` @@ -21663,6 +24706,12 @@ func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource { return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource { + s.TemplateConfiguration = v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource { s.TreatmentDescription = &v @@ -22520,6 +25569,85 @@ func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelRespon return s } +type UpdateEmailTemplateInput struct { + _ struct{} `type:"structure" payload:"EmailTemplateRequest"` + + // Specifies the content and settings for a message template that can be used + // in messages that are sent through the email channel. + // + // EmailTemplateRequest is a required field + EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"} + if s.EmailTemplateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailTemplateRequest sets the EmailTemplateRequest field's value. +func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput { + s.EmailTemplateRequest = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput { + s.TemplateName = &v + return s +} + +type UpdateEmailTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` + + // Provides information about an API request or response. + // + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmailTemplateOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput { + s.MessageBody = v + return s +} + type UpdateEndpointInput struct { _ struct{} `type:"structure" payload:"EndpointRequest"` @@ -22785,6 +25913,85 @@ func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *U return s } +type UpdatePushTemplateInput struct { + _ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"` + + // Specifies the content and settings for a message template that can be used + // in messages that are sent through a push notification channel. + // + // PushNotificationTemplateRequest is a required field + PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdatePushTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePushTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePushTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"} + if s.PushNotificationTemplateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value. +func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput { + s.PushNotificationTemplateRequest = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput { + s.TemplateName = &v + return s +} + +type UpdatePushTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` + + // Provides information about an API request or response. + // + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdatePushTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePushTemplateOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput { + s.MessageBody = v + return s +} + type UpdateSegmentInput struct { _ struct{} `type:"structure" payload:"WriteSegmentRequest"` @@ -22965,6 +26172,85 @@ func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *U return s } +type UpdateSmsTemplateInput struct { + _ struct{} `type:"structure" payload:"SMSTemplateRequest"` + + // Specifies the content and settings for a message template that can be used + // in text messages that are sent through the SMS channel. + // + // SMSTemplateRequest is a required field + SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"` + + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateSmsTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSmsTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSmsTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"} + if s.SMSTemplateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSMSTemplateRequest sets the SMSTemplateRequest field's value. +func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput { + s.SMSTemplateRequest = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput { + s.TemplateName = &v + return s +} + +type UpdateSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` + + // Provides information about an API request or response. + // + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateSmsTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSmsTemplateOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput { + s.MessageBody = v + return s +} + type UpdateVoiceChannelInput struct { _ struct{} `type:"structure" payload:"VoiceChannelRequest"` @@ -23199,9 +26485,10 @@ type VoiceMessage struct { // languages, see the Amazon Polly Developer Guide (AmazonPollyDG.html). LanguageCode *string `type:"string"` - // The phone number from the pool or messaging service to send the message from. - // Although it isn't required, we recommend that you specify the phone number - // in E.164 format to ensure prompt and accurate delivery. + // The long code to send the voice message from. This value should be one of + // the dedicated long codes that's assigned to your AWS account. Although it + // isn't required, we recommend that you specify the long code in E.164 format, + // for example +12065550100, to ensure prompt and accurate delivery of the message. OriginationNumber *string `type:"string"` // The default message variables to use in the voice message. You can override @@ -23373,6 +26660,9 @@ type WriteCampaignRequest struct { // tag value. Tags map[string]*string `locationName:"tags" type:"map"` + // The message template to use for the campaign. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // The custom description of a variation of the campaign to use for A/B testing. TreatmentDescription *string `type:"string"` @@ -23492,6 +26782,12 @@ func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignReque return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest { + s.TemplateConfiguration = v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest { s.TreatmentDescription = &v @@ -23660,6 +26956,9 @@ type WriteTreatmentResource struct { // SizePercent is a required field SizePercent *int64 `type:"integer" required:"true"` + // The message template to use for the treatment. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // The custom description of the treatment. TreatmentDescription *string `type:"string"` @@ -23719,6 +27018,12 @@ func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource { + s.TemplateConfiguration = v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource { s.TreatmentDescription = &v @@ -23963,6 +27268,17 @@ const ( SourceTypeNone = "NONE" ) +const ( + // TemplateTypeEmail is a TemplateType enum value + TemplateTypeEmail = "EMAIL" + + // TemplateTypeSms is a TemplateType enum value + TemplateTypeSms = "SMS" + + // TemplateTypePush is a TemplateType enum value + TemplateTypePush = "PUSH" +) + const ( // TypeAll is a Type enum value TypeAll = "ALL" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index 4c2bb71ffe1..8695fea0547 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -800,6 +800,13 @@ func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput // // Creates a new maintenance window. // +// The value you specify for Duration determines the specific end time for the +// maintenance window based on the time it begins. No maintenance window tasks +// are permitted to start after the resulting endtime minus the number of hours +// you specify for Cutoff. For example, if the maintenance window starts at +// 3 PM, the duration is three hours, and the value you specify for Cutoff is +// one hour, no maintenance window tasks can start after 5 PM. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -10449,6 +10456,9 @@ func (c *SSM) StartSessionRequest(input *StartSessionInput) (req *request.Reques // For information, see Install the Session Manager Plugin for the AWS CLI (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) // in the AWS Systems Manager User Guide. // +// AWS Tools for PowerShell usage: Start-SSMSession is not currently supported +// by AWS Tools for PowerShell on Windows local machines. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -11145,6 +11155,13 @@ func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput // // Updates an existing maintenance window. Only specified parameters are modified. // +// The value you specify for Duration determines the specific end time for the +// maintenance window based on the time it begins. No maintenance window tasks +// are permitted to start after the resulting endtime minus the number of hours +// you specify for Cutoff. For example, if the maintenance window starts at +// 3 PM, the duration is three hours, and the value you specify for Cutoff is +// one hour, no maintenance window tasks can start after 5 PM. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. diff --git a/vendor/modules.txt b/vendor/modules.txt index cb2597f4eba..4d88b896d38 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -21,7 +21,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.25.4 +# github.com/aws/aws-sdk-go v1.25.9 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr