From 60046c8669eaf66ca44b6f6cffdd35d555258070 Mon Sep 17 00:00:00 2001 From: DrFaust92 Date: Sun, 20 Oct 2019 23:52:23 +0300 Subject: [PATCH 01/46] refactor api gateway stage to use keyvaluetags add additional tag tests add arn resource + test update doc remove tags_apigateway.go file use enums where applicable --- aws/resource_aws_api_gateway_stage.go | 66 ++++++++----- aws/resource_aws_api_gateway_stage_test.go | 99 +++++++++++-------- aws/tags_apigateway.go | 44 --------- .../docs/r/api_gateway_stage.html.markdown | 1 + 4 files changed, 102 insertions(+), 108 deletions(-) delete mode 100644 aws/tags_apigateway.go diff --git a/aws/resource_aws_api_gateway_stage.go b/aws/resource_aws_api_gateway_stage.go index 2735e736f5c..8ab4f5c70d2 100644 --- a/aws/resource_aws_api_gateway_stage.go +++ b/aws/resource_aws_api_gateway_stage.go @@ -12,6 +12,8 @@ import ( "github.com/aws/aws-sdk-go/service/apigateway" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsApiGatewayStage() *schema.Resource { @@ -64,6 +66,16 @@ func resourceAwsApiGatewayStage() *schema.Resource { "cache_cluster_size": { Type: schema.TypeString, Optional: true, + ValidateFunc: validation.StringInSlice([]string{ + apigateway.CacheClusterSize05, + apigateway.CacheClusterSize16, + apigateway.CacheClusterSize61, + apigateway.CacheClusterSize118, + apigateway.CacheClusterSize135, + apigateway.CacheClusterSize237, + apigateway.CacheClusterSize284, + apigateway.CacheClusterSize582, + }, true), }, "client_certificate_id": { Type: schema.TypeString, @@ -108,6 +120,10 @@ func resourceAwsApiGatewayStage() *schema.Resource { Type: schema.TypeBool, Optional: true, }, + "arn": { + Type: schema.TypeString, + Computed: true, + }, }, } } @@ -148,12 +164,8 @@ func resourceAwsApiGatewayStageCreate(d *schema.ResourceData, meta interface{}) } input.Variables = aws.StringMap(variables) } - if vars, ok := d.GetOk("tags"); ok { - newMap := make(map[string]string, len(vars.(map[string]interface{}))) - for k, v := range vars.(map[string]interface{}) { - newMap[k] = v.(string) - } - input.Tags = aws.StringMap(newMap) + if v, ok := d.GetOk("tags"); ok { + input.Tags = keyvaluetags.New(v.(map[string]interface{})).IgnoreAws().ApigatewayTags() } out, err := conn.CreateStage(&input) @@ -170,14 +182,14 @@ func resourceAwsApiGatewayStageCreate(d *schema.ResourceData, meta interface{}) d.SetPartial("variables") d.SetPartial("xray_tracing_enabled") - if waitForCache && *out.CacheClusterStatus != "NOT_AVAILABLE" { + if waitForCache && *out.CacheClusterStatus != apigateway.CacheClusterStatusNotAvailable { stateConf := &resource.StateChangeConf{ Pending: []string{ - "CREATE_IN_PROGRESS", - "DELETE_IN_PROGRESS", - "FLUSH_IN_PROGRESS", + apigateway.CacheClusterStatusCreateInProgress, + apigateway.CacheClusterStatusDeleteInProgress, + apigateway.CacheClusterStatusFlushInProgress, }, - Target: []string{"AVAILABLE"}, + Target: []string{apigateway.CacheClusterStatusAvailable}, Refresh: apiGatewayStageCacheRefreshFunc(conn, d.Get("rest_api_id").(string), d.Get("stage_name").(string)), @@ -215,7 +227,7 @@ func resourceAwsApiGatewayStageRead(d *schema.ResourceData, meta interface{}) er } stage, err := conn.GetStage(&input) if err != nil { - if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "NotFoundException" { + if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == apigateway.ErrCodeNotFoundException { log.Printf("[WARN] API Gateway Stage (%s) not found, removing from state", d.Id()) d.SetId("") return nil @@ -230,7 +242,7 @@ func resourceAwsApiGatewayStageRead(d *schema.ResourceData, meta interface{}) er d.Set("client_certificate_id", stage.ClientCertificateId) - if stage.CacheClusterStatus != nil && *stage.CacheClusterStatus == "DELETE_IN_PROGRESS" { + if stage.CacheClusterStatus != nil && *stage.CacheClusterStatus == apigateway.CacheClusterStatusDeleteInProgress { d.Set("cache_cluster_enabled", false) d.Set("cache_cluster_size", nil) } else { @@ -243,10 +255,18 @@ func resourceAwsApiGatewayStageRead(d *schema.ResourceData, meta interface{}) er d.Set("documentation_version", stage.DocumentationVersion) d.Set("xray_tracing_enabled", stage.TracingEnabled) - if err := d.Set("tags", aws.StringValueMap(stage.Tags)); err != nil { + if err := d.Set("tags", keyvaluetags.ApigatewayKeyValueTags(stage.Tags).IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } + stageArn := arn.ARN{ + Partition: meta.(*AWSClient).partition, + Region: meta.(*AWSClient).region, + Service: "apigateway", + Resource: fmt.Sprintf("/restapis/%s/stages/%s", d.Get("rest_api_id").(string), d.Get("stage_name").(string)), + }.String() + d.Set("arn", stageArn) + if err := d.Set("variables", aws.StringValueMap(stage.Variables)); err != nil { return fmt.Errorf("error setting variables: %s", err) } @@ -277,10 +297,12 @@ func resourceAwsApiGatewayStageUpdate(d *schema.ResourceData, meta interface{}) Service: "apigateway", Resource: fmt.Sprintf("/restapis/%s/stages/%s", d.Get("rest_api_id").(string), d.Get("stage_name").(string)), }.String() - if tagErr := setTagsAPIGatewayStage(conn, d, stageArn); tagErr != nil { - return tagErr + if d.HasChange("tags") { + o, n := d.GetChange("tags") + if err := keyvaluetags.ApigatewayUpdateTags(conn, stageArn, o, n); err != nil { + return fmt.Errorf("error updating tags: %s", err) + } } - d.SetPartial("tags") operations := make([]*apigateway.PatchOperation, 0) waitForCache := false @@ -380,17 +402,17 @@ func resourceAwsApiGatewayStageUpdate(d *schema.ResourceData, meta interface{}) d.SetPartial("xray_tracing_enabled") d.SetPartial("variables") - if waitForCache && *out.CacheClusterStatus != "NOT_AVAILABLE" { + if waitForCache && *out.CacheClusterStatus != apigateway.CacheClusterStatusNotAvailable { stateConf := &resource.StateChangeConf{ Pending: []string{ - "CREATE_IN_PROGRESS", - "FLUSH_IN_PROGRESS", + apigateway.CacheClusterStatusCreateInProgress, + apigateway.CacheClusterStatusFlushInProgress, }, Target: []string{ - "AVAILABLE", + apigateway.CacheClusterStatusAvailable, // There's an AWS API bug (raised & confirmed in Sep 2016 by support) // which causes the stage to remain in deletion state forever - "DELETE_IN_PROGRESS", + apigateway.CacheClusterStatusDeleteInProgress, }, Refresh: apiGatewayStageCacheRefreshFunc(conn, d.Get("rest_api_id").(string), diff --git a/aws/resource_aws_api_gateway_stage_test.go b/aws/resource_aws_api_gateway_stage_test.go index 9ea0ba46cb6..e0510e51794 100644 --- a/aws/resource_aws_api_gateway_stage_test.go +++ b/aws/resource_aws_api_gateway_stage_test.go @@ -16,6 +16,7 @@ import ( func TestAccAWSAPIGatewayStage_basic(t *testing.T) { var conf apigateway.Stage rName := acctest.RandString(5) + resourceName := "aws_api_gateway_stage.test" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -25,43 +26,51 @@ func TestAccAWSAPIGatewayStage_basic(t *testing.T) { { Config: testAccAWSAPIGatewayStageConfig_basic(rName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "stage_name", "prod"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "cache_cluster_enabled", "true"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "cache_cluster_size", "0.5"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "tags.%", "1"), - resource.TestCheckResourceAttrSet("aws_api_gateway_stage.test", "execution_arn"), - resource.TestCheckResourceAttrSet("aws_api_gateway_stage.test", "invoke_url"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "xray_tracing_enabled", "true"), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "stage_name", "prod"), + resource.TestCheckResourceAttr(resourceName, "cache_cluster_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "cache_cluster_size", "0.5"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.Name", "tf-test"), + resource.TestCheckResourceAttrSet(resourceName, "execution_arn"), + resource.TestCheckResourceAttrSet(resourceName, "invoke_url"), + resource.TestCheckResourceAttr(resourceName, "xray_tracing_enabled", "true"), ), }, { - ResourceName: "aws_api_gateway_stage.test", + ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: testAccAWSAPIGatewayStageImportStateIdFunc("aws_api_gateway_stage.test"), + ImportStateIdFunc: testAccAWSAPIGatewayStageImportStateIdFunc(resourceName), ImportStateVerify: true, }, { Config: testAccAWSAPIGatewayStageConfig_updated(rName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "stage_name", "prod"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "cache_cluster_enabled", "false"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "tags.%", "2"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "xray_tracing_enabled", "false"), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "stage_name", "prod"), + resource.TestCheckResourceAttr(resourceName, "cache_cluster_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "tags.Name", "tf-test"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Name", "tf-test"), + resource.TestCheckResourceAttr(resourceName, "tags.ExtraName", "tf-test"), + resource.TestCheckResourceAttr(resourceName, "xray_tracing_enabled", "false"), ), }, { Config: testAccAWSAPIGatewayStageConfig_basic(rName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "stage_name", "prod"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "cache_cluster_enabled", "true"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "cache_cluster_size", "0.5"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "tags.%", "1"), - resource.TestCheckResourceAttrSet("aws_api_gateway_stage.test", "execution_arn"), - resource.TestCheckResourceAttrSet("aws_api_gateway_stage.test", "invoke_url"), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "xray_tracing_enabled", "true"), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "stage_name", "prod"), + resource.TestCheckResourceAttr(resourceName, "cache_cluster_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "cache_cluster_size", "0.5"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.Name", "tf-test"), + resource.TestCheckResourceAttrSet(resourceName, "execution_arn"), + resource.TestCheckResourceAttrSet(resourceName, "invoke_url"), + resource.TestCheckResourceAttr(resourceName, "xray_tracing_enabled", "true"), ), }, }, @@ -71,6 +80,7 @@ func TestAccAWSAPIGatewayStage_basic(t *testing.T) { func TestAccAWSAPIGatewayStage_accessLogSettings(t *testing.T) { var conf apigateway.Stage rName := acctest.RandString(5) + resourceName := "aws_api_gateway_stage.test" logGroupArnRegex := regexp.MustCompile(fmt.Sprintf("^arn:[^:]+:logs:[^:]+:[^:]+:log-group:foo-bar-%s$", rName)) clf := `$context.identity.sourceIp $context.identity.caller $context.identity.user [$context.requestTime] "$context.httpMethod $context.resourcePath $context.protocol" $context.status $context.responseLength $context.requestId` json := `{ "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "caller":"$context.identity.caller", "user":"$context.identity.user", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod", "resourcePath":"$context.resourcePath", "status":"$context.status", "protocol":"$context.protocol", "responseLength":"$context.responseLength" }` @@ -85,45 +95,50 @@ func TestAccAWSAPIGatewayStage_accessLogSettings(t *testing.T) { { Config: testAccAWSAPIGatewayStageConfig_accessLogSettings(rName, clf), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.#", "1"), - resource.TestMatchResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.destination_arn", logGroupArnRegex), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.format", clf), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.#", "1"), + resource.TestMatchResourceAttr(resourceName, "access_log_settings.0.destination_arn", logGroupArnRegex), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.0.format", clf), ), }, { Config: testAccAWSAPIGatewayStageConfig_accessLogSettings(rName, json), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.#", "1"), - resource.TestMatchResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.destination_arn", logGroupArnRegex), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.format", json), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.#", "1"), + resource.TestMatchResourceAttr(resourceName, "access_log_settings.0.destination_arn", logGroupArnRegex), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.0.format", json), ), }, { Config: testAccAWSAPIGatewayStageConfig_accessLogSettings(rName, xml), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.#", "1"), - resource.TestMatchResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.destination_arn", logGroupArnRegex), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.format", xml), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.#", "1"), + resource.TestMatchResourceAttr(resourceName, "access_log_settings.0.destination_arn", logGroupArnRegex), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.0.format", xml), ), }, { Config: testAccAWSAPIGatewayStageConfig_accessLogSettings(rName, csv), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.#", "1"), - resource.TestMatchResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.destination_arn", logGroupArnRegex), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.0.format", csv), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.#", "1"), + resource.TestMatchResourceAttr(resourceName, "access_log_settings.0.destination_arn", logGroupArnRegex), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.0.format", csv), ), }, { Config: testAccAWSAPIGatewayStageConfig_basic(rName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSAPIGatewayStageExists("aws_api_gateway_stage.test", &conf), - resource.TestCheckResourceAttr("aws_api_gateway_stage.test", "access_log_settings.#", "0"), + testAccCheckAWSAPIGatewayStageExists(resourceName, &conf), + testAccMatchResourceAttrRegionalARNNoAccount(resourceName, "arn", "apigateway", regexp.MustCompile(`/restapis/.+/stages/prod`)), + resource.TestCheckResourceAttr(resourceName, "access_log_settings.#", "0"), ), }, }, @@ -179,7 +194,7 @@ func testAccCheckAWSAPIGatewayStageDestroy(s *terraform.State) error { if !ok { return err } - if awsErr.Code() != "NotFoundException" { + if awsErr.Code() != apigateway.ErrCodeNotFoundException { return err } diff --git a/aws/tags_apigateway.go b/aws/tags_apigateway.go deleted file mode 100644 index 56645afd45a..00000000000 --- a/aws/tags_apigateway.go +++ /dev/null @@ -1,44 +0,0 @@ -package aws - -import ( - "log" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/service/apigateway" - "github.com/hashicorp/terraform-plugin-sdk/helper/schema" -) - -func setTagsAPIGatewayStage(conn *apigateway.APIGateway, d *schema.ResourceData, arn string) error { - if d.HasChange("tags") { - oraw, nraw := d.GetChange("tags") - o := oraw.(map[string]interface{}) - n := nraw.(map[string]interface{}) - create, remove := diffTagsGeneric(o, n) - if len(remove) > 0 { - log.Printf("[DEBUG] Removing tags: %#v", remove) - keys := make([]*string, 0, len(remove)) - for k := range remove { - keys = append(keys, aws.String(k)) - } - - _, err := conn.UntagResource(&apigateway.UntagResourceInput{ - ResourceArn: aws.String(arn), - TagKeys: keys, - }) - if err != nil { - return err - } - } - if len(create) > 0 { - log.Printf("[DEBUG] Creating tags: %#v", create) - _, err := conn.TagResource(&apigateway.TagResourceInput{ - ResourceArn: aws.String(arn), - Tags: create, - }) - if err != nil { - return err - } - } - } - return nil -} diff --git a/website/docs/r/api_gateway_stage.html.markdown b/website/docs/r/api_gateway_stage.html.markdown index 206545091c0..eac7e3a3849 100644 --- a/website/docs/r/api_gateway_stage.html.markdown +++ b/website/docs/r/api_gateway_stage.html.markdown @@ -129,6 +129,7 @@ In addition to all arguments above, the following attributes are exported: * `execution_arn` - The execution ARN to be used in [`lambda_permission`](/docs/providers/aws/r/lambda_permission.html)'s `source_arn` when allowing API Gateway to invoke a Lambda function, e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod` + * `arn` - Amazon Resource Name (ARN) ## Import From 75eee9317eac1d9ea679879d6c79af06706911d6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 4 Nov 2019 21:38:21 +0000 Subject: [PATCH 02/46] Update module yaml to v2.2.5 --- go.mod | 2 +- go.sum | 1 + vendor/gopkg.in/yaml.v2/decode.go | 14 ++++++++------ vendor/modules.txt | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index b6b71afd7a8..5beed2eda26 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/pquerna/otp v1.2.0 github.com/vmihailenco/msgpack v4.0.1+incompatible // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.2.4 + gopkg.in/yaml.v2 v2.2.5 k8s.io/apimachinery v0.0.0-20190204010555-a98ff070d70e // indirect k8s.io/client-go v10.0.0+incompatible // indirect k8s.io/klog v0.1.0 // indirect diff --git a/go.sum b/go.sum index 2a69cc31697..6426cd7d080 100644 --- a/go.sum +++ b/go.sum @@ -623,6 +623,7 @@ gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/vendor/gopkg.in/yaml.v2/decode.go b/vendor/gopkg.in/yaml.v2/decode.go index 53108765555..129bc2a97d3 100644 --- a/vendor/gopkg.in/yaml.v2/decode.go +++ b/vendor/gopkg.in/yaml.v2/decode.go @@ -319,10 +319,14 @@ func (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unm } const ( - // 400,000 decode operations is ~500kb of dense object declarations, or ~5kb of dense object declarations with 10000% alias expansion + // 400,000 decode operations is ~500kb of dense object declarations, or + // ~5kb of dense object declarations with 10000% alias expansion alias_ratio_range_low = 400000 - // 4,000,000 decode operations is ~5MB of dense object declarations, or ~4.5MB of dense object declarations with 10% alias expansion + + // 4,000,000 decode operations is ~5MB of dense object declarations, or + // ~4.5MB of dense object declarations with 10% alias expansion alias_ratio_range_high = 4000000 + // alias_ratio_range is the range over which we scale allowed alias ratios alias_ratio_range = float64(alias_ratio_range_high - alias_ratio_range_low) ) @@ -784,8 +788,7 @@ func (d *decoder) merge(n *node, out reflect.Value) { case mappingNode: d.unmarshal(n, out) case aliasNode: - an, ok := d.doc.anchors[n.value] - if ok && an.kind != mappingNode { + if n.alias != nil && n.alias.kind != mappingNode { failWantMap() } d.unmarshal(n, out) @@ -794,8 +797,7 @@ func (d *decoder) merge(n *node, out reflect.Value) { for i := len(n.children) - 1; i >= 0; i-- { ni := n.children[i] if ni.kind == aliasNode { - an, ok := d.doc.anchors[ni.value] - if ok && an.kind != mappingNode { + if ni.alias != nil && ni.alias.kind != mappingNode { failWantMap() } } else if ni.kind != mappingNode { diff --git a/vendor/modules.txt b/vendor/modules.txt index 39d10d8819f..e6eb875a4da 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -795,7 +795,7 @@ google.golang.org/grpc/tap google.golang.org/grpc/test/bufconn # gopkg.in/inf.v0 v0.9.1 gopkg.in/inf.v0 -# gopkg.in/yaml.v2 v2.2.4 +# gopkg.in/yaml.v2 v2.2.5 gopkg.in/yaml.v2 # honnef.co/go/tools v0.0.1-2019.2.3 honnef.co/go/tools/arg From 6ba566a7e0e3a6d53dd3c15ce3ecd284034dd9c3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Nov 2019 14:37:58 -0500 Subject: [PATCH 03/46] r/aws_launch_template: Tag on create. --- aws/resource_aws_launch_template.go | 56 ++++++++++++++--------------- aws/tags.go | 3 +- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/aws/resource_aws_launch_template.go b/aws/resource_aws_launch_template.go index bbc77994432..094814d1c99 100644 --- a/aws/resource_aws_launch_template.go +++ b/aws/resource_aws_launch_template.go @@ -14,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsLaunchTemplate() *schema.Resource { @@ -477,8 +478,8 @@ func resourceAwsLaunchTemplate() *schema.Resource { Type: schema.TypeString, Optional: true, ValidateFunc: validation.StringInSlice([]string{ - "instance", - "volume", + ec2.ResourceTypeInstance, + ec2.ResourceTypeVolume, }, false), }, "tags": tagsSchema(), @@ -531,6 +532,7 @@ func resourceAwsLaunchTemplateCreate(d *schema.ResourceData, meta interface{}) e ClientToken: aws.String(resource.UniqueId()), LaunchTemplateName: aws.String(ltName), LaunchTemplateData: launchTemplateData, + TagSpecifications: ec2TagSpecificationsFromMap(d.Get("tags").(map[string]interface{}), ec2.ResourceTypeLaunchTemplate), } if v, ok := d.GetOk("description"); ok && v.(string) != "" { @@ -548,7 +550,7 @@ func resourceAwsLaunchTemplateCreate(d *schema.ResourceData, meta interface{}) e log.Printf("[DEBUG] Launch Template created: %q (version %d)", *launchTemplate.LaunchTemplateId, *launchTemplate.LatestVersionNumber) - return resourceAwsLaunchTemplateUpdate(d, meta) + return resourceAwsLaunchTemplateRead(d, meta) } func resourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) error { @@ -593,7 +595,9 @@ func resourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) err d.Set("name", lt.LaunchTemplateName) d.Set("latest_version", lt.LatestVersionNumber) d.Set("default_version", lt.DefaultVersionNumber) - d.Set("tags", tagsToMap(lt.Tags)) + if err := d.Set("tags", keyvaluetags.Ec2KeyValueTags(lt.Tags).IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) + } arn := arn.ARN{ Partition: meta.(*AWSClient).partition, @@ -691,38 +695,34 @@ func resourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) err func resourceAwsLaunchTemplateUpdate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).ec2conn - if !d.IsNewResource() { - launchTemplateData, err := buildLaunchTemplateData(d) - if err != nil { - return err - } + launchTemplateData, err := buildLaunchTemplateData(d) + if err != nil { + return err + } - launchTemplateVersionOpts := &ec2.CreateLaunchTemplateVersionInput{ - ClientToken: aws.String(resource.UniqueId()), - LaunchTemplateId: aws.String(d.Id()), - LaunchTemplateData: launchTemplateData, - } + launchTemplateVersionOpts := &ec2.CreateLaunchTemplateVersionInput{ + ClientToken: aws.String(resource.UniqueId()), + LaunchTemplateId: aws.String(d.Id()), + LaunchTemplateData: launchTemplateData, + } - if v, ok := d.GetOk("description"); ok && v.(string) != "" { - launchTemplateVersionOpts.VersionDescription = aws.String(v.(string)) - } + if v, ok := d.GetOk("description"); ok && v.(string) != "" { + launchTemplateVersionOpts.VersionDescription = aws.String(v.(string)) + } - _, createErr := conn.CreateLaunchTemplateVersion(launchTemplateVersionOpts) - if createErr != nil { - return createErr - } + _, createErr := conn.CreateLaunchTemplateVersion(launchTemplateVersionOpts) + if createErr != nil { + return createErr } - d.Partial(true) + if d.HasChange("tags") { + o, n := d.GetChange("tags") - if err := setTags(conn, d); err != nil { - return err - } else { - d.SetPartial("tags") + if err := keyvaluetags.Ec2UpdateTags(conn, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating tags: %s", err) + } } - d.Partial(false) - return resourceAwsLaunchTemplateRead(d, meta) } diff --git a/aws/tags.go b/aws/tags.go index ea003997197..b5e7359a116 100644 --- a/aws/tags.go +++ b/aws/tags.go @@ -14,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/hashcode" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) // tagsSchema returns the schema to use for tags. @@ -397,7 +398,7 @@ func ec2TagSpecificationsFromMap(m map[string]interface{}, t string) []*ec2.TagS return []*ec2.TagSpecification{ { ResourceType: aws.String(t), - Tags: tagsFromMap(m), + Tags: keyvaluetags.New(m).IgnoreAws().Ec2Tags(), }, } } From 300435b338883aefcd2a8a8ec204aa1e7ab0b255 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Nov 2019 17:01:27 -0500 Subject: [PATCH 04/46] Add section on handling of EC2 TagSpecifications during resource creation. --- .github/CONTRIBUTING.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0b2043fa28f..9bacaa54dc4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -286,6 +286,15 @@ More details about this code generation, including fixes for potential error mes } ``` +- Some EC2 resources (for example [`aws_ec2_fleet`](https://www.terraform.io/docs/providers/aws/r/ec2_fleet.html)) have a `TagsSpecification` field in the `InputStruct` instead of a `Tags` field. In these cases the `ec2TagSpecificationsFromMap()` helper function should be used, e.g.: + + ```go + input := &ec2.CreateFleetInput{ + /* ... other configuration ... */ + TagSpecifications: ec2TagSpecificationsFromMap(d.Get("tags").(map[string]interface{}), ec2.ResourceTypeFleet), + } + ``` + - In the resource `Read` function, implement the logic to convert the service tags to save them into the Terraform state for drift detection, e.g. with EKS Clusters (which had the tags available in the DescribeCluster API call): ```go From fd2ad932c2dbfe65f74a6bbd7c6db7a7bfed34a8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Nov 2019 17:36:18 -0500 Subject: [PATCH 05/46] Complete refactoring of r/aws_launch_template tags to use 'keyvaluetags'. --- aws/resource_aws_launch_template.go | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/aws/resource_aws_launch_template.go b/aws/resource_aws_launch_template.go index 094814d1c99..0d91c0d9488 100644 --- a/aws/resource_aws_launch_template.go +++ b/aws/resource_aws_launch_template.go @@ -640,21 +640,21 @@ func resourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) err } if err := d.Set("block_device_mappings", getBlockDeviceMappings(ltData.BlockDeviceMappings)); err != nil { - return err + return fmt.Errorf("error setting block_device_mappings: %s", err) } if err := d.Set("capacity_reservation_specification", getCapacityReservationSpecification(ltData.CapacityReservationSpecification)); err != nil { - return err + return fmt.Errorf("error setting capacity_reservation_specification: %s", err) } if strings.HasPrefix(aws.StringValue(ltData.InstanceType), "t2") || strings.HasPrefix(aws.StringValue(ltData.InstanceType), "t3") { if err := d.Set("credit_specification", getCreditSpecification(ltData.CreditSpecification)); err != nil { - return err + return fmt.Errorf("error setting credit_specification: %s", err) } } if err := d.Set("elastic_gpu_specifications", getElasticGpuSpecifications(ltData.ElasticGpuSpecifications)); err != nil { - return err + return fmt.Errorf("error setting elastic_gpu_specifications: %s", err) } if err := d.Set("elastic_inference_accelerator", flattenEc2LaunchTemplateElasticInferenceAcceleratorResponse(ltData.ElasticInferenceAccelerators)); err != nil { @@ -662,31 +662,31 @@ func resourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) err } if err := d.Set("iam_instance_profile", getIamInstanceProfile(ltData.IamInstanceProfile)); err != nil { - return err + return fmt.Errorf("error setting iam_instance_profile: %s", err) } if err := d.Set("instance_market_options", getInstanceMarketOptions(ltData.InstanceMarketOptions)); err != nil { - return err + return fmt.Errorf("error setting instance_market_options: %s", err) } if err := d.Set("license_specification", getLicenseSpecifications(ltData.LicenseSpecifications)); err != nil { - return err + return fmt.Errorf("error setting license_specification: %s", err) } if err := d.Set("monitoring", getMonitoring(ltData.Monitoring)); err != nil { - return err + return fmt.Errorf("error setting monitoring: %s", err) } if err := d.Set("network_interfaces", getNetworkInterfaces(ltData.NetworkInterfaces)); err != nil { - return err + return fmt.Errorf("error setting network_interfaces: %s", err) } if err := d.Set("placement", getPlacement(ltData.Placement)); err != nil { - return err + return fmt.Errorf("error setting placement: %s", err) } if err := d.Set("tag_specifications", getTagSpecifications(ltData.TagSpecifications)); err != nil { - return err + return fmt.Errorf("error setting tag_specifications: %s", err) } return nil @@ -993,7 +993,7 @@ func getTagSpecifications(t []*ec2.LaunchTemplateTagSpecification) []interface{} for _, v := range t { s = append(s, map[string]interface{}{ "resource_type": aws.StringValue(v.ResourceType), - "tags": tagsToMap(v.Tags), + "tags": keyvaluetags.Ec2KeyValueTags(v.Tags).IgnoreAws().Map(), }) } return s @@ -1172,10 +1172,9 @@ func buildLaunchTemplateData(d *schema.ResourceData) (*ec2.RequestLaunchTemplate continue } tsData := ts.(map[string]interface{}) - tags := tagsFromMap(tsData["tags"].(map[string]interface{})) tagSpecification := &ec2.LaunchTemplateTagSpecificationRequest{ ResourceType: aws.String(tsData["resource_type"].(string)), - Tags: tags, + Tags: keyvaluetags.New(tsData["tags"].(map[string]interface{})).IgnoreAws().Ec2Tags(), } tagSpecifications = append(tagSpecifications, tagSpecification) } From 8cb204182979be4d29028e7a7e73482a26754e5c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Nov 2019 17:36:40 -0500 Subject: [PATCH 06/46] d/aws_launch_template: Refactor tags to use 'keyvaluetags'. --- aws/data_source_aws_launch_template.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/aws/data_source_aws_launch_template.go b/aws/data_source_aws_launch_template.go index a632e26ef32..7d043dfcb0e 100644 --- a/aws/data_source_aws_launch_template.go +++ b/aws/data_source_aws_launch_template.go @@ -10,6 +10,7 @@ import ( "github.com/aws/aws-sdk-go/aws/arn" "github.com/aws/aws-sdk-go/service/ec2" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func dataSourceAwsLaunchTemplate() *schema.Resource { @@ -379,7 +380,9 @@ func dataSourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) e d.Set("name", lt.LaunchTemplateName) d.Set("latest_version", lt.LatestVersionNumber) d.Set("default_version", lt.DefaultVersionNumber) - d.Set("tags", tagsToMap(lt.Tags)) + if err := d.Set("tags", keyvaluetags.Ec2KeyValueTags(lt.Tags).IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) + } arn := arn.ARN{ Partition: meta.(*AWSClient).partition, @@ -420,41 +423,41 @@ func dataSourceAwsLaunchTemplateRead(d *schema.ResourceData, meta interface{}) e } if err := d.Set("block_device_mappings", getBlockDeviceMappings(ltData.BlockDeviceMappings)); err != nil { - return err + return fmt.Errorf("error setting block_device_mappings: %s", err) } if strings.HasPrefix(aws.StringValue(ltData.InstanceType), "t2") || strings.HasPrefix(aws.StringValue(ltData.InstanceType), "t3") { if err := d.Set("credit_specification", getCreditSpecification(ltData.CreditSpecification)); err != nil { - return err + return fmt.Errorf("error setting credit_specification: %s", err) } } if err := d.Set("elastic_gpu_specifications", getElasticGpuSpecifications(ltData.ElasticGpuSpecifications)); err != nil { - return err + return fmt.Errorf("error setting elastic_gpu_specifications: %s", err) } if err := d.Set("iam_instance_profile", getIamInstanceProfile(ltData.IamInstanceProfile)); err != nil { - return err + return fmt.Errorf("error setting iam_instance_profile: %s", err) } if err := d.Set("instance_market_options", getInstanceMarketOptions(ltData.InstanceMarketOptions)); err != nil { - return err + return fmt.Errorf("error setting instance_market_options: %s", err) } if err := d.Set("monitoring", getMonitoring(ltData.Monitoring)); err != nil { - return err + return fmt.Errorf("error setting monitoring: %s", err) } if err := d.Set("network_interfaces", getNetworkInterfaces(ltData.NetworkInterfaces)); err != nil { - return err + return fmt.Errorf("error setting network_interfaces: %s", err) } if err := d.Set("placement", getPlacement(ltData.Placement)); err != nil { - return err + return fmt.Errorf("error setting placement: %s", err) } if err := d.Set("tag_specifications", getTagSpecifications(ltData.TagSpecifications)); err != nil { - return err + return fmt.Errorf("error setting tag_specifications: %s", err) } return nil From 786fce72ccb0f8519a7b9d73d266beb5e02a55ce Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Wed, 6 Nov 2019 21:26:05 +0200 Subject: [PATCH 07/46] r/aws_ami: Refactor tagging logic to keyvaluetags package (#10751) Output from acceptance testing: ``` --- PASS: TestAccAWSAMI_snapshotSize (47.60s) --- PASS: TestAccAWSAMI_basic (48.16s) --- PASS: TestAccAWSAMI_tags (59.53s) ``` --- aws/resource_aws_ami.go | 19 +++++-- aws/resource_aws_ami_test.go | 105 +++++++++++++++++++++++++++-------- 2 files changed, 96 insertions(+), 28 deletions(-) diff --git a/aws/resource_aws_ami.go b/aws/resource_aws_ami.go index 037be30a5e1..2709df80495 100644 --- a/aws/resource_aws_ami.go +++ b/aws/resource_aws_ami.go @@ -15,6 +15,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/hashcode" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) const ( @@ -278,12 +279,18 @@ func resourceAwsAmiCreate(d *schema.ResourceData, meta interface{}) error { id := *res.ImageId d.SetId(id) + if v := d.Get("tags").(map[string]interface{}); len(v) > 0 { + if err := keyvaluetags.Ec2UpdateTags(client, id, nil, v); err != nil { + return fmt.Errorf("error adding tags: %s", err) + } + } + _, err = resourceAwsAmiWaitForAvailable(d.Timeout(schema.TimeoutCreate), id, client) if err != nil { return err } - return resourceAwsAmiUpdate(d, meta) + return resourceAwsAmiRead(d, meta) } func resourceAwsAmiRead(d *schema.ResourceData, meta interface{}) error { @@ -404,10 +411,12 @@ func resourceAwsAmiUpdate(d *schema.ResourceData, meta interface{}) error { d.Partial(true) - if err := setTags(client, d); err != nil { - return err - } else { - d.SetPartial("tags") + if d.HasChange("tags") { + o, n := d.GetChange("tags") + + if err := keyvaluetags.Ec2UpdateTags(client, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating AMI (%s) tags: %s", d.Id(), err) + } } if d.Get("description").(string) != "" { diff --git a/aws/resource_aws_ami_test.go b/aws/resource_aws_ami_test.go index 098a55e5802..3811f38ae67 100644 --- a/aws/resource_aws_ami_test.go +++ b/aws/resource_aws_ami_test.go @@ -26,7 +26,7 @@ func TestAccAWSAMI_basic(t *testing.T) { CheckDestroy: testAccCheckAmiDestroy, Steps: []resource.TestStep{ { - Config: testAccAmiConfig_basic(rName), + Config: testAccAmiConfig_basic(rName, 8), Check: resource.ComposeTestCheckFunc( testAccCheckAmiExists(resourceName, &ami), resource.TestCheckResourceAttr(resourceName, "ena_support", "true"), @@ -46,6 +46,53 @@ func TestAccAWSAMI_basic(t *testing.T) { }) } +func TestAccAWSAMI_tags(t *testing.T) { + var ami ec2.Image + resourceName := "aws_ami.test" + rName := acctest.RandomWithPrefix("tf-acc-test") + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAmiDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAmiConfigTags1(rName, "key1", "value1", 8), + Check: resource.ComposeTestCheckFunc( + testAccCheckAmiExists(resourceName, &ami), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "manage_ebs_snapshots", + }, + }, + { + Config: testAccAmiConfigTags2(rName, "key1", "value1updated", "key2", "value2", 8), + Check: resource.ComposeTestCheckFunc( + testAccCheckAmiExists(resourceName, &ami), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + ), + }, + { + Config: testAccAmiConfigTags1(rName, "key2", "value2", 8), + Check: resource.ComposeTestCheckFunc( + testAccCheckAmiExists(resourceName, &ami), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + ), + }, + }, + }) +} + func TestAccAWSAMI_snapshotSize(t *testing.T) { var ami ec2.Image var bd ec2.BlockDeviceMapping @@ -66,7 +113,7 @@ func TestAccAWSAMI_snapshotSize(t *testing.T) { CheckDestroy: testAccCheckAmiDestroy, Steps: []resource.TestStep{ { - Config: testAccAmiConfig_snapshotSize(rName), + Config: testAccAmiConfig_basic(rName, 20), Check: resource.ComposeTestCheckFunc( testAccCheckAmiExists(resourceName, &ami), testAccCheckAmiBlockDevice(&ami, &bd, "/dev/sda1"), @@ -218,16 +265,16 @@ func testAccCheckAmiEbsBlockDevice(bd *ec2.BlockDeviceMapping, ed *ec2.EbsBlockD } } -func testAccAmiConfig_basic(rName string) string { +func testAccAmiConfig_base(rName string, size int) string { return fmt.Sprintf(` data "aws_availability_zones" "available" {} resource "aws_ebs_volume" "foo" { availability_zone = "${data.aws_availability_zones.available.names[0]}" - size = 8 + size = %d tags = { - Name = "testAccAmiConfig_basic" + Name = "%[2]s" } } @@ -235,13 +282,18 @@ resource "aws_ebs_snapshot" "foo" { volume_id = "${aws_ebs_volume.foo.id}" tags = { - Name = "testAccAmiConfig_basic" + Name = "%[2]s" } } +`, size, rName) +} + +func testAccAmiConfig_basic(rName string, size int) string { + return testAccAmiConfig_base(rName, size) + fmt.Sprintf(` resource "aws_ami" "test" { ena_support = true - name = %q + name = %[1]q root_device_name = "/dev/sda1" virtualization_type = "hvm" @@ -253,29 +305,31 @@ resource "aws_ami" "test" { `, rName) } -func testAccAmiConfig_snapshotSize(rName string) string { - return fmt.Sprintf(` -data "aws_availability_zones" "available" {} - -resource "aws_ebs_volume" "foo" { - availability_zone = "${data.aws_availability_zones.available.names[0]}" - size = 20 +func testAccAmiConfigTags1(rName, tagKey1, tagValue1 string, size int) string { + return testAccAmiConfig_base(rName, size) + fmt.Sprintf(` +resource "aws_ami" "test" { + ena_support = true + name = %[1]q + root_device_name = "/dev/sda1" + virtualization_type = "hvm" - tags = { - Name = "testAccAmiConfig_snapshotSize" + ebs_block_device { + device_name = "/dev/sda1" + snapshot_id = "${aws_ebs_snapshot.foo.id}" } -} - -resource "aws_ebs_snapshot" "foo" { - volume_id = "${aws_ebs_volume.foo.id}" tags = { - Name = "TestAccAWSAMI_snapshotSize" + %[2]q = %[3]q } } +`, rName, tagKey1, tagValue1) +} +func testAccAmiConfigTags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string, size int) string { + return testAccAmiConfig_base(rName, size) + fmt.Sprintf(` resource "aws_ami" "test" { - name = %q + ena_support = true + name = %[1]q root_device_name = "/dev/sda1" virtualization_type = "hvm" @@ -283,6 +337,11 @@ resource "aws_ami" "test" { device_name = "/dev/sda1" snapshot_id = "${aws_ebs_snapshot.foo.id}" } + + tags = { + %[2]q = %[3]q + %[4]q = %[5]q + } } -`, rName) +`, rName, tagKey1, tagValue1, tagKey2, tagValue2) } From b62c8a04494329a8c4e9c8fa5844a770b5363f3c Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Wed, 6 Nov 2019 21:42:34 +0200 Subject: [PATCH 08/46] r/aws_cloudwatch_log_group: Refactor tagging logic to keyvaluetags package (#10753) Output from AWS Commercial: ``` --- PASS: TestAccAWSCloudWatchLogGroup_disappears (7.38s) --- PASS: TestAccAWSCloudWatchLogGroup_namePrefix (9.73s) --- PASS: TestAccAWSCloudWatchLogGroup_basic (12.21s) --- PASS: TestAccAWSCloudWatchLogGroup_generatedName (14.72s) --- PASS: TestAccAWSCloudWatchLogGroup_multiple (15.03s) --- PASS: TestAccAWSCloudWatchLogGroup_retentionPolicy (15.13s) --- PASS: TestAccAWSCloudWatchLogGroup_namePrefix_retention (17.91s) --- PASS: TestAccAWSCloudWatchLogGroup_tagging (29.56s) --- PASS: TestAccAWSCloudWatchLogGroup_kmsKey (36.66s) ``` Output from AWS GovCloud (US): ``` --- PASS: TestAccAWSCloudWatchLogGroup_disappears (7.85s) --- PASS: TestAccAWSCloudWatchLogGroup_basic (9.39s) --- PASS: TestAccAWSCloudWatchLogGroup_generatedName (10.20s) --- PASS: TestAccAWSCloudWatchLogGroup_namePrefix_retention (12.38s) --- PASS: TestAccAWSCloudWatchLogGroup_retentionPolicy (12.57s) --- PASS: TestAccAWSCloudWatchLogGroup_namePrefix (12.59s) --- PASS: TestAccAWSCloudWatchLogGroup_multiple (16.86s) --- PASS: TestAccAWSCloudWatchLogGroup_tagging (19.05s) --- PASS: TestAccAWSCloudWatchLogGroup_kmsKey (40.68s) ``` --- aws/resource_aws_cloudwatch_log_group.go | 81 +++++++++--------------- 1 file changed, 30 insertions(+), 51 deletions(-) diff --git a/aws/resource_aws_cloudwatch_log_group.go b/aws/resource_aws_cloudwatch_log_group.go index cd16832fed0..cf1808ab09a 100644 --- a/aws/resource_aws_cloudwatch_log_group.go +++ b/aws/resource_aws_cloudwatch_log_group.go @@ -10,6 +10,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/cloudwatchlogs" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsCloudWatchLogGroup() *schema.Resource { @@ -61,6 +62,7 @@ func resourceAwsCloudWatchLogGroup() *schema.Resource { func resourceAwsCloudWatchLogGroupCreate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).cloudwatchlogsconn + tags := keyvaluetags.New(d.Get("tags").(map[string]interface{})).IgnoreAws().CloudwatchlogsTags() var logGroupName string if v, ok := d.GetOk("name"); ok { @@ -81,9 +83,13 @@ func resourceAwsCloudWatchLogGroupCreate(d *schema.ResourceData, meta interface{ params.KmsKeyId = aws.String(v.(string)) } + if len(tags) > 0 { + params.Tags = tags + } + _, err := conn.CreateLogGroup(params) if err != nil { - if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "ResourceAlreadyExistsException" { + if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == cloudwatchlogs.ErrCodeResourceAlreadyExistsException { return fmt.Errorf("Creating CloudWatch Log Group failed: %s: The CloudWatch Log Group '%s' already exists.", err, d.Get("name").(string)) } return fmt.Errorf("Creating CloudWatch Log Group failed: %s '%s'", err, d.Get("name")) @@ -93,7 +99,20 @@ func resourceAwsCloudWatchLogGroupCreate(d *schema.ResourceData, meta interface{ log.Println("[INFO] CloudWatch Log Group created") - return resourceAwsCloudWatchLogGroupUpdate(d, meta) + if v, ok := d.GetOk("retention_in_days"); ok { + input := cloudwatchlogs.PutRetentionPolicyInput{ + LogGroupName: aws.String(logGroupName), + RetentionInDays: aws.Int64(int64(v.(int))), + } + log.Printf("[DEBUG] Setting retention for CloudWatch Log Group: %q: %s", logGroupName, input) + _, err = conn.PutRetentionPolicy(&input) + + if err != nil { + return err + } + } + + return resourceAwsCloudWatchLogGroupRead(d, meta) } func resourceAwsCloudWatchLogGroupRead(d *schema.ResourceData, meta interface{}) error { @@ -117,17 +136,15 @@ func resourceAwsCloudWatchLogGroupRead(d *schema.ResourceData, meta interface{}) d.Set("kms_key_id", lg.KmsKeyId) d.Set("retention_in_days", lg.RetentionInDays) - tags := make(map[string]string) - tagsOutput, err := conn.ListTagsLogGroup(&cloudwatchlogs.ListTagsLogGroupInput{ - LogGroupName: aws.String(d.Id()), - }) + tags, err := keyvaluetags.CloudwatchlogsListTags(conn, d.Id()) + if err != nil { - return fmt.Errorf("error listing CloudWatch Logs Group %q tags: %s", d.Id(), err) + return fmt.Errorf("error listing tags for CloudWatch Logs Group (%s): %s", d.Id(), err) } - if tagsOutput != nil { - tags = aws.StringValueMap(tagsOutput.Tags) + + if err := d.Set("tags", tags.IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) } - d.Set("tags", tags) return nil } @@ -182,31 +199,10 @@ func resourceAwsCloudWatchLogGroupUpdate(d *schema.ResourceData, meta interface{ } if d.HasChange("tags") { - oraw, nraw := d.GetChange("tags") - o := oraw.(map[string]interface{}) - n := nraw.(map[string]interface{}) - create, remove := diffCloudWatchTags(o, n) - - if len(remove) > 0 { - log.Printf("[DEBUG] Removing tags from %s", name) - _, err := conn.UntagLogGroup(&cloudwatchlogs.UntagLogGroupInput{ - LogGroupName: aws.String(name), - Tags: remove, - }) - if err != nil { - return err - } - } + o, n := d.GetChange("tags") - if len(create) > 0 { - log.Printf("[DEBUG] Creating tags on %s", name) - _, err := conn.TagLogGroup(&cloudwatchlogs.TagLogGroupInput{ - LogGroupName: aws.String(name), - Tags: create, - }) - if err != nil { - return err - } + if err := keyvaluetags.CloudwatchlogsUpdateTags(conn, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating CloudWatch Log Group (%s) tags: %s", d.Id(), err) } } @@ -234,23 +230,6 @@ func resourceAwsCloudWatchLogGroupUpdate(d *schema.ResourceData, meta interface{ return resourceAwsCloudWatchLogGroupRead(d, meta) } -func diffCloudWatchTags(oldTags map[string]interface{}, newTags map[string]interface{}) (map[string]*string, []*string) { - create := make(map[string]*string) - for k, v := range newTags { - create[k] = aws.String(v.(string)) - } - - var remove []*string - for t := range oldTags { - _, ok := create[t] - if !ok { - remove = append(remove, aws.String(t)) - } - } - - return create, remove -} - func resourceAwsCloudWatchLogGroupDelete(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).cloudwatchlogsconn log.Printf("[INFO] Deleting CloudWatch Log Group: %s", d.Id()) From 3aad58baf44209d1694b831baa96c42180d74aa4 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Wed, 6 Nov 2019 14:43:25 -0500 Subject: [PATCH 09/46] Update CHANGELOG for #10753 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38b3b57399b..bbd3d686087 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ ENHANCEMENTS: * resource/aws_api_gateway_client_certificate: Add `tags` argument and `arn` attribute [GH-10569] * resource/aws_api_gateway_domain_name: Add `tags` argument and `arn` attribute [GH-10567] * resource/aws_api_gateway_vpc_link: Add `tags` argument and `arn` attribute [GH-10561] +* resource/aws_cloudwatch_log_group: Support tagging on creation [GH-10753] * resource/aws_db_cluster_snapshot: Add `tags` argument [GH-10488] * resource/aws_mq_broker: Support in-place `security_groups` updates [GH-10442] * resource/aws_storagegateway_cached_iscsi_volume: Add `tags` argument [GH-10613] From f90da91f99b461dd8346c9880074108197656166 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Wed, 6 Nov 2019 22:21:24 +0200 Subject: [PATCH 10/46] r/swf_domain - add tagging support (#10763) Output from acceptance testing: ``` --- PASS: TestAccAWSSwfDomain_NamePrefix (13.27s) --- PASS: TestAccAWSSwfDomain_GeneratedName (13.30s) --- PASS: TestAccAWSSwfDomain_basic (13.34s) --- PASS: TestAccAWSSwfDomain_Description (13.66s) --- PASS: TestAccAWSSwfDomain_tags (30.87s) ``` --- aws/resource_aws_swf_domain.go | 34 ++++++++++ aws/resource_aws_swf_domain_test.go | 82 +++++++++++++++++++++++-- website/docs/r/swf_domain.html.markdown | 2 + 3 files changed, 114 insertions(+), 4 deletions(-) diff --git a/aws/resource_aws_swf_domain.go b/aws/resource_aws_swf_domain.go index c032892e6b3..8e35b96af8b 100644 --- a/aws/resource_aws_swf_domain.go +++ b/aws/resource_aws_swf_domain.go @@ -9,12 +9,14 @@ import ( "github.com/aws/aws-sdk-go/service/swf" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsSwfDomain() *schema.Resource { return &schema.Resource{ Create: resourceAwsSwfDomainCreate, Read: resourceAwsSwfDomainRead, + Update: resourceAwsSwfDomainUpdate, Delete: resourceAwsSwfDomainDelete, Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, @@ -52,6 +54,11 @@ func resourceAwsSwfDomain() *schema.Resource { return }, }, + "arn": { + Type: schema.TypeString, + Computed: true, + }, + "tags": tagsSchema(), }, } } @@ -72,6 +79,7 @@ func resourceAwsSwfDomainCreate(d *schema.ResourceData, meta interface{}) error input := &swf.RegisterDomainInput{ Name: aws.String(name), WorkflowExecutionRetentionPeriodInDays: aws.String(d.Get("workflow_execution_retention_period_in_days").(string)), + Tags: keyvaluetags.New(d.Get("tags").(map[string]interface{})).IgnoreAws().SwfTags(), } if v, ok := d.GetOk("description"); ok { @@ -111,6 +119,18 @@ func resourceAwsSwfDomainRead(d *schema.ResourceData, meta interface{}) error { return nil } + arn := *resp.DomainInfo.Arn + tags, err := keyvaluetags.SwfListTags(conn, arn) + + if err != nil { + return fmt.Errorf("error listing tags for SWF Domain (%s): %s", arn, err) + } + + if err := d.Set("tags", tags.IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) + } + + d.Set("arn", resp.DomainInfo.Arn) d.Set("name", resp.DomainInfo.Name) d.Set("description", resp.DomainInfo.Description) d.Set("workflow_execution_retention_period_in_days", resp.Configuration.WorkflowExecutionRetentionPeriodInDays) @@ -118,6 +138,20 @@ func resourceAwsSwfDomainRead(d *schema.ResourceData, meta interface{}) error { return nil } +func resourceAwsSwfDomainUpdate(d *schema.ResourceData, meta interface{}) error { + conn := meta.(*AWSClient).swfconn + + if d.HasChange("tags") { + o, n := d.GetChange("tags") + + if err := keyvaluetags.SwfUpdateTags(conn, d.Get("arn").(string), o, n); err != nil { + return fmt.Errorf("error updating SWF Domain (%s) tags: %s", d.Id(), err) + } + } + + return resourceAwsSwfDomainRead(d, meta) +} + func resourceAwsSwfDomainDelete(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).swfconn diff --git a/aws/resource_aws_swf_domain_test.go b/aws/resource_aws_swf_domain_test.go index 631cc1361f3..eef3d8717b7 100644 --- a/aws/resource_aws_swf_domain_test.go +++ b/aws/resource_aws_swf_domain_test.go @@ -38,6 +38,7 @@ func TestAccAWSSwfDomain_basic(t *testing.T) { Config: testAccAWSSwfDomainConfig_Name(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckAwsSwfDomainExists(resourceName), + testAccMatchResourceAttrRegionalARN(resourceName, "arn", "swf", regexp.MustCompile(`/domain/.+`)), resource.TestCheckResourceAttr(resourceName, "description", ""), resource.TestCheckResourceAttr(resourceName, "name", rName), ), @@ -51,6 +52,52 @@ func TestAccAWSSwfDomain_basic(t *testing.T) { }) } +func TestAccAWSSwfDomain_tags(t *testing.T) { + rName := acctest.RandomWithPrefix("tf-acc-test") + resourceName := "aws_swf_domain.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + testAccPreCheck(t) + testAccPreCheckSwfDomainTestingEnabled(t) + }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAwsSwfDomainDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAWSSwfDomainConfigTags1(rName, "key1", "value1"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAwsSwfDomainExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccAWSSwfDomainConfigTags2(rName, "key1", "value1updated", "key2", "value2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAwsSwfDomainExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + ), + }, + { + Config: testAccAWSSwfDomainConfigTags1(rName, "key2", "value2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAwsSwfDomainExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + ), + }, + }, + }) +} + func TestAccAWSSwfDomain_NamePrefix(t *testing.T) { resourceName := "aws_swf_domain.test" @@ -151,8 +198,8 @@ func testAccCheckAwsSwfDomainDestroy(s *terraform.State) error { return err } - if *resp.DomainInfo.Status != "DEPRECATED" { - return fmt.Errorf(`SWF Domain %s status is %s instead of "DEPRECATED". Failing!`, name, *resp.DomainInfo.Status) + if *resp.DomainInfo.Status != swf.RegistrationStatusDeprecated { + return fmt.Errorf(`SWF Domain %s status is %s instead of %s. Failing!`, name, *resp.DomainInfo.Status, swf.RegistrationStatusDeprecated) } } @@ -182,8 +229,8 @@ func testAccCheckAwsSwfDomainExists(n string) resource.TestCheckFunc { return fmt.Errorf("SWF Domain %s not found in AWS", name) } - if *resp.DomainInfo.Status != "REGISTERED" { - return fmt.Errorf(`SWF Domain %s status is %s instead of "REGISTERED". Failing!`, name, *resp.DomainInfo.Status) + if *resp.DomainInfo.Status != swf.RegistrationStatusRegistered { + return fmt.Errorf(`SWF Domain %s status is %s instead of %s. Failing!`, name, *resp.DomainInfo.Status, swf.RegistrationStatusRegistered) } return nil } @@ -214,6 +261,33 @@ resource "aws_swf_domain" "test" { `, rName) } +func testAccAWSSwfDomainConfigTags1(rName, tagKey1, tagValue1 string) string { + return fmt.Sprintf(` +resource "aws_swf_domain" "test" { + name = %[1]q + workflow_execution_retention_period_in_days = 1 + + tags = { + %[2]q = %[3]q + } +} +`, rName, tagKey1, tagValue1) +} + +func testAccAWSSwfDomainConfigTags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return fmt.Sprintf(` +resource "aws_swf_domain" "test" { + name = %[1]q + workflow_execution_retention_period_in_days = 1 + + tags = { + %[2]q = %[3]q + %[4]q = %[5]q + } +} +`, rName, tagKey1, tagValue1, tagKey2, tagValue2) +} + const testAccAWSSwfDomainConfig_NamePrefix = ` resource "aws_swf_domain" "test" { name_prefix = "tf-acc-test" diff --git a/website/docs/r/swf_domain.html.markdown b/website/docs/r/swf_domain.html.markdown index 09f97163937..535e9a82a3d 100644 --- a/website/docs/r/swf_domain.html.markdown +++ b/website/docs/r/swf_domain.html.markdown @@ -29,12 +29,14 @@ The following arguments are supported: * `name_prefix` - (Optional, Forces new resource) Creates a unique name beginning with the specified prefix. Conflicts with `name`. * `description` - (Optional, Forces new resource) The domain description. * `workflow_execution_retention_period_in_days` - (Required, Forces new resource) Length of time that SWF will continue to retain information about the workflow execution after the workflow execution is complete, must be between 0 and 90 days. +* `tags` - (Optional) Key-value mapping of resource tags ## Attributes Reference In addition to all arguments above, the following attributes are exported: * `id` - The name of the domain. +* `arn` - Amazon Resource Name (ARN) ## Import From b00470931403fec5635bab574b1ae42dc6188843 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Wed, 6 Nov 2019 15:23:18 -0500 Subject: [PATCH 11/46] Update CHANGELOG for #10763 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbd3d686087..f7622796ad0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ ENHANCEMENTS: * resource/aws_storagegateway_gateway: Add `tags` argument [GH-10588] * resource/aws_storagegateway_nfs_file_share: Add `tags` argument [GH-10722] * resource/aws_subnet: Support provider-wide ignore tags (in public preview, see note above) [GH-10418] +* resource/aws_swf_domain: Add `tags` argument and `arn` attribute [GH-10763] * resource/aws_vpc: Support provider-wide ignore tags (in public preview, see note above) [GH-10418] * resource/aws_waf_rate_based_rule: Add `tags` argument and `arn` attribute [GH-10479] From 3245a0b7db8c63c047f2b602f626c8ed010edd3c Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Wed, 6 Nov 2019 22:29:54 +0200 Subject: [PATCH 12/46] data-source/aws_cloudformation_stack: Refactor tagging logic to keyvaluetags package (#10756) Output from acceptance testing: ``` --- PASS: TestAccAWSCloudFormationStack_dataSource_yaml (58.17s) --- PASS: TestAccAWSCloudFormationStack_dataSource_basic (67.22s) ``` --- aws/data_source_aws_cloudformation_stack.go | 10 ++-- ...ta_source_aws_cloudformation_stack_test.go | 54 +++++++++---------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/aws/data_source_aws_cloudformation_stack.go b/aws/data_source_aws_cloudformation_stack.go index 40d66239d82..1b1e440c6cd 100644 --- a/aws/data_source_aws_cloudformation_stack.go +++ b/aws/data_source_aws_cloudformation_stack.go @@ -7,6 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/cloudformation" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func dataSourceAwsCloudFormationStack() *schema.Resource { @@ -62,10 +63,7 @@ func dataSourceAwsCloudFormationStack() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "tags": { - Type: schema.TypeMap, - Computed: true, - }, + "tags": tagsSchemaComputed(), }, } } @@ -98,7 +96,9 @@ func dataSourceAwsCloudFormationStackRead(d *schema.ResourceData, meta interface } d.Set("parameters", flattenAllCloudFormationParameters(stack.Parameters)) - d.Set("tags", flattenCloudFormationTags(stack.Tags)) + if err := d.Set("tags", keyvaluetags.CloudformationKeyValueTags(stack.Tags).IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) + } d.Set("outputs", flattenCloudFormationOutputs(stack.Outputs)) if len(stack.Capabilities) > 0 { diff --git a/aws/data_source_aws_cloudformation_stack_test.go b/aws/data_source_aws_cloudformation_stack_test.go index 9f7c24c3d2d..5a038d5a338 100644 --- a/aws/data_source_aws_cloudformation_stack_test.go +++ b/aws/data_source_aws_cloudformation_stack_test.go @@ -10,8 +10,8 @@ import ( ) func TestAccAWSCloudFormationStack_dataSource_basic(t *testing.T) { - rString := acctest.RandString(8) - stackName := fmt.Sprintf("tf-acc-ds-basic-%s", rString) + stackName := acctest.RandomWithPrefix("tf-acc-ds-basic") + resourceName := "data.aws_cloudformation_stack.network" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -20,18 +20,17 @@ func TestAccAWSCloudFormationStack_dataSource_basic(t *testing.T) { { Config: testAccCheckAwsCloudFormationStackDataSourceConfig_basic(stackName), Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "outputs.%", "1"), - resource.TestMatchResourceAttr("data.aws_cloudformation_stack.network", "outputs.VPCId", - regexp.MustCompile("^vpc-[a-z0-9]+")), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "capabilities.#", "0"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "disable_rollback", "false"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "notification_arns.#", "0"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "parameters.%", "1"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "parameters.CIDR", "10.10.10.0/24"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "timeout_in_minutes", "6"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "tags.%", "2"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "tags.Name", "Form the Cloud"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.network", "tags.Second", "meh"), + resource.TestCheckResourceAttr(resourceName, "outputs.%", "1"), + resource.TestMatchResourceAttr(resourceName, "outputs.VPCId", regexp.MustCompile("^vpc-[a-z0-9]+")), + resource.TestCheckResourceAttr(resourceName, "capabilities.#", "0"), + resource.TestCheckResourceAttr(resourceName, "disable_rollback", "false"), + resource.TestCheckResourceAttr(resourceName, "notification_arns.#", "0"), + resource.TestCheckResourceAttr(resourceName, "parameters.%", "1"), + resource.TestCheckResourceAttr(resourceName, "parameters.CIDR", "10.10.10.0/24"), + resource.TestCheckResourceAttr(resourceName, "timeout_in_minutes", "6"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Name", "Form the Cloud"), + resource.TestCheckResourceAttr(resourceName, "tags.Second", "meh"), ), }, }, @@ -89,8 +88,8 @@ data "aws_cloudformation_stack" "network" { } func TestAccAWSCloudFormationStack_dataSource_yaml(t *testing.T) { - rString := acctest.RandString(8) - stackName := fmt.Sprintf("tf-acc-ds-yaml-%s", rString) + stackName := acctest.RandomWithPrefix("tf-acc-ds-yaml") + resourceName := "data.aws_cloudformation_stack.yaml" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -99,18 +98,17 @@ func TestAccAWSCloudFormationStack_dataSource_yaml(t *testing.T) { { Config: testAccCheckAwsCloudFormationStackDataSourceConfig_yaml(stackName), Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "outputs.%", "1"), - resource.TestMatchResourceAttr("data.aws_cloudformation_stack.yaml", "outputs.VPCId", - regexp.MustCompile("^vpc-[a-z0-9]+")), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "capabilities.#", "0"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "disable_rollback", "false"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "notification_arns.#", "0"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "parameters.%", "1"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "parameters.CIDR", "10.10.10.0/24"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "timeout_in_minutes", "6"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "tags.%", "2"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "tags.Name", "Form the Cloud"), - resource.TestCheckResourceAttr("data.aws_cloudformation_stack.yaml", "tags.Second", "meh"), + resource.TestCheckResourceAttr(resourceName, "outputs.%", "1"), + resource.TestMatchResourceAttr(resourceName, "outputs.VPCId", regexp.MustCompile("^vpc-[a-z0-9]+")), + resource.TestCheckResourceAttr(resourceName, "capabilities.#", "0"), + resource.TestCheckResourceAttr(resourceName, "disable_rollback", "false"), + resource.TestCheckResourceAttr(resourceName, "notification_arns.#", "0"), + resource.TestCheckResourceAttr(resourceName, "parameters.%", "1"), + resource.TestCheckResourceAttr(resourceName, "parameters.CIDR", "10.10.10.0/24"), + resource.TestCheckResourceAttr(resourceName, "timeout_in_minutes", "6"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Name", "Form the Cloud"), + resource.TestCheckResourceAttr(resourceName, "tags.Second", "meh"), ), }, }, From 0ef627338a4784c36f8857ff84e955256fbd69fc Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Wed, 6 Nov 2019 15:38:00 -0500 Subject: [PATCH 13/46] Update CHANGELOG for #10759 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7622796ad0..e8c7132ebb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ ENHANCEMENTS: * resource/aws_api_gateway_vpc_link: Add `tags` argument and `arn` attribute [GH-10561] * resource/aws_cloudwatch_log_group: Support tagging on creation [GH-10753] * resource/aws_db_cluster_snapshot: Add `tags` argument [GH-10488] +* resource/aws_launch_template: Support tagging on creation [GH-10759] * resource/aws_mq_broker: Support in-place `security_groups` updates [GH-10442] * resource/aws_storagegateway_cached_iscsi_volume: Add `tags` argument [GH-10613] * resource/aws_storagegateway_gateway: Add `tags` argument [GH-10588] From d2163d9b41d2f7ac3eedc9bdd8570c3997a77581 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Nov 2019 15:43:25 -0500 Subject: [PATCH 14/46] r/aws_ec2_fleet: Refactor tagging logic to keyvaluetags package. (#10761) Output from acceptance testing: ``` --- SKIP: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_MaxPrice (0.00s) --- PASS: TestAccAWSEc2Fleet_disappears (42.43s) --- PASS: TestAccAWSEc2Fleet_basic (42.61s) --- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType (65.16s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority (68.59s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_Version (68.95s) --- PASS: TestAccAWSEc2Fleet_SpotOptions_InstanceInterruptionBehavior (69.67s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity (69.58s) --- PASS: TestAccAWSEc2Fleet_SpotOptions_InstancePoolsToUseCount (69.90s) --- PASS: TestAccAWSEc2Fleet_SpotOptions_AllocationStrategy (71.31s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_AvailabilityZone (71.36s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority_Multiple (71.31s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_InstanceType (71.44s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity_Multiple (71.70s) --- PASS: TestAccAWSEc2Fleet_ReplaceUnhealthyInstances (71.92s) --- PASS: TestAccAWSEc2Fleet_OnDemandOptions_AllocationStrategy (72.08s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateId (72.12s) --- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_OnDemand (30.06s) --- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_Spot (30.11s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_SubnetId (72.82s) --- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateName (73.05s) --- PASS: TestAccAWSEc2Fleet_ExcessCapacityTerminationPolicy (95.00s) --- PASS: TestAccAWSEc2Fleet_Type (26.85s) --- PASS: TestAccAWSEc2Fleet_Tags (97.60s) --- PASS: TestAccAWSEc2Fleet_TerminateInstancesWithExpiration (48.92s) --- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_TotalTargetCapacity (457.29s) ``` --- aws/resource_aws_ec2_fleet.go | 33 +++++++++++------------------- aws/resource_aws_ec2_fleet_test.go | 1 - 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/aws/resource_aws_ec2_fleet.go b/aws/resource_aws_ec2_fleet.go index 953444c76c0..5eaf702df93 100644 --- a/aws/resource_aws_ec2_fleet.go +++ b/aws/resource_aws_ec2_fleet.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsEc2Fleet() *schema.Resource { @@ -192,12 +193,7 @@ func resourceAwsEc2Fleet() *schema.Resource { }, }, }, - "tags": { - Type: schema.TypeMap, - Optional: true, - ForceNew: true, - Elem: &schema.Schema{Type: schema.TypeString}, - }, + "tags": tagsSchema(), "target_capacity_specification": { Type: schema.TypeList, Required: true, @@ -312,7 +308,7 @@ func resourceAwsEc2FleetCreate(d *schema.ResourceData, meta interface{}) error { SpotOptions: expandEc2SpotOptionsRequest(d.Get("spot_options").([]interface{})), TargetCapacitySpecification: expandEc2TargetCapacitySpecificationRequest(d.Get("target_capacity_specification").([]interface{})), TerminateInstancesWithExpiration: aws.Bool(d.Get("terminate_instances_with_expiration").(bool)), - TagSpecifications: expandEc2TagSpecifications(d.Get("tags").(map[string]interface{})), + TagSpecifications: ec2TagSpecificationsFromMap(d.Get("tags").(map[string]interface{}), ec2.ResourceTypeFleet), Type: aws.String(d.Get("type").(string)), } @@ -435,7 +431,7 @@ func resourceAwsEc2FleetRead(d *schema.ResourceData, meta interface{}) error { d.Set("terminate_instances_with_expiration", fleet.TerminateInstancesWithExpiration) d.Set("type", fleet.Type) - if err := d.Set("tags", tagsToMap(fleet.Tags)); err != nil { + if err := d.Set("tags", keyvaluetags.Ec2KeyValueTags(fleet.Tags).IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } @@ -475,6 +471,14 @@ func resourceAwsEc2FleetUpdate(d *schema.ResourceData, meta interface{}) error { return fmt.Errorf("error waiting for EC2 Fleet (%s) modification: %s", d.Id(), err) } + if d.HasChange("tags") { + o, n := d.GetChange("tags") + + if err := keyvaluetags.Ec2UpdateTags(conn, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating tags: %s", err) + } + } + return resourceAwsEc2FleetRead(d, meta) } @@ -693,19 +697,6 @@ func expandEc2SpotOptionsRequest(l []interface{}) *ec2.SpotOptionsRequest { return spotOptionsRequest } -func expandEc2TagSpecifications(m map[string]interface{}) []*ec2.TagSpecification { - if len(m) == 0 { - return nil - } - - return []*ec2.TagSpecification{ - { - ResourceType: aws.String("fleet"), - Tags: tagsFromMap(m), - }, - } -} - func expandEc2TargetCapacitySpecificationRequest(l []interface{}) *ec2.TargetCapacitySpecificationRequest { if len(l) == 0 || l[0] == nil { return nil diff --git a/aws/resource_aws_ec2_fleet_test.go b/aws/resource_aws_ec2_fleet_test.go index 3e7d797bbe8..b3a44fb3d5d 100644 --- a/aws/resource_aws_ec2_fleet_test.go +++ b/aws/resource_aws_ec2_fleet_test.go @@ -783,7 +783,6 @@ func TestAccAWSEc2Fleet_Tags(t *testing.T) { Config: testAccAWSEc2FleetConfig_Tags(rName, "key1", "value1updated"), Check: resource.ComposeTestCheckFunc( testAccCheckAWSEc2FleetExists(resourceName, &fleet2), - testAccCheckAWSEc2FleetRecreated(&fleet1, &fleet2), resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), ), From 9be34f898098110e480cd141d75959ac9327a64c Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Wed, 6 Nov 2019 15:44:27 -0500 Subject: [PATCH 15/46] Update CHANGELOG for #10761 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8c7132ebb0..91eade14086 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ ENHANCEMENTS: * resource/aws_api_gateway_vpc_link: Add `tags` argument and `arn` attribute [GH-10561] * resource/aws_cloudwatch_log_group: Support tagging on creation [GH-10753] * resource/aws_db_cluster_snapshot: Add `tags` argument [GH-10488] +* resource/aws_ec2_fleet: Support in-place `tags` updates [GH-10761] * resource/aws_launch_template: Support tagging on creation [GH-10759] * resource/aws_mq_broker: Support in-place `security_groups` updates [GH-10442] * resource/aws_storagegateway_cached_iscsi_volume: Add `tags` argument [GH-10613] From acc742421ad3255fc9047f1655a19a022b4573f7 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Wed, 6 Nov 2019 22:49:38 +0200 Subject: [PATCH 16/46] resource/aws_cloudformation_stack: Use keyvaluetags + enums (#10765) Output from acceptance testing: ``` --- PASS: TestAccAWSCloudFormationStack_yaml (63.93s) --- PASS: TestAccAWSCloudFormationStack_disappears (66.27s) --- PASS: TestAccAWSCloudFormationStack_basic (66.37s) --- PASS: TestAccAWSCloudFormationStack_defaultParams (59.60s) --- PASS: TestAccAWSCloudFormationStack_allAttributes (74.47s) --- PASS: TestAccAWSCloudFormationStack_withUrl_withParams_withYaml (64.79s) --- PASS: TestAccAWSCloudFormationStack_withUrl_withParams_noUpdate (75.45s) --- PASS: TestAccAWSCloudFormationStack_withParams (109.61s) --- PASS: TestAccAWSCloudFormationStack_withUrl_withParams (117.44s) ``` --- aws/resource_aws_cloudformation_stack.go | 73 ++++++++++++------------ 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/aws/resource_aws_cloudformation_stack.go b/aws/resource_aws_cloudformation_stack.go index b0faf606b56..4da9ed3af24 100644 --- a/aws/resource_aws_cloudformation_stack.go +++ b/aws/resource_aws_cloudformation_stack.go @@ -13,6 +13,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/structure" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsCloudFormationStack() *schema.Resource { @@ -102,10 +103,7 @@ func resourceAwsCloudFormationStack() *schema.Resource { Optional: true, ForceNew: true, }, - "tags": { - Type: schema.TypeMap, - Optional: true, - }, + "tags": tagsSchema(), "iam_role_arn": { Type: schema.TypeString, Optional: true, @@ -156,7 +154,7 @@ func resourceAwsCloudFormationStackCreate(d *schema.ResourceData, meta interface input.StackPolicyURL = aws.String(v.(string)) } if v, ok := d.GetOk("tags"); ok { - input.Tags = expandCloudFormationTags(v.(map[string]interface{})) + input.Tags = keyvaluetags.New(v.(map[string]interface{})).IgnoreAws().CloudformationTags() } if v, ok := d.GetOk("timeout_in_minutes"); ok { m := int64(v.(int)) @@ -177,17 +175,17 @@ func resourceAwsCloudFormationStackCreate(d *schema.ResourceData, meta interface wait := resource.StateChangeConf{ Pending: []string{ - "CREATE_IN_PROGRESS", - "DELETE_IN_PROGRESS", - "ROLLBACK_IN_PROGRESS", + cloudformation.StackStatusCreateInProgress, + cloudformation.StackStatusDeleteInProgress, + cloudformation.StackStatusRollbackInProgress, }, Target: []string{ - "CREATE_COMPLETE", - "CREATE_FAILED", - "DELETE_COMPLETE", - "DELETE_FAILED", - "ROLLBACK_COMPLETE", - "ROLLBACK_FAILED", + cloudformation.StackStatusCreateComplete, + cloudformation.StackStatusCreateFailed, + cloudformation.StackStatusDeleteComplete, + cloudformation.StackStatusDeleteFailed, + cloudformation.StackStatusRollbackComplete, + cloudformation.StackStatusRollbackFailed, }, Timeout: d.Timeout(schema.TimeoutCreate), MinTimeout: 1 * time.Second, @@ -226,7 +224,7 @@ func resourceAwsCloudFormationStackCreate(d *schema.ResourceData, meta interface return err } - if lastStatus == "ROLLBACK_COMPLETE" || lastStatus == "ROLLBACK_FAILED" { + if lastStatus == cloudformation.StackStatusRollbackComplete || lastStatus == cloudformation.StackStatusRollbackFailed { reasons, err := getCloudFormationRollbackReasons(d.Id(), nil, conn) if err != nil { return fmt.Errorf("Failed getting rollback reasons: %q", err.Error()) @@ -234,7 +232,7 @@ func resourceAwsCloudFormationStackCreate(d *schema.ResourceData, meta interface return fmt.Errorf("%s: %q", lastStatus, reasons) } - if lastStatus == "DELETE_COMPLETE" || lastStatus == "DELETE_FAILED" { + if lastStatus == cloudformation.StackStatusDeleteComplete || lastStatus == cloudformation.StackStatusDeleteFailed { reasons, err := getCloudFormationDeletionReasons(d.Id(), conn) if err != nil { return fmt.Errorf("Failed getting deletion reasons: %q", err.Error()) @@ -243,7 +241,7 @@ func resourceAwsCloudFormationStackCreate(d *schema.ResourceData, meta interface d.SetId("") return fmt.Errorf("%s: %q", lastStatus, reasons) } - if lastStatus == "CREATE_FAILED" { + if lastStatus == cloudformation.StackStatusCreateFailed { reasons, err := getCloudFormationFailures(d.Id(), conn) if err != nil { return fmt.Errorf("Failed getting failure reasons: %q", err.Error()) @@ -282,7 +280,7 @@ func resourceAwsCloudFormationStackRead(d *schema.ResourceData, meta interface{} return nil } for _, s := range stacks { - if *s.StackId == d.Id() && *s.StackStatus == "DELETE_COMPLETE" { + if *s.StackId == d.Id() && *s.StackStatus == cloudformation.StackStatusDeleteComplete { log.Printf("[DEBUG] Removing CloudFormation stack %s"+ " as it has been already deleted", d.Id()) d.SetId("") @@ -332,9 +330,8 @@ func resourceAwsCloudFormationStackRead(d *schema.ResourceData, meta interface{} return err } - err = d.Set("tags", flattenCloudFormationTags(stack.Tags)) - if err != nil { - return err + if err := d.Set("tags", keyvaluetags.CloudformationKeyValueTags(stack.Tags).IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) } err = d.Set("outputs", flattenCloudFormationOutputs(stack.Outputs)) @@ -386,7 +383,7 @@ func resourceAwsCloudFormationStackUpdate(d *schema.ResourceData, meta interface } if v, ok := d.GetOk("tags"); ok { - input.Tags = expandCloudFormationTags(v.(map[string]interface{})) + input.Tags = keyvaluetags.New(v.(map[string]interface{})).IgnoreAws().CloudformationTags() } if d.HasChange("policy_body") { @@ -427,16 +424,16 @@ func resourceAwsCloudFormationStackUpdate(d *schema.ResourceData, meta interface var stackId string wait := resource.StateChangeConf{ Pending: []string{ - "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", - "UPDATE_IN_PROGRESS", - "UPDATE_ROLLBACK_IN_PROGRESS", - "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", + cloudformation.StackStatusUpdateCompleteCleanupInProgress, + cloudformation.StackStatusUpdateInProgress, + cloudformation.StackStatusUpdateRollbackInProgress, + cloudformation.StackStatusUpdateRollbackCompleteCleanupInProgress, }, Target: []string{ - "CREATE_COMPLETE", // If no stack update was performed - "UPDATE_COMPLETE", - "UPDATE_ROLLBACK_COMPLETE", - "UPDATE_ROLLBACK_FAILED", + cloudformation.StackStatusCreateComplete, + cloudformation.StackStatusUpdateComplete, + cloudformation.StackStatusUpdateRollbackComplete, + cloudformation.StackStatusUpdateRollbackFailed, }, Timeout: d.Timeout(schema.TimeoutUpdate), MinTimeout: 5 * time.Second, @@ -464,7 +461,7 @@ func resourceAwsCloudFormationStackUpdate(d *schema.ResourceData, meta interface return err } - if lastStatus == "UPDATE_ROLLBACK_COMPLETE" || lastStatus == "UPDATE_ROLLBACK_FAILED" { + if lastStatus == cloudformation.StackStatusUpdateRollbackComplete || lastStatus == cloudformation.StackStatusUpdateRollbackFailed { reasons, err := getCloudFormationRollbackReasons(stackId, lastUpdatedTime, conn) if err != nil { return fmt.Errorf("Failed getting details about rollback: %q", err.Error()) @@ -501,12 +498,12 @@ func resourceAwsCloudFormationStackDelete(d *schema.ResourceData, meta interface var lastStatus string wait := resource.StateChangeConf{ Pending: []string{ - "DELETE_IN_PROGRESS", - "ROLLBACK_IN_PROGRESS", + cloudformation.StackStatusDeleteInProgress, + cloudformation.StackStatusRollbackInProgress, }, Target: []string{ - "DELETE_COMPLETE", - "DELETE_FAILED", + cloudformation.StackStatusDeleteComplete, + cloudformation.StackStatusDeleteFailed, }, Timeout: d.Timeout(schema.TimeoutDelete), MinTimeout: 5 * time.Second, @@ -525,14 +522,14 @@ func resourceAwsCloudFormationStackDelete(d *schema.ResourceData, meta interface // ValidationError: Stack with id % does not exist if awsErr.Code() == "ValidationError" { - return resp, "DELETE_COMPLETE", nil + return resp, cloudformation.StackStatusDeleteComplete, nil } return nil, "", err } if len(resp.Stacks) == 0 { log.Printf("[DEBUG] CloudFormation stack %q is already gone", d.Id()) - return resp, "DELETE_COMPLETE", nil + return resp, cloudformation.StackStatusDeleteComplete, nil } status := *resp.Stacks[0].StackStatus @@ -548,7 +545,7 @@ func resourceAwsCloudFormationStackDelete(d *schema.ResourceData, meta interface return err } - if lastStatus == "DELETE_FAILED" { + if lastStatus == cloudformation.StackStatusDeleteFailed { reasons, err := getCloudFormationFailures(d.Id(), conn) if err != nil { return fmt.Errorf("Failed getting reasons of failure: %q", err.Error()) From 883c0be430cc43d34e1f2de0feea0a2bb4c0c378 Mon Sep 17 00:00:00 2001 From: Ryn Daniels Date: Wed, 6 Nov 2019 22:27:09 +0100 Subject: [PATCH 17/46] nil checks to prevent crashes on empty config blocks (#10713) Output from acceptance testing: ``` --- PASS: TestAccAWSSSMMaintenanceWindowTask_emptyNotificationConfig (12.47s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_TaskInvocationStepFunctionParameters (13.21s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_TaskParameters (14.11s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_updateForcesNewResource (19.92s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_TaskInvocationRunCommandParameters (21.25s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_TaskInvocationAutomationParameters (21.32s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_basic (22.05s) --- PASS: TestAccAWSSSMMaintenanceWindowTask_TaskInvocationLambdaParameters (28.96s) ``` --- ...esource_aws_ssm_maintenance_window_task.go | 31 +++++++ ...ce_aws_ssm_maintenance_window_task_test.go | 82 +++++++++++++++---- 2 files changed, 97 insertions(+), 16 deletions(-) diff --git a/aws/resource_aws_ssm_maintenance_window_task.go b/aws/resource_aws_ssm_maintenance_window_task.go index fd90f17d937..72d7148027d 100644 --- a/aws/resource_aws_ssm_maintenance_window_task.go +++ b/aws/resource_aws_ssm_maintenance_window_task.go @@ -329,6 +329,9 @@ func resourceAwsSsmMaintenanceWindowTask() *schema.Resource { } func expandAwsSsmMaintenanceWindowLoggingInfo(config []interface{}) *ssm.LoggingInfo { + if len(config) == 0 || config[0] == nil { + return nil + } loggingConfig := config[0].(map[string]interface{}) @@ -382,6 +385,10 @@ func flattenAwsSsmTaskParameters(taskParameters map[string]*ssm.MaintenanceWindo } func expandAwsSsmTaskInvocationParameters(config []interface{}) *ssm.MaintenanceWindowTaskInvocationParameters { + if len(config) == 0 || config[0] == nil { + return nil + } + params := &ssm.MaintenanceWindowTaskInvocationParameters{} for _, v := range config { paramConfig := v.(map[string]interface{}) @@ -423,6 +430,10 @@ func flattenAwsSsmTaskInvocationParameters(parameters *ssm.MaintenanceWindowTask } func expandAwsSsmTaskInvocationAutomationParameters(config []interface{}) *ssm.MaintenanceWindowAutomationParameters { + if len(config) == 0 || config[0] == nil { + return nil + } + params := &ssm.MaintenanceWindowAutomationParameters{} configParam := config[0].(map[string]interface{}) if attr, ok := configParam["document_version"]; ok && len(attr.(string)) != 0 { @@ -449,6 +460,10 @@ func flattenAwsSsmTaskInvocationAutomationParameters(parameters *ssm.Maintenance } func expandAwsSsmTaskInvocationLambdaParameters(config []interface{}) *ssm.MaintenanceWindowLambdaParameters { + if len(config) == 0 || config[0] == nil { + return nil + } + params := &ssm.MaintenanceWindowLambdaParameters{} configParam := config[0].(map[string]interface{}) if attr, ok := configParam["client_context"]; ok && len(attr.(string)) != 0 { @@ -479,6 +494,10 @@ func flattenAwsSsmTaskInvocationLambdaParameters(parameters *ssm.MaintenanceWind } func expandAwsSsmTaskInvocationRunCommandParameters(config []interface{}) *ssm.MaintenanceWindowRunCommandParameters { + if len(config) == 0 || config[0] == nil { + return nil + } + params := &ssm.MaintenanceWindowRunCommandParameters{} configParam := config[0].(map[string]interface{}) if attr, ok := configParam["comment"]; ok && len(attr.(string)) != 0 { @@ -546,6 +565,10 @@ func flattenAwsSsmTaskInvocationRunCommandParameters(parameters *ssm.Maintenance } func expandAwsSsmTaskInvocationStepFunctionsParameters(config []interface{}) *ssm.MaintenanceWindowStepFunctionsParameters { + if len(config) == 0 || config[0] == nil { + return nil + } + params := &ssm.MaintenanceWindowStepFunctionsParameters{} configParam := config[0].(map[string]interface{}) @@ -572,6 +595,10 @@ func flattenAwsSsmTaskInvocationStepFunctionsParameters(parameters *ssm.Maintena } func expandAwsSsmTaskInvocationRunCommandParametersNotificationConfig(config []interface{}) *ssm.NotificationConfig { + if len(config) == 0 || config[0] == nil { + return nil + } + params := &ssm.NotificationConfig{} configParam := config[0].(map[string]interface{}) @@ -605,6 +632,10 @@ func flattenAwsSsmTaskInvocationRunCommandParametersNotificationConfig(config *s } func expandAwsSsmTaskInvocationCommonParameters(config []interface{}) map[string][]*string { + if len(config) == 0 || config[0] == nil { + return nil + } + params := make(map[string][]*string) for _, v := range config { diff --git a/aws/resource_aws_ssm_maintenance_window_task_test.go b/aws/resource_aws_ssm_maintenance_window_task_test.go index f5773a4f122..73292c1a48f 100644 --- a/aws/resource_aws_ssm_maintenance_window_task_test.go +++ b/aws/resource_aws_ssm_maintenance_window_task_test.go @@ -14,7 +14,7 @@ import ( func TestAccAWSSSMMaintenanceWindowTask_basic(t *testing.T) { var before, after ssm.MaintenanceWindowTask - resourceName := "aws_ssm_maintenance_window_task.target" + resourceName := "aws_ssm_maintenance_window_task.test" name := acctest.RandString(10) resource.ParallelTest(t, resource.TestCase{ @@ -55,7 +55,7 @@ func TestAccAWSSSMMaintenanceWindowTask_basic(t *testing.T) { func TestAccAWSSSMMaintenanceWindowTask_updateForcesNewResource(t *testing.T) { var before, after ssm.MaintenanceWindowTask name := acctest.RandString(10) - resourceName := "aws_ssm_maintenance_window_task.target" + resourceName := "aws_ssm_maintenance_window_task.test" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -89,7 +89,7 @@ func TestAccAWSSSMMaintenanceWindowTask_updateForcesNewResource(t *testing.T) { func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationAutomationParameters(t *testing.T) { var task ssm.MaintenanceWindowTask - resourceName := "aws_ssm_maintenance_window_task.target" + resourceName := "aws_ssm_maintenance_window_task.test" name := acctest.RandString(10) resource.ParallelTest(t, resource.TestCase{ @@ -123,7 +123,7 @@ func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationAutomationParameters(t *te func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationLambdaParameters(t *testing.T) { var task ssm.MaintenanceWindowTask - resourceName := "aws_ssm_maintenance_window_task.target" + resourceName := "aws_ssm_maintenance_window_task.test" rString := acctest.RandString(8) rInt := acctest.RandInt() @@ -155,7 +155,7 @@ func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationLambdaParameters(t *testin func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationRunCommandParameters(t *testing.T) { var task ssm.MaintenanceWindowTask - resourceName := "aws_ssm_maintenance_window_task.target" + resourceName := "aws_ssm_maintenance_window_task.test" serviceRoleResourceName := "aws_iam_role.test" s3BucketResourceName := "aws_s3_bucket.foo" @@ -196,7 +196,7 @@ func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationRunCommandParameters(t *te func TestAccAWSSSMMaintenanceWindowTask_TaskInvocationStepFunctionParameters(t *testing.T) { var task ssm.MaintenanceWindowTask - resourceName := "aws_ssm_maintenance_window_task.target" + resourceName := "aws_ssm_maintenance_window_task.test" rString := acctest.RandString(8) resource.ParallelTest(t, resource.TestCase{ @@ -246,6 +246,27 @@ func TestAccAWSSSMMaintenanceWindowTask_TaskParameters(t *testing.T) { }) } +func TestAccAWSSSMMaintenanceWindowTask_emptyNotificationConfig(t *testing.T) { + var task ssm.MaintenanceWindowTask + rName := acctest.RandomWithPrefix("tf-acc-test") + resourceName := "aws_ssm_maintenance_window_task.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSSSMMaintenanceWindowTaskDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAWSSSMMaintenanceWindowTaskConfigEmptyNotifcationConfig(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSSSMMaintenanceWindowTaskExists(resourceName, &task), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + func testAccCheckAwsSsmWindowsTaskNotRecreated(t *testing.T, before, after *ssm.MaintenanceWindowTask) resource.TestCheckFunc { return func(s *terraform.State) error { @@ -397,7 +418,7 @@ POLICY func testAccAWSSSMMaintenanceWindowTaskBasicConfig(rName string) string { return fmt.Sprintf(testAccAWSSSMMaintenanceWindowTaskConfigBase(rName) + ` -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "RUN_COMMAND" task_arn = "AWS-RunShellScript" @@ -423,7 +444,7 @@ resource "aws_ssm_maintenance_window_task" "target" { func testAccAWSSSMMaintenanceWindowTaskBasicConfigUpdate(rName, description, taskType, taskArn string, priority, maxConcurrency, maxErrors int) string { return fmt.Sprintf(testAccAWSSSMMaintenanceWindowTaskConfigBase(rName)+` -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "%[2]s" task_arn = "%[3]s" @@ -486,7 +507,7 @@ EOF func testAccAWSSSMMaintenanceWindowTaskBasicConfigUpdated(rName string) string { return fmt.Sprintf(testAccAWSSSMMaintenanceWindowTaskConfigBase(rName) + ` -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "RUN_COMMAND" task_arn = "AWS-RunShellScript" @@ -511,10 +532,39 @@ resource "aws_ssm_maintenance_window_task" "target" { `) } +func testAccAWSSSMMaintenanceWindowTaskConfigEmptyNotifcationConfig(rName string) string { + return fmt.Sprintf(testAccAWSSSMMaintenanceWindowTaskConfigBase(rName) + ` + +resource "aws_ssm_maintenance_window_task" "test" { + window_id = "${aws_ssm_maintenance_window.test.id}" + task_type = "RUN_COMMAND" + task_arn = "AWS-CreateImage" + priority = 1 + service_role_arn = "${aws_iam_role.test.arn}" + max_concurrency = "2" + max_errors = "1" + targets { + key = "WindowTargetIds" + values = ["${aws_ssm_maintenance_window_target.test.id}"] + } + task_invocation_parameters { + run_command_parameters { + timeout_seconds = 600 + notification_config {} + parameter { + name = "Operation" + values = ["Install"] + } + } + } + } +`) +} + func testAccAWSSSMMaintenanceWindowTaskAutomationConfig(rName, version string) string { return fmt.Sprintf(testAccAWSSSMMaintenanceWindowTaskConfigBase(rName)+` -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "AUTOMATION" task_arn = "AWS-CreateImage" @@ -552,7 +602,7 @@ resource "aws_s3_bucket" "foo" { force_destroy = true } -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "AUTOMATION" task_arn = "AWS-CreateImage" @@ -585,10 +635,10 @@ func testAccAWSSSMMaintenanceWindowTaskLambdaConfig(funcName, policyName, roleNa return fmt.Sprintf(testAccAWSLambdaConfigBasic(funcName, policyName, roleName, sgName)+ testAccAWSSSMMaintenanceWindowTaskConfigBase(rName)+` -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "LAMBDA" - task_arn = "${aws_lambda_function.lambda_function_test.arn}" + task_arn = "${aws_lambda_function.test.arn}" priority = 1 service_role_arn = "${aws_iam_role.test.arn}" max_concurrency = "2" @@ -616,7 +666,7 @@ resource "aws_ssm_maintenance_window_task" "target" { func testAccAWSSSMMaintenanceWindowTaskRunCommandConfig(rName, comment string, timeoutSeconds int) string { return fmt.Sprintf(testAccAWSSSMMaintenanceWindowTaskConfigBase(rName)+` -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "RUN_COMMAND" task_arn = "AWS-RunShellScript" @@ -654,7 +704,7 @@ resource "aws_s3_bucket" "foo" { force_destroy = true } -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "RUN_COMMAND" task_arn = "AWS-RunShellScript" @@ -693,7 +743,7 @@ resource "aws_sfn_activity" "test" { name = %[1]q } -resource "aws_ssm_maintenance_window_task" "target" { +resource "aws_ssm_maintenance_window_task" "test" { window_id = "${aws_ssm_maintenance_window.test.id}" task_type = "STEP_FUNCTIONS" task_arn = "${aws_sfn_activity.test.id}" From e9585104c9e6e4087b0b61f70527b2bc4bf87e86 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Wed, 6 Nov 2019 16:28:42 -0500 Subject: [PATCH 18/46] Update CHANGELOG for #10713 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91eade14086..a2e4f0fc1be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ BUG FIXES: * resource/aws_api_gateway_authorizer: Set `authorizer_result_ttl_in_seconds` argument default to 300 to match API default which properly allows setting to 0 for disabling caching [GH-9605] * resource/aws_autoscaling_group: Batch ELB attachments and detachments by 10 to prevent API and rate limiting errors [GH-10445] * resource/aws_s3_bucket_public_access_block: Remove from Terraform state when S3 Bucket is already destroyed [GH-10534] +* resource/aws_ssm_maintenance_window_task: Prevent crashes with empty configuration blocks [GH-10713] ## 2.34.0 (October 31, 2019) From 62d8e29b89748fc2153a87202f74a244084e9336 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Wed, 6 Nov 2019 16:38:38 -0500 Subject: [PATCH 19/46] deps: Add missing checksum from gopkg.in/yaml.v2@v2.2.5 update Reference: https://github.com/terraform-providers/terraform-provider-aws/pull/10737 --- go.sum | 1 + 1 file changed, 1 insertion(+) diff --git a/go.sum b/go.sum index 6426cd7d080..15911b231fb 100644 --- a/go.sum +++ b/go.sum @@ -623,6 +623,7 @@ gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5 h1:ymVxjfMaHvXD8RqPRmzHHsB3VvucivSkIAvJFDI5O3c= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From b6451877585418954eaf70f303eda4bac893eef3 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 30 Oct 2019 14:49:14 -0400 Subject: [PATCH 20/46] provider: Add docscheck make target/script This check ensures that all resource and data source docs have a subcategory specified, so that the Terraform Registry can properly render the docs navigation. --- .travis.yml | 1 + GNUmakefile | 5 ++++- scripts/docscheck.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100755 scripts/docscheck.sh diff --git a/.travis.yml b/.travis.yml index 15b2d4d6469..af3742fa48d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ matrix: - go: "1.13.x" name: "Website" script: + - make docscheck - make website-test - make website-lint diff --git a/GNUmakefile b/GNUmakefile index c3ee205e505..d81860f251d 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -34,6 +34,9 @@ fmtcheck: websitefmtcheck: @sh -c "'$(CURDIR)/scripts/websitefmtcheck.sh'" +docscheck: + @sh -c "'$(CURDIR)/scripts/docscheck.sh'" + lint: @echo "==> Checking source code against linters..." @golangci-lint run ./$(PKG_NAME)/... @@ -91,5 +94,5 @@ ifeq (,$(wildcard $(GOPATH)/src/$(WEBSITE_REPO))) endif @$(MAKE) -C $(GOPATH)/src/$(WEBSITE_REPO) website-provider-test PROVIDER_PATH=$(shell pwd) PROVIDER_NAME=$(PKG_NAME) -.PHONY: build gen sweep test testacc fmt fmtcheck lint tools test-compile website website-lint website-test +.PHONY: build gen sweep test testacc fmt fmtcheck lint tools test-compile website website-lint website-test docscheck diff --git a/scripts/docscheck.sh b/scripts/docscheck.sh new file mode 100755 index 00000000000..91343b4a737 --- /dev/null +++ b/scripts/docscheck.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +docs=$(ls website/docs/**/*.markdown) +error=false + +for doc in $docs; do + dirname=$(dirname "$doc") + category=$(basename "$dirname") + + + case "$category" in + "guides") + # Guides have no requirements + continue + ;; + + "d") + # Data sources have no requirements + continue + ;; + + "r") + # Resources and datasources require a subcategory + grep "^subcategory: " "$doc" > /dev/null + if [[ "$?" == "1" ]]; then + echo "Doc is missing a subcategory: $doc" + error=true + fi + ;; + + *) + # Docs + error=true + echo "Unknown category \"$category\". " \ + "Docs can only exist in r/, d/, or guides/ folders." + ;; + esac +done + +if $error; then + exit 1 +fi + +exit 0 From ff208fb7333e1d1389fd7104240b05b931b23906 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 30 Oct 2019 14:49:41 -0400 Subject: [PATCH 21/46] website: Require explicit empty subcategory --- scripts/docscheck.sh | 7 +------ website/docs/d/arn.html.markdown | 1 + website/docs/d/availability_zone.html.markdown | 1 + website/docs/d/availability_zones.html.markdown | 1 + website/docs/d/billing_service_account.html.markdown | 1 + website/docs/d/caller_identity.html.markdown | 1 + website/docs/d/ip_ranges.html.markdown | 1 + website/docs/d/kms_secret.html.markdown | 1 + website/docs/d/partition.html.markdown | 1 + website/docs/d/region.html.markdown | 1 + 10 files changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/docscheck.sh b/scripts/docscheck.sh index 91343b4a737..32391756ce4 100755 --- a/scripts/docscheck.sh +++ b/scripts/docscheck.sh @@ -14,12 +14,7 @@ for doc in $docs; do continue ;; - "d") - # Data sources have no requirements - continue - ;; - - "r") + "d" | "r") # Resources and datasources require a subcategory grep "^subcategory: " "$doc" > /dev/null if [[ "$?" == "1" ]]; then diff --git a/website/docs/d/arn.html.markdown b/website/docs/d/arn.html.markdown index b83f8387b31..5c65d38c8ee 100644 --- a/website/docs/d/arn.html.markdown +++ b/website/docs/d/arn.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_arn" description: |- diff --git a/website/docs/d/availability_zone.html.markdown b/website/docs/d/availability_zone.html.markdown index 3ea85173b4b..eb6fcd1b0d6 100644 --- a/website/docs/d/availability_zone.html.markdown +++ b/website/docs/d/availability_zone.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_availability_zone" description: |- diff --git a/website/docs/d/availability_zones.html.markdown b/website/docs/d/availability_zones.html.markdown index 734244c7b0b..32c6839bd28 100644 --- a/website/docs/d/availability_zones.html.markdown +++ b/website/docs/d/availability_zones.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_availability_zones" description: |- diff --git a/website/docs/d/billing_service_account.html.markdown b/website/docs/d/billing_service_account.html.markdown index a3065696d44..69982b1f763 100644 --- a/website/docs/d/billing_service_account.html.markdown +++ b/website/docs/d/billing_service_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_billing_service_account" description: |- diff --git a/website/docs/d/caller_identity.html.markdown b/website/docs/d/caller_identity.html.markdown index a09c480a39d..ef072972409 100644 --- a/website/docs/d/caller_identity.html.markdown +++ b/website/docs/d/caller_identity.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_caller_identity" description: |- diff --git a/website/docs/d/ip_ranges.html.markdown b/website/docs/d/ip_ranges.html.markdown index 6786bf2d00e..72838931bbe 100644 --- a/website/docs/d/ip_ranges.html.markdown +++ b/website/docs/d/ip_ranges.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_ip_ranges" description: |- diff --git a/website/docs/d/kms_secret.html.markdown b/website/docs/d/kms_secret.html.markdown index a81f3c93bd8..37c8cbdee4b 100644 --- a/website/docs/d/kms_secret.html.markdown +++ b/website/docs/d/kms_secret.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_kms_secret" description: |- diff --git a/website/docs/d/partition.html.markdown b/website/docs/d/partition.html.markdown index b73619b0edd..70a5418d54a 100644 --- a/website/docs/d/partition.html.markdown +++ b/website/docs/d/partition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_partition" description: |- diff --git a/website/docs/d/region.html.markdown b/website/docs/d/region.html.markdown index e58c97e953c..5a2de0f9ffd 100644 --- a/website/docs/d/region.html.markdown +++ b/website/docs/d/region.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "AWS: aws_region" description: |- From c042adcbc64bffd6581768469b9aa1d036d1261e Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 30 Oct 2019 14:59:07 -0400 Subject: [PATCH 22/46] website: Add KMS subcategory for kms_secret This was removed, but should show up in the subcategory on the Terraform Registry, and not the top-level data sources folder. --- website/docs/d/kms_secret.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/d/kms_secret.html.markdown b/website/docs/d/kms_secret.html.markdown index 37c8cbdee4b..61d6025e4c0 100644 --- a/website/docs/d/kms_secret.html.markdown +++ b/website/docs/d/kms_secret.html.markdown @@ -1,5 +1,5 @@ --- -subcategory: "" +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_secret" description: |- From 446c5d9dd78ae68ce4476f95ba8661fd4bda996b Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 1 Nov 2019 09:40:32 -0400 Subject: [PATCH 23/46] website: Require page_title for guides --- scripts/docscheck.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/docscheck.sh b/scripts/docscheck.sh index 32391756ce4..9219254ef63 100755 --- a/scripts/docscheck.sh +++ b/scripts/docscheck.sh @@ -10,8 +10,12 @@ for doc in $docs; do case "$category" in "guides") - # Guides have no requirements - continue + # Guides require a page_title + grep "^page_title: " "$doc" > /dev/null + if [[ "$?" == "1" ]]; then + echo "Guide is missing a page_title: $doc" + error=true + fi ;; "d" | "r") @@ -24,7 +28,6 @@ for doc in $docs; do ;; *) - # Docs error=true echo "Unknown category \"$category\". " \ "Docs can only exist in r/, d/, or guides/ folders." From 6050201d47833a6630ac8fc7202d2e2a59ebd5a4 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 6 Nov 2019 16:28:42 -0500 Subject: [PATCH 24/46] website: Add subcategory to resources/data sources We will soon be displaying documentation for this provider both on [terraform.io](https://www.terraform.io/docs/providers/index.html) and on [the Terraform Registry](https://registry.terraform.io/providers). Documentation displayed on the Terraform Registry will not use the ERB layout containing the existing navigation, and will instead build the navigation dynamically based on the directory and YAML frontmatter of a file. For providers that group similar resources and data sources by service or use case (subcategories), we'll need to add this information to the Markdown source file. This modifies Resource and Data Source documentation source files by adding a subcategory to the metadata if those files were grouped previously. For more information about how documentation is rendered on the Terraform Registry, please see this reference: [Terraform Registry - Provider Documentation](https://www.terraform.io/docs/registry/providers/docs.html). --- website/docs/d/acm_certificate.html.markdown | 1 + website/docs/d/acmpca_certificate_authority.html.markdown | 1 + website/docs/d/ami.html.markdown | 1 + website/docs/d/ami_ids.html.markdown | 1 + website/docs/d/api_gateway_api_key.html.markdown | 1 + website/docs/d/api_gateway_resource.html.markdown | 1 + website/docs/d/api_gateway_rest_api.html.markdown | 1 + website/docs/d/api_gateway_vpc_link.html.markdown | 1 + website/docs/d/autoscaling_group.html.markdown | 1 + website/docs/d/autoscaling_groups.html.markdown | 1 + website/docs/d/batch_compute_environment.html.markdown | 1 + website/docs/d/batch_job_queue.html.markdown | 1 + website/docs/d/canonical_user_id.html.markdown | 1 + website/docs/d/cloudformation_export.html.markdown | 1 + website/docs/d/cloudformation_stack.html.markdown | 1 + website/docs/d/cloudhsm_v2_cluster.html.markdown | 1 + website/docs/d/cloudtrail_service_account.html.markdown | 1 + website/docs/d/cloudwatch_log_group.html.markdown | 1 + website/docs/d/codecommit_repository.html.markdown | 1 + website/docs/d/cognito_user_pools.markdown | 1 + website/docs/d/cur_report_definition.html.markdown | 1 + website/docs/d/customer_gateway.html.markdown | 1 + website/docs/d/db_cluster_snapshot.html.markdown | 1 + website/docs/d/db_event_categories.html.markdown | 1 + website/docs/d/db_instance.html.markdown | 1 + website/docs/d/db_snapshot.html.markdown | 1 + website/docs/d/dx_gateway.html.markdown | 1 + website/docs/d/dynamodb_table.html.markdown | 1 + website/docs/d/ebs_default_kms_key.html.markdown | 1 + website/docs/d/ebs_encryption_by_default.html.markdown | 1 + website/docs/d/ebs_snapshot.html.markdown | 1 + website/docs/d/ebs_snapshot_ids.html.markdown | 1 + website/docs/d/ebs_volume.html.markdown | 1 + website/docs/d/ec2_transit_gateway.html.markdown | 1 + .../d/ec2_transit_gateway_dx_gateway_attachment.html.markdown | 1 + website/docs/d/ec2_transit_gateway_route_table.html.markdown | 1 + website/docs/d/ec2_transit_gateway_vpc_attachment.html.markdown | 1 + website/docs/d/ec2_transit_gateway_vpn_attachment.html.markdown | 1 + website/docs/d/ecr_image.html.markdown | 1 + website/docs/d/ecr_repository.html.markdown | 1 + website/docs/d/ecs_cluster.html.markdown | 1 + website/docs/d/ecs_container_definition.html.markdown | 1 + website/docs/d/ecs_service.html.markdown | 1 + website/docs/d/ecs_task_definition.html.markdown | 1 + website/docs/d/efs_file_system.html.markdown | 1 + website/docs/d/efs_mount_target.html.markdown | 1 + website/docs/d/eip.html.markdown | 1 + website/docs/d/eks_cluster.html.markdown | 1 + website/docs/d/eks_cluster_auth.html.markdown | 1 + website/docs/d/elastic_beanstalk_application.html.markdown | 1 + website/docs/d/elastic_beanstalk_hosted_zone.html.markdown | 1 + website/docs/d/elastic_beanstalk_solution_stack.html.markdown | 1 + website/docs/d/elasticache_cluster.html.markdown | 1 + website/docs/d/elasticache_replication_group.html.markdown | 1 + website/docs/d/elasticsearch_domain.html.markdown | 1 + website/docs/d/elb.html.markdown | 1 + website/docs/d/elb_hosted_zone_id.html.markdown | 1 + website/docs/d/elb_service_account.html.markdown | 1 + website/docs/d/glue_script.html.markdown | 1 + website/docs/d/iam_account_alias.html.markdown | 1 + website/docs/d/iam_group.html.markdown | 1 + website/docs/d/iam_instance_profile.html.markdown | 1 + website/docs/d/iam_policy.html.markdown | 1 + website/docs/d/iam_policy_document.html.markdown | 1 + website/docs/d/iam_role.html.markdown | 1 + website/docs/d/iam_server_certificate.html.markdown | 1 + website/docs/d/iam_user.html.markdown | 1 + website/docs/d/inspector_rules_packages.html.markdown | 1 + website/docs/d/instance.html.markdown | 1 + website/docs/d/instances.html.markdown | 1 + website/docs/d/internet_gateway.html.markdown | 1 + website/docs/d/iot_endpoint.html.markdown | 1 + website/docs/d/kinesis_stream.html.markdown | 1 + website/docs/d/kms_alias.html.markdown | 1 + website/docs/d/kms_ciphertext.html.markdown | 1 + website/docs/d/kms_key.html.markdown | 1 + website/docs/d/kms_secrets.html.markdown | 1 + website/docs/d/lambda_function.html.markdown | 1 + website/docs/d/lambda_invocation.html.markdown | 1 + website/docs/d/lambda_layer_version.html.markdown | 1 + website/docs/d/launch_configuration.html.markdown | 1 + website/docs/d/launch_template.html.markdown | 1 + website/docs/d/lb.html.markdown | 1 + website/docs/d/lb_listener.html.markdown | 1 + website/docs/d/lb_target_group.html.markdown | 1 + website/docs/d/mq_broker.html.markdown | 1 + website/docs/d/msk_cluster.html.markdown | 1 + website/docs/d/msk_configuration.html.markdown | 1 + website/docs/d/nat_gateway.html.markdown | 1 + website/docs/d/network_acls.html.markdown | 1 + website/docs/d/network_interface.html.markdown | 1 + website/docs/d/network_interfaces.html.markdown | 1 + website/docs/d/organizations_organization.html.markdown | 1 + website/docs/d/prefix_list.html.markdown | 1 + website/docs/d/pricing_product.html.markdown | 1 + website/docs/d/ram_resource_share.html.markdown | 1 + website/docs/d/rds_cluster.html.markdown | 1 + website/docs/d/redshift_cluster.html.markdown | 1 + website/docs/d/redshift_service_account.html.markdown | 1 + website/docs/d/route.html.markdown | 1 + website/docs/d/route53_delegation_set.html.markdown | 1 + website/docs/d/route53_resolver_rule.html.markdown | 1 + website/docs/d/route53_resolver_rules.html.markdown | 1 + website/docs/d/route53_zone.html.markdown | 1 + website/docs/d/route_table.html.markdown | 1 + website/docs/d/route_tables.html.markdown | 1 + website/docs/d/s3_bucket.html.markdown | 1 + website/docs/d/s3_bucket_object.html.markdown | 1 + website/docs/d/s3_bucket_objects.html.markdown | 1 + website/docs/d/secretsmanager_secret.html.markdown | 1 + website/docs/d/secretsmanager_secret_version.html.markdown | 1 + website/docs/d/security_group.html.markdown | 1 + website/docs/d/security_groups.html.markdown | 1 + website/docs/d/servicequotas_service.html.markdown | 1 + website/docs/d/servicequotas_service_quota.html.markdown | 1 + website/docs/d/sns_topic.html.markdown | 1 + website/docs/d/sqs_queue.html.markdown | 1 + website/docs/d/ssm_document.html.markdown | 1 + website/docs/d/ssm_parameter.html.markdown | 1 + website/docs/d/storagegateway_local_disk.html.markdown | 1 + website/docs/d/subnet.html.markdown | 1 + website/docs/d/subnet_ids.html.markdown | 1 + website/docs/d/transfer_server.html.markdown | 1 + website/docs/d/vpc.html.markdown | 1 + website/docs/d/vpc_dhcp_options.html.markdown | 1 + website/docs/d/vpc_endpoint.html.markdown | 1 + website/docs/d/vpc_endpoint_service.html.markdown | 1 + website/docs/d/vpc_peering_connection.html.markdown | 1 + website/docs/d/vpcs.html.markdown | 1 + website/docs/d/vpn_gateway.html.markdown | 1 + website/docs/d/waf_ipset.html.markdown | 1 + website/docs/d/waf_rate_based_rule.html.markdown | 1 + website/docs/d/waf_rule.html.markdown | 1 + website/docs/d/waf_web_acl.html.markdown | 1 + website/docs/d/wafregional_ipset.html.markdown | 1 + website/docs/d/wafregional_rate_based_rule.html.markdown | 1 + website/docs/d/wafregional_rule.html.markdown | 1 + website/docs/d/wafregional_web_acl.html.markdown | 1 + website/docs/d/workspaces_bundle.html.markdown | 1 + website/docs/guides/custom-service-endpoints.html.md | 1 + website/docs/guides/version-2-upgrade.html.md | 1 + website/docs/guides/version-3-upgrade.html.md | 1 + website/docs/r/acm_certificate.html.markdown | 1 + website/docs/r/acm_certificate_validation.html.markdown | 1 + website/docs/r/acmpca_certificate_authority.html.markdown | 1 + website/docs/r/ami.html.markdown | 1 + website/docs/r/ami_copy.html.markdown | 1 + website/docs/r/ami_from_instance.html.markdown | 1 + website/docs/r/ami_launch_permission.html.markdown | 1 + website/docs/r/api_gateway_account.html.markdown | 1 + website/docs/r/api_gateway_api_key.html.markdown | 1 + website/docs/r/api_gateway_authorizer.html.markdown | 1 + website/docs/r/api_gateway_base_path_mapping.html.markdown | 1 + website/docs/r/api_gateway_client_certificate.html.markdown | 1 + website/docs/r/api_gateway_deployment.html.markdown | 1 + website/docs/r/api_gateway_documentation_part.html.markdown | 1 + website/docs/r/api_gateway_documentation_version.html.markdown | 1 + website/docs/r/api_gateway_domain_name.html.markdown | 1 + website/docs/r/api_gateway_gateway_response.markdown | 1 + website/docs/r/api_gateway_integration.html.markdown | 1 + website/docs/r/api_gateway_integration_response.html.markdown | 1 + website/docs/r/api_gateway_method.html.markdown | 1 + website/docs/r/api_gateway_method_response.html.markdown | 1 + website/docs/r/api_gateway_method_settings.html.markdown | 1 + website/docs/r/api_gateway_model.html.markdown | 1 + website/docs/r/api_gateway_request_validator.html.markdown | 1 + website/docs/r/api_gateway_resource.html.markdown | 1 + website/docs/r/api_gateway_rest_api.html.markdown | 1 + website/docs/r/api_gateway_stage.html.markdown | 1 + website/docs/r/api_gateway_usage_plan.html.markdown | 1 + website/docs/r/api_gateway_usage_plan_key.html.markdown | 1 + website/docs/r/api_gateway_vpc_link.html.markdown | 1 + website/docs/r/app_cookie_stickiness_policy.html.markdown | 1 + website/docs/r/appautoscaling_policy.html.markdown | 1 + website/docs/r/appautoscaling_scheduled_action.html.markdown | 1 + website/docs/r/appautoscaling_target.html.markdown | 1 + website/docs/r/appmesh_mesh.html.markdown | 1 + website/docs/r/appmesh_route.html.markdown | 1 + website/docs/r/appmesh_virtual_node.html.markdown | 1 + website/docs/r/appmesh_virtual_router.html.markdown | 1 + website/docs/r/appmesh_virtual_service.html.markdown | 1 + website/docs/r/appsync_api_key.html.markdown | 1 + website/docs/r/appsync_datasource.html.markdown | 1 + website/docs/r/appsync_function.html.markdown | 1 + website/docs/r/appsync_graphql_api.html.markdown | 1 + website/docs/r/appsync_resolver.html.markdown | 1 + website/docs/r/athena_database.html.markdown | 1 + website/docs/r/athena_named_query.html.markdown | 1 + website/docs/r/athena_workgroup.html.markdown | 1 + website/docs/r/autoscaling_attachment.html.markdown | 1 + website/docs/r/autoscaling_group.html.markdown | 1 + website/docs/r/autoscaling_lifecycle_hooks.html.markdown | 1 + website/docs/r/autoscaling_notification.html.markdown | 1 + website/docs/r/autoscaling_policy.html.markdown | 1 + website/docs/r/autoscaling_schedule.html.markdown | 1 + website/docs/r/backup_plan.html.markdown | 1 + website/docs/r/backup_selection.html.markdown | 1 + website/docs/r/backup_vault.html.markdown | 1 + website/docs/r/batch_compute_environment.html.markdown | 1 + website/docs/r/batch_job_definition.html.markdown | 1 + website/docs/r/batch_job_queue.html.markdown | 1 + website/docs/r/budgets_budget.html.markdown | 1 + website/docs/r/cloud9_environment_ec2.html.markdown | 1 + website/docs/r/cloudformation_stack.html.markdown | 1 + website/docs/r/cloudformation_stack_set.html.markdown | 1 + website/docs/r/cloudformation_stack_set_instance.html.markdown | 1 + website/docs/r/cloudfront_distribution.html.markdown | 1 + website/docs/r/cloudfront_origin_access_identity.html.markdown | 1 + website/docs/r/cloudfront_public_key.html.markdown | 1 + website/docs/r/cloudhsm_v2_cluster.html.markdown | 1 + website/docs/r/cloudhsm_v2_hsm.html.markdown | 1 + website/docs/r/cloudtrail.html.markdown | 1 + website/docs/r/cloudwatch_dashboard.html.markdown | 1 + website/docs/r/cloudwatch_event_permission.html.markdown | 1 + website/docs/r/cloudwatch_event_rule.html.markdown | 1 + website/docs/r/cloudwatch_event_target.html.markdown | 1 + website/docs/r/cloudwatch_log_destination.html.markdown | 1 + website/docs/r/cloudwatch_log_destination_policy.html.markdown | 1 + website/docs/r/cloudwatch_log_group.html.markdown | 1 + website/docs/r/cloudwatch_log_metric_filter.html.markdown | 1 + website/docs/r/cloudwatch_log_resource_policy.html.markdown | 1 + website/docs/r/cloudwatch_log_stream.html.markdown | 1 + website/docs/r/cloudwatch_log_subscription_filter.html.markdown | 1 + website/docs/r/cloudwatch_metric_alarm.html.markdown | 1 + website/docs/r/codebuild_project.html.markdown | 1 + website/docs/r/codebuild_source_credential.html.markdown | 1 + website/docs/r/codebuild_webhook.html.markdown | 1 + website/docs/r/codecommit_repository.html.markdown | 1 + website/docs/r/codecommit_trigger.html.markdown | 1 + website/docs/r/codedeploy_app.html.markdown | 1 + website/docs/r/codedeploy_deployment_config.html.markdown | 1 + website/docs/r/codedeploy_deployment_group.html.markdown | 1 + website/docs/r/codepipeline.markdown | 1 + website/docs/r/codepipeline_webhook.markdown | 1 + website/docs/r/cognito_identity_pool.markdown | 1 + website/docs/r/cognito_identity_pool_roles_attachment.markdown | 1 + website/docs/r/cognito_identity_provider.html.markdown | 1 + website/docs/r/cognito_resource_server.markdown | 1 + website/docs/r/cognito_user_group.html.markdown | 1 + website/docs/r/cognito_user_pool.markdown | 1 + website/docs/r/cognito_user_pool_client.markdown | 1 + website/docs/r/cognito_user_pool_domain.markdown | 1 + website/docs/r/config_aggregate_authorization.markdown | 1 + website/docs/r/config_config_rule.html.markdown | 1 + website/docs/r/config_configuration_aggregator.html.markdown | 1 + website/docs/r/config_configuration_recorder.html.markdown | 1 + .../docs/r/config_configuration_recorder_status.html.markdown | 1 + website/docs/r/config_delivery_channel.html.markdown | 1 + website/docs/r/config_organization_custom_rule.html.markdown | 1 + website/docs/r/config_organization_managed_rule.html.markdown | 1 + website/docs/r/cur_report_definition.html.markdown | 1 + website/docs/r/customer_gateway.html.markdown | 1 + website/docs/r/datapipeline_pipeline.html.markdown | 1 + website/docs/r/datasync_agent.html.markdown | 1 + website/docs/r/datasync_location_efs.html.markdown | 1 + website/docs/r/datasync_location_nfs.html.markdown | 1 + website/docs/r/datasync_location_s3.html.markdown | 1 + website/docs/r/datasync_task.html.markdown | 1 + website/docs/r/dax_cluster.html.markdown | 1 + website/docs/r/dax_parameter_group.html.markdown | 1 + website/docs/r/dax_subnet_group.html.markdown | 1 + website/docs/r/db_cluster_snapshot.html.markdown | 1 + website/docs/r/db_event_subscription.html.markdown | 1 + website/docs/r/db_instance.html.markdown | 1 + website/docs/r/db_instance_role_association.html.markdown | 1 + website/docs/r/db_option_group.html.markdown | 1 + website/docs/r/db_parameter_group.html.markdown | 1 + website/docs/r/db_security_group.html.markdown | 1 + website/docs/r/db_snapshot.html.markdown | 1 + website/docs/r/db_subnet_group.html.markdown | 1 + website/docs/r/default_network_acl.html.markdown | 1 + website/docs/r/default_route_table.html.markdown | 1 + website/docs/r/default_security_group.html.markdown | 1 + website/docs/r/default_subnet.html.markdown | 1 + website/docs/r/default_vpc.html.markdown | 1 + website/docs/r/default_vpc_dhcp_options.html.markdown | 1 + website/docs/r/devicefarm_project.html.markdown | 1 + .../docs/r/directory_service_conditional_forwarder.html.markdown | 1 + website/docs/r/directory_service_directory.html.markdown | 1 + website/docs/r/directory_service_log_subscription.html.markdown | 1 + website/docs/r/dlm_lifecycle_policy.markdown | 1 + website/docs/r/dms_certificate.html.markdown | 1 + website/docs/r/dms_endpoint.html.markdown | 1 + website/docs/r/dms_replication_instance.html.markdown | 1 + website/docs/r/dms_replication_subnet_group.html.markdown | 1 + website/docs/r/dms_replication_task.html.markdown | 1 + website/docs/r/docdb_cluster.html.markdown | 1 + website/docs/r/docdb_cluster_instance.html.markdown | 1 + website/docs/r/docdb_cluster_parameter_group.html.markdown | 1 + website/docs/r/docdb_cluster_snapshot.html.markdown | 1 + website/docs/r/docdb_subnet_group.html.markdown | 1 + website/docs/r/dx_bgp_peer.html.markdown | 1 + website/docs/r/dx_connection.html.markdown | 1 + website/docs/r/dx_connection_association.html.markdown | 1 + website/docs/r/dx_gateway.html.markdown | 1 + website/docs/r/dx_gateway_association.html.markdown | 1 + website/docs/r/dx_gateway_association_proposal.html.markdown | 1 + website/docs/r/dx_hosted_private_virtual_interface.html.markdown | 1 + .../r/dx_hosted_private_virtual_interface_accepter.html.markdown | 1 + website/docs/r/dx_hosted_public_virtual_interface.html.markdown | 1 + .../r/dx_hosted_public_virtual_interface_accepter.html.markdown | 1 + website/docs/r/dx_lag.html.markdown | 1 + website/docs/r/dx_private_virtual_interface.html.markdown | 1 + website/docs/r/dx_public_virtual_interface.html.markdown | 1 + website/docs/r/dx_transit_virtual_interface.html.markdown | 1 + website/docs/r/dynamodb_global_table.html.markdown | 1 + website/docs/r/dynamodb_table.html.markdown | 1 + website/docs/r/dynamodb_table_item.html.markdown | 1 + website/docs/r/ebs_default_kms_key.html.markdown | 1 + website/docs/r/ebs_encryption_by_default.html.markdown | 1 + website/docs/r/ebs_snapshot.html.markdown | 1 + website/docs/r/ebs_snapshot_copy.html.markdown | 1 + website/docs/r/ebs_volume.html.markdown | 1 + website/docs/r/ec2_capacity_reservation.markdown | 1 + website/docs/r/ec2_client_vpn_endpoint.html.markdown | 1 + website/docs/r/ec2_client_vpn_network_association.html.markdown | 1 + website/docs/r/ec2_fleet.html.markdown | 1 + website/docs/r/ec2_transit_gateway.html.markdown | 1 + website/docs/r/ec2_transit_gateway_route.html.markdown | 1 + website/docs/r/ec2_transit_gateway_route_table.html.markdown | 1 + .../r/ec2_transit_gateway_route_table_association.html.markdown | 1 + .../r/ec2_transit_gateway_route_table_propagation.html.markdown | 1 + website/docs/r/ec2_transit_gateway_vpc_attachment.html.markdown | 1 + .../r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown | 1 + website/docs/r/ecr_lifecycle_policy.html.markdown | 1 + website/docs/r/ecr_repository.html.markdown | 1 + website/docs/r/ecr_repository_policy.html.markdown | 1 + website/docs/r/ecs_cluster.html.markdown | 1 + website/docs/r/ecs_service.html.markdown | 1 + website/docs/r/ecs_task_definition.html.markdown | 1 + website/docs/r/efs_file_system.html.markdown | 1 + website/docs/r/efs_mount_target.html.markdown | 1 + website/docs/r/egress_only_internet_gateway.html.markdown | 1 + website/docs/r/eip.html.markdown | 1 + website/docs/r/eip_association.html.markdown | 1 + website/docs/r/eks_cluster.html.markdown | 1 + website/docs/r/elastic_beanstalk_application.html.markdown | 1 + .../docs/r/elastic_beanstalk_application_version.html.markdown | 1 + .../r/elastic_beanstalk_configuration_template.html.markdown | 1 + website/docs/r/elastic_beanstalk_environment.html.markdown | 1 + website/docs/r/elastic_transcoder_pipeline.html.markdown | 1 + website/docs/r/elastic_transcoder_preset.html.markdown | 1 + website/docs/r/elasticache_cluster.html.markdown | 1 + website/docs/r/elasticache_parameter_group.html.markdown | 1 + website/docs/r/elasticache_replication_group.html.markdown | 1 + website/docs/r/elasticache_security_group.html.markdown | 1 + website/docs/r/elasticache_subnet_group.html.markdown | 1 + website/docs/r/elasticsearch_domain.html.markdown | 1 + website/docs/r/elasticsearch_domain_policy.html.markdown | 1 + website/docs/r/elb.html.markdown | 1 + website/docs/r/elb_attachment.html.markdown | 1 + website/docs/r/emr_cluster.html.markdown | 1 + website/docs/r/emr_instance_group.html.markdown | 1 + website/docs/r/emr_security_configuration.html.markdown | 1 + website/docs/r/flow_log.html.markdown | 1 + website/docs/r/fms_admin_account.html.markdown | 1 + website/docs/r/fsx_lustre_file_system.html.markdown | 1 + website/docs/r/fsx_windows_file_system.html.markdown | 1 + website/docs/r/gamelift_alias.html.markdown | 1 + website/docs/r/gamelift_build.html.markdown | 1 + website/docs/r/gamelift_fleet.html.markdown | 1 + website/docs/r/gamelift_game_session_queue.html.markdown | 1 + website/docs/r/glacier_vault.html.markdown | 1 + website/docs/r/glacier_vault_lock.html.markdown | 1 + website/docs/r/globalaccelerator_accelerator.markdown | 1 + website/docs/r/globalaccelerator_endpoint_group.html.markdown | 1 + website/docs/r/globalaccelerator_listener.markdown | 1 + website/docs/r/glue_catalog_database.html.markdown | 1 + website/docs/r/glue_catalog_table.html.markdown | 1 + website/docs/r/glue_classifier.html.markdown | 1 + website/docs/r/glue_connection.html.markdown | 1 + website/docs/r/glue_crawler.html.markdown | 1 + website/docs/r/glue_job.html.markdown | 1 + website/docs/r/glue_security_configuration.html.markdown | 1 + website/docs/r/glue_trigger.html.markdown | 1 + website/docs/r/guardduty_detector.html.markdown | 1 + website/docs/r/guardduty_invite_accepter.html.markdown | 1 + website/docs/r/guardduty_ipset.html.markdown | 1 + website/docs/r/guardduty_member.html.markdown | 1 + website/docs/r/guardduty_threatintelset.html.markdown | 1 + website/docs/r/iam_access_key.html.markdown | 1 + website/docs/r/iam_account_alias.html.markdown | 1 + website/docs/r/iam_account_password_policy.html.markdown | 1 + website/docs/r/iam_group.html.markdown | 1 + website/docs/r/iam_group_membership.html.markdown | 1 + website/docs/r/iam_group_policy.html.markdown | 1 + website/docs/r/iam_group_policy_attachment.markdown | 1 + website/docs/r/iam_instance_profile.html.markdown | 1 + website/docs/r/iam_openid_connect_provider.html.markdown | 1 + website/docs/r/iam_policy.html.markdown | 1 + website/docs/r/iam_policy_attachment.html.markdown | 1 + website/docs/r/iam_role.html.markdown | 1 + website/docs/r/iam_role_policy.html.markdown | 1 + website/docs/r/iam_role_policy_attachment.markdown | 1 + website/docs/r/iam_saml_provider.html.markdown | 1 + website/docs/r/iam_server_certificate.html.markdown | 1 + website/docs/r/iam_service_linked_role.html.markdown | 1 + website/docs/r/iam_user.html.markdown | 1 + website/docs/r/iam_user_group_membership.html.markdown | 1 + website/docs/r/iam_user_login_profile.html.markdown | 1 + website/docs/r/iam_user_policy.html.markdown | 1 + website/docs/r/iam_user_policy_attachment.markdown | 1 + website/docs/r/iam_user_ssh_key.html.markdown | 1 + website/docs/r/inspector_assessment_target.html.markdown | 1 + website/docs/r/inspector_assessment_template.html.markdown | 1 + website/docs/r/inspector_resource_group.html.markdown | 1 + website/docs/r/instance.html.markdown | 1 + website/docs/r/internet_gateway.html.markdown | 1 + website/docs/r/iot_certificate.html.markdown | 1 + website/docs/r/iot_policy.html.markdown | 1 + website/docs/r/iot_policy_attachment.html.markdown | 1 + website/docs/r/iot_role_alias.html.markdown | 1 + website/docs/r/iot_thing.html.markdown | 1 + website/docs/r/iot_thing_principal_attachment.html.markdown | 1 + website/docs/r/iot_thing_type.html.markdown | 1 + website/docs/r/iot_topic_rule.html.markdown | 1 + website/docs/r/key_pair.html.markdown | 1 + website/docs/r/kinesis_analytics_application.html.markdown | 1 + website/docs/r/kinesis_firehose_delivery_stream.html.markdown | 1 + website/docs/r/kinesis_stream.html.markdown | 1 + website/docs/r/kms_alias.html.markdown | 1 + website/docs/r/kms_ciphertext.html.markdown | 1 + website/docs/r/kms_external_key.html.markdown | 1 + website/docs/r/kms_grant.html.markdown | 1 + website/docs/r/kms_key.html.markdown | 1 + website/docs/r/lambda_alias.html.markdown | 1 + website/docs/r/lambda_event_source_mapping.html.markdown | 1 + website/docs/r/lambda_function.html.markdown | 1 + website/docs/r/lambda_layer_version.html.markdown | 1 + website/docs/r/lambda_permission.html.markdown | 1 + website/docs/r/launch_configuration.html.markdown | 1 + website/docs/r/launch_template.html.markdown | 1 + website/docs/r/lb.html.markdown | 1 + website/docs/r/lb_cookie_stickiness_policy.html.markdown | 1 + website/docs/r/lb_listener.html.markdown | 1 + website/docs/r/lb_listener_certificate.html.markdown | 1 + website/docs/r/lb_listener_rule.html.markdown | 1 + website/docs/r/lb_ssl_negotiation_policy.html.markdown | 1 + website/docs/r/lb_target_group.html.markdown | 1 + website/docs/r/lb_target_group_attachment.html.markdown | 1 + website/docs/r/licensemanager_association.markdown | 1 + website/docs/r/licensemanager_license_configuration.markdown | 1 + website/docs/r/lightsail_domain.html.markdown | 1 + website/docs/r/lightsail_instance.html.markdown | 1 + website/docs/r/lightsail_key_pair.html.markdown | 1 + website/docs/r/lightsail_static_ip.html.markdown | 1 + website/docs/r/lightsail_static_ip_attachment.html.markdown | 1 + website/docs/r/load_balancer_backend_server_policy.html.markdown | 1 + website/docs/r/load_balancer_listener_policy.html.markdown | 1 + website/docs/r/load_balancer_policy.html.markdown | 1 + website/docs/r/macie_member_account_association.html.markdown | 1 + website/docs/r/macie_s3_bucket_association.html.markdown | 1 + website/docs/r/main_route_table_assoc.html.markdown | 1 + website/docs/r/media_package_channel.html.markdown | 1 + website/docs/r/media_store_container.html.markdown | 1 + website/docs/r/media_store_container_policy.html.markdown | 1 + website/docs/r/mq_broker.html.markdown | 1 + website/docs/r/mq_configuration.html.markdown | 1 + website/docs/r/msk_cluster.html.markdown | 1 + website/docs/r/msk_configuration.html.markdown | 1 + website/docs/r/nat_gateway.html.markdown | 1 + website/docs/r/neptune_cluster.html.markdown | 1 + website/docs/r/neptune_cluster_instance.html.markdown | 1 + website/docs/r/neptune_cluster_parameter_group.html.markdown | 1 + website/docs/r/neptune_cluster_snapshot.html.markdown | 1 + website/docs/r/neptune_event_subscription.html.markdown | 1 + website/docs/r/neptune_parameter_group.html.markdown | 1 + website/docs/r/neptune_subnet_group.html.markdown | 1 + website/docs/r/network_acl.html.markdown | 1 + website/docs/r/network_acl_rule.html.markdown | 1 + website/docs/r/network_interface.markdown | 1 + website/docs/r/network_interface_attachment.html.markdown | 1 + website/docs/r/network_interface_sg_attachment.html.markdown | 1 + website/docs/r/opsworks_application.html.markdown | 1 + website/docs/r/opsworks_custom_layer.html.markdown | 1 + website/docs/r/opsworks_ganglia_layer.html.markdown | 1 + website/docs/r/opsworks_haproxy_layer.html.markdown | 1 + website/docs/r/opsworks_instance.html.markdown | 1 + website/docs/r/opsworks_java_app_layer.html.markdown | 1 + website/docs/r/opsworks_memcached_layer.html.markdown | 1 + website/docs/r/opsworks_mysql_layer.html.markdown | 1 + website/docs/r/opsworks_nodejs_app_layer.html.markdown | 1 + website/docs/r/opsworks_permission.html.markdown | 1 + website/docs/r/opsworks_php_app_layer.html.markdown | 1 + website/docs/r/opsworks_rails_app_layer.html.markdown | 1 + website/docs/r/opsworks_rds_db_instance.html.markdown | 1 + website/docs/r/opsworks_stack.html.markdown | 1 + website/docs/r/opsworks_static_web_layer.html.markdown | 1 + website/docs/r/opsworks_user_profile.html.markdown | 1 + website/docs/r/organizations_account.html.markdown | 1 + website/docs/r/organizations_organization.html.markdown | 1 + website/docs/r/organizations_organizational_unit.html.markdown | 1 + website/docs/r/organizations_policy.html.markdown | 1 + website/docs/r/organizations_policy_attachment.html.markdown | 1 + website/docs/r/pinpoint_adm_channel.markdown | 1 + website/docs/r/pinpoint_apns_channel.markdown | 1 + website/docs/r/pinpoint_apns_sandbox_channel.markdown | 1 + website/docs/r/pinpoint_apns_voip_channel.markdown | 1 + website/docs/r/pinpoint_apns_voip_sandbox_channel.markdown | 1 + website/docs/r/pinpoint_app.markdown | 1 + website/docs/r/pinpoint_baidu_channel.markdown | 1 + website/docs/r/pinpoint_email_channel.markdown | 1 + website/docs/r/pinpoint_event_stream.markdown | 1 + website/docs/r/pinpoint_gcm_channel.markdown | 1 + website/docs/r/pinpoint_sms_channel.markdown | 1 + website/docs/r/placement_group.html.markdown | 1 + website/docs/r/proxy_protocol_policy.html.markdown | 1 + website/docs/r/quicksight_group.html.markdown | 1 + website/docs/r/quicksight_user.html.markdown | 1 + website/docs/r/ram_principal_association.markdown | 1 + website/docs/r/ram_resource_association.html.markdown | 1 + website/docs/r/ram_resource_share.markdown | 1 + website/docs/r/ram_resource_share_accepter.markdown | 1 + website/docs/r/rds_cluster.html.markdown | 1 + website/docs/r/rds_cluster_endpoint.html.markdown | 1 + website/docs/r/rds_cluster_instance.html.markdown | 1 + website/docs/r/rds_cluster_parameter_group.markdown | 1 + website/docs/r/rds_global_cluster.html.markdown | 1 + website/docs/r/redshift_cluster.html.markdown | 1 + website/docs/r/redshift_event_subscription.html.markdown | 1 + website/docs/r/redshift_parameter_group.html.markdown | 1 + website/docs/r/redshift_security_group.html.markdown | 1 + website/docs/r/redshift_snapshot_copy_grant.html.markdown | 1 + website/docs/r/redshift_snapshot_schedule.html.markdown | 1 + .../docs/r/redshift_snapshot_schedule_association.html.markdown | 1 + website/docs/r/redshift_subnet_group.html.markdown | 1 + website/docs/r/resourcegroups_group.html.markdown | 1 + website/docs/r/route.html.markdown | 1 + website/docs/r/route53_delegation_set.html.markdown | 1 + website/docs/r/route53_health_check.html.markdown | 1 + website/docs/r/route53_query_log.html.markdown | 1 + website/docs/r/route53_record.html.markdown | 1 + website/docs/r/route53_resolver_endpoint.html.markdown | 1 + website/docs/r/route53_resolver_rule.html.markdown | 1 + website/docs/r/route53_resolver_rule_association.html.markdown | 1 + website/docs/r/route53_zone.html.markdown | 1 + website/docs/r/route53_zone_association.html.markdown | 1 + website/docs/r/route_table.html.markdown | 1 + website/docs/r/route_table_association.html.markdown | 1 + website/docs/r/s3_account_public_access_block.html.markdown | 1 + website/docs/r/s3_bucket.html.markdown | 1 + website/docs/r/s3_bucket_inventory.html.markdown | 1 + website/docs/r/s3_bucket_metric.html.markdown | 1 + website/docs/r/s3_bucket_notification.html.markdown | 1 + website/docs/r/s3_bucket_object.html.markdown | 1 + website/docs/r/s3_bucket_policy.html.markdown | 1 + website/docs/r/s3_bucket_public_access_block.html.markdown | 1 + website/docs/r/sagemaker_endpoint.html.markdown | 1 + website/docs/r/sagemaker_endpoint_configuration.html.markdown | 1 + website/docs/r/sagemaker_model.html.markdown | 1 + website/docs/r/sagemaker_notebook_instance.html.markdown | 1 + ...maker_notebook_instance_lifecycle_configuration.html.markdown | 1 + website/docs/r/secretsmanager_secret.html.markdown | 1 + website/docs/r/secretsmanager_secret_version.html.markdown | 1 + website/docs/r/security_group.html.markdown | 1 + website/docs/r/security_group_rule.html.markdown | 1 + website/docs/r/securityhub_account.markdown | 1 + website/docs/r/securityhub_product_subscription.markdown | 1 + website/docs/r/securityhub_standards_subscription.markdown | 1 + website/docs/r/service_discovery_http_namespace.html.markdown | 1 + .../docs/r/service_discovery_private_dns_namespace.html.markdown | 1 + .../docs/r/service_discovery_public_dns_namespace.html.markdown | 1 + website/docs/r/service_discovery_service.html.markdown | 1 + website/docs/r/servicecatalog_portfolio.html.markdown | 1 + website/docs/r/servicequotas_service_quota.html.markdown | 1 + website/docs/r/ses_active_receipt_rule_set.html.markdown | 1 + website/docs/r/ses_configuration_set.markdown | 1 + website/docs/r/ses_domain_dkim.html.markdown | 1 + website/docs/r/ses_domain_identity.html.markdown | 1 + website/docs/r/ses_domain_identity_verification.html.markdown | 1 + website/docs/r/ses_domain_mail_from.html.markdown | 1 + website/docs/r/ses_email_identity.html.markdown | 1 + website/docs/r/ses_event_destination.markdown | 1 + website/docs/r/ses_identity_notification_topic.markdown | 1 + website/docs/r/ses_identity_policy.html.markdown | 1 + website/docs/r/ses_receipt_filter.html.markdown | 1 + website/docs/r/ses_receipt_rule.html.markdown | 1 + website/docs/r/ses_receipt_rule_set.html.markdown | 1 + website/docs/r/ses_template.html.markdown | 1 + website/docs/r/sfn_activity.html.markdown | 1 + website/docs/r/sfn_state_machine.html.markdown | 1 + website/docs/r/shield_protection.html.markdown | 1 + website/docs/r/simpledb_domain.html.markdown | 1 + website/docs/r/snapshot_create_volume_permission.html.markdown | 1 + website/docs/r/sns_platform_application.html.markdown | 1 + website/docs/r/sns_sms_preferences.html.markdown | 1 + website/docs/r/sns_topic.html.markdown | 1 + website/docs/r/sns_topic_policy.html.markdown | 1 + website/docs/r/sns_topic_subscription.html.markdown | 1 + website/docs/r/spot_datafeed_subscription.html.markdown | 1 + website/docs/r/spot_fleet_request.html.markdown | 1 + website/docs/r/spot_instance_request.html.markdown | 1 + website/docs/r/sqs_queue.html.markdown | 1 + website/docs/r/sqs_queue_policy.html.markdown | 1 + website/docs/r/ssm_activation.html.markdown | 1 + website/docs/r/ssm_association.html.markdown | 1 + website/docs/r/ssm_document.html.markdown | 1 + website/docs/r/ssm_maintenance_window.html.markdown | 1 + website/docs/r/ssm_maintenance_window_target.html.markdown | 1 + website/docs/r/ssm_maintenance_window_task.html.markdown | 1 + website/docs/r/ssm_parameter.html.markdown | 1 + website/docs/r/ssm_patch_baseline.html.markdown | 1 + website/docs/r/ssm_patch_group.html.markdown | 1 + website/docs/r/ssm_resource_data_sync.html.markdown | 1 + website/docs/r/storagegateway_cache.html.markdown | 1 + website/docs/r/storagegateway_cached_iscsi_volume.html.markdown | 1 + website/docs/r/storagegateway_gateway.html.markdown | 1 + website/docs/r/storagegateway_nfs_file_share.html.markdown | 1 + website/docs/r/storagegateway_smb_file_share.html.markdown | 1 + website/docs/r/storagegateway_upload_buffer.html.markdown | 1 + website/docs/r/storagegateway_working_storage.html.markdown | 1 + website/docs/r/subnet.html.markdown | 1 + website/docs/r/swf_domain.html.markdown | 1 + website/docs/r/transfer_server.html.markdown | 1 + website/docs/r/transfer_ssh_key.html.markdown | 1 + website/docs/r/transfer_user.html.markdown | 1 + website/docs/r/volume_attachment.html.markdown | 1 + website/docs/r/vpc.html.markdown | 1 + website/docs/r/vpc_dhcp_options.html.markdown | 1 + website/docs/r/vpc_dhcp_options_association.html.markdown | 1 + website/docs/r/vpc_endpoint.html.markdown | 1 + .../docs/r/vpc_endpoint_connection_notification.html.markdown | 1 + .../docs/r/vpc_endpoint_route_table_association.html.markdown | 1 + website/docs/r/vpc_endpoint_service.html.markdown | 1 + .../docs/r/vpc_endpoint_service_allowed_principal.html.markdown | 1 + website/docs/r/vpc_endpoint_subnet_association.html.markdown | 1 + website/docs/r/vpc_ipv4_cidr_block_association.html.markdown | 1 + website/docs/r/vpc_peering.html.markdown | 1 + website/docs/r/vpc_peering_accepter.html.markdown | 1 + website/docs/r/vpc_peering_options.html.markdown | 1 + website/docs/r/vpn_connection.html.markdown | 1 + website/docs/r/vpn_connection_route.html.markdown | 1 + website/docs/r/vpn_gateway.html.markdown | 1 + website/docs/r/vpn_gateway_attachment.html.markdown | 1 + website/docs/r/vpn_gateway_route_propagation.html.markdown | 1 + website/docs/r/waf_byte_match_set.html.markdown | 1 + website/docs/r/waf_geo_match_set.html.markdown | 1 + website/docs/r/waf_ipset.html.markdown | 1 + website/docs/r/waf_rate_based_rule.html.markdown | 1 + website/docs/r/waf_regex_match_set.html.markdown | 1 + website/docs/r/waf_regex_pattern_set.html.markdown | 1 + website/docs/r/waf_rule.html.markdown | 1 + website/docs/r/waf_rule_group.html.markdown | 1 + website/docs/r/waf_size_constraint_set.html.markdown | 1 + website/docs/r/waf_sql_injection_match_set.html.markdown | 1 + website/docs/r/waf_web_acl.html.markdown | 1 + website/docs/r/waf_xss_match_set.html.markdown | 1 + website/docs/r/wafregional_byte_match_set.html.markdown | 1 + website/docs/r/wafregional_geo_match_set.html.markdown | 1 + website/docs/r/wafregional_ipset.html.markdown | 1 + website/docs/r/wafregional_rate_based_rule.html.markdown | 1 + website/docs/r/wafregional_regex_match_set.html.markdown | 1 + website/docs/r/wafregional_regex_pattern_set.html.markdown | 1 + website/docs/r/wafregional_rule.html.markdown | 1 + website/docs/r/wafregional_rule_group.html.markdown | 1 + website/docs/r/wafregional_size_constraint_set.html.markdown | 1 + website/docs/r/wafregional_sql_injection_match_set.html.markdown | 1 + website/docs/r/wafregional_web_acl.html.markdown | 1 + website/docs/r/wafregional_web_acl_association.html.markdown | 1 + website/docs/r/wafregional_xss_match_set.html.markdown | 1 + website/docs/r/worklink_fleet.html.markdown | 1 + ...klink_website_certificate_authority_association.html.markdown | 1 + website/docs/r/xray_sampling_rule.html.markdown | 1 + 663 files changed, 663 insertions(+) diff --git a/website/docs/d/acm_certificate.html.markdown b/website/docs/d/acm_certificate.html.markdown index 427531b5f39..f25694b963b 100644 --- a/website/docs/d/acm_certificate.html.markdown +++ b/website/docs/d/acm_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ACM" layout: "aws" page_title: "AWS: aws_acm_certificate" description: |- diff --git a/website/docs/d/acmpca_certificate_authority.html.markdown b/website/docs/d/acmpca_certificate_authority.html.markdown index 5e17aa1d560..f5e44bc8bc6 100644 --- a/website/docs/d/acmpca_certificate_authority.html.markdown +++ b/website/docs/d/acmpca_certificate_authority.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ACM PCA" layout: "aws" page_title: "AWS: aws_acmpca_certificate_authority" description: |- diff --git a/website/docs/d/ami.html.markdown b/website/docs/d/ami.html.markdown index fc2bfbb1f09..989cfafcea5 100644 --- a/website/docs/d/ami.html.markdown +++ b/website/docs/d/ami.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ami" description: |- diff --git a/website/docs/d/ami_ids.html.markdown b/website/docs/d/ami_ids.html.markdown index 12a67552c5a..6721321473e 100644 --- a/website/docs/d/ami_ids.html.markdown +++ b/website/docs/d/ami_ids.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ami_ids" description: |- diff --git a/website/docs/d/api_gateway_api_key.html.markdown b/website/docs/d/api_gateway_api_key.html.markdown index 218a1a03950..ee5cba909b3 100644 --- a/website/docs/d/api_gateway_api_key.html.markdown +++ b/website/docs/d/api_gateway_api_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_api_key" description: |- diff --git a/website/docs/d/api_gateway_resource.html.markdown b/website/docs/d/api_gateway_resource.html.markdown index b77ecae7954..c2acb6baa1a 100644 --- a/website/docs/d/api_gateway_resource.html.markdown +++ b/website/docs/d/api_gateway_resource.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_resource" description: |- diff --git a/website/docs/d/api_gateway_rest_api.html.markdown b/website/docs/d/api_gateway_rest_api.html.markdown index f2be198e2fe..6d215399190 100644 --- a/website/docs/d/api_gateway_rest_api.html.markdown +++ b/website/docs/d/api_gateway_rest_api.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_rest_api" description: |- diff --git a/website/docs/d/api_gateway_vpc_link.html.markdown b/website/docs/d/api_gateway_vpc_link.html.markdown index 2cf8feed0db..524d8ec1759 100644 --- a/website/docs/d/api_gateway_vpc_link.html.markdown +++ b/website/docs/d/api_gateway_vpc_link.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_vpc_link" description: |- diff --git a/website/docs/d/autoscaling_group.html.markdown b/website/docs/d/autoscaling_group.html.markdown index 9eb13ca35ae..f299e705379 100644 --- a/website/docs/d/autoscaling_group.html.markdown +++ b/website/docs/d/autoscaling_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_group" description: |- diff --git a/website/docs/d/autoscaling_groups.html.markdown b/website/docs/d/autoscaling_groups.html.markdown index f87654273cc..4a5011f5c9d 100644 --- a/website/docs/d/autoscaling_groups.html.markdown +++ b/website/docs/d/autoscaling_groups.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_groups" description: |- diff --git a/website/docs/d/batch_compute_environment.html.markdown b/website/docs/d/batch_compute_environment.html.markdown index 2dd8d6c07fa..d7f3724ca27 100644 --- a/website/docs/d/batch_compute_environment.html.markdown +++ b/website/docs/d/batch_compute_environment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Batch" layout: "aws" page_title: "AWS: aws_batch_compute_environment" description: |- diff --git a/website/docs/d/batch_job_queue.html.markdown b/website/docs/d/batch_job_queue.html.markdown index 2a564a6e60e..4e2f0ee291e 100644 --- a/website/docs/d/batch_job_queue.html.markdown +++ b/website/docs/d/batch_job_queue.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Batch" layout: "aws" page_title: "AWS: aws_batch_job_queue" description: |- diff --git a/website/docs/d/canonical_user_id.html.markdown b/website/docs/d/canonical_user_id.html.markdown index e3dafe0dd9a..11c17f31cbc 100644 --- a/website/docs/d/canonical_user_id.html.markdown +++ b/website/docs/d/canonical_user_id.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_canonical_user_id" description: |- diff --git a/website/docs/d/cloudformation_export.html.markdown b/website/docs/d/cloudformation_export.html.markdown index 329792adff7..d62c12b54ec 100644 --- a/website/docs/d/cloudformation_export.html.markdown +++ b/website/docs/d/cloudformation_export.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFormation" layout: "aws" page_title: "AWS: aws_cloudformation_export" description: |- diff --git a/website/docs/d/cloudformation_stack.html.markdown b/website/docs/d/cloudformation_stack.html.markdown index 5952ef694f2..34e5a03d0f8 100644 --- a/website/docs/d/cloudformation_stack.html.markdown +++ b/website/docs/d/cloudformation_stack.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFormation" layout: "aws" page_title: "AWS: aws_cloudformation_stack" description: |- diff --git a/website/docs/d/cloudhsm_v2_cluster.html.markdown b/website/docs/d/cloudhsm_v2_cluster.html.markdown index d9d4e912f7c..07d0ee58d7d 100644 --- a/website/docs/d/cloudhsm_v2_cluster.html.markdown +++ b/website/docs/d/cloudhsm_v2_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudHSM v2" layout: "aws" page_title: "AWS: aws_cloudhsm_v2_cluster" description: |- diff --git a/website/docs/d/cloudtrail_service_account.html.markdown b/website/docs/d/cloudtrail_service_account.html.markdown index 17d2164787f..163b7f44006 100644 --- a/website/docs/d/cloudtrail_service_account.html.markdown +++ b/website/docs/d/cloudtrail_service_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudTrail" layout: "aws" page_title: "AWS: aws_cloudtrail_service_account" description: |- diff --git a/website/docs/d/cloudwatch_log_group.html.markdown b/website/docs/d/cloudwatch_log_group.html.markdown index d9caed5bf98..3eacaea4524 100644 --- a/website/docs/d/cloudwatch_log_group.html.markdown +++ b/website/docs/d/cloudwatch_log_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_group" description: |- diff --git a/website/docs/d/codecommit_repository.html.markdown b/website/docs/d/codecommit_repository.html.markdown index 3f93d126ff0..783af21f8bd 100644 --- a/website/docs/d/codecommit_repository.html.markdown +++ b/website/docs/d/codecommit_repository.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeCommit" layout: "aws" page_title: "AWS: aws_codecommit_repository" description: |- diff --git a/website/docs/d/cognito_user_pools.markdown b/website/docs/d/cognito_user_pools.markdown index a6361481ca3..f0c2ac116a2 100644 --- a/website/docs/d/cognito_user_pools.markdown +++ b/website/docs/d/cognito_user_pools.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_user_pools" description: |- diff --git a/website/docs/d/cur_report_definition.html.markdown b/website/docs/d/cur_report_definition.html.markdown index 974bd273d94..c05a4e1ecea 100644 --- a/website/docs/d/cur_report_definition.html.markdown +++ b/website/docs/d/cur_report_definition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cost and Usage Report" layout: "aws" page_title: "AWS: aws_cur_report_definition" description: |- diff --git a/website/docs/d/customer_gateway.html.markdown b/website/docs/d/customer_gateway.html.markdown index 5d2e43e462f..f304408a89f 100644 --- a/website/docs/d/customer_gateway.html.markdown +++ b/website/docs/d/customer_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_customer_gateway" description: |- diff --git a/website/docs/d/db_cluster_snapshot.html.markdown b/website/docs/d/db_cluster_snapshot.html.markdown index 3bd044fcdcd..7782637faf7 100644 --- a/website/docs/d/db_cluster_snapshot.html.markdown +++ b/website/docs/d/db_cluster_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_cluster_snapshot" description: |- diff --git a/website/docs/d/db_event_categories.html.markdown b/website/docs/d/db_event_categories.html.markdown index e64d2d25bae..b9f6d2778b9 100644 --- a/website/docs/d/db_event_categories.html.markdown +++ b/website/docs/d/db_event_categories.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_event_categories" description: |- diff --git a/website/docs/d/db_instance.html.markdown b/website/docs/d/db_instance.html.markdown index 6950ec09f19..e2bc7b42dba 100644 --- a/website/docs/d/db_instance.html.markdown +++ b/website/docs/d/db_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_instance" description: |- diff --git a/website/docs/d/db_snapshot.html.markdown b/website/docs/d/db_snapshot.html.markdown index ea3456fca86..68bca155d91 100644 --- a/website/docs/d/db_snapshot.html.markdown +++ b/website/docs/d/db_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_snapshot" description: |- diff --git a/website/docs/d/dx_gateway.html.markdown b/website/docs/d/dx_gateway.html.markdown index 01d12cb09c3..f6bb7eff9fe 100644 --- a/website/docs/d/dx_gateway.html.markdown +++ b/website/docs/d/dx_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_gateway" description: |- diff --git a/website/docs/d/dynamodb_table.html.markdown b/website/docs/d/dynamodb_table.html.markdown index d61b327e77e..b79d147d22d 100644 --- a/website/docs/d/dynamodb_table.html.markdown +++ b/website/docs/d/dynamodb_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB" layout: "aws" page_title: "AWS: aws_dynamodb_table" description: |- diff --git a/website/docs/d/ebs_default_kms_key.html.markdown b/website/docs/d/ebs_default_kms_key.html.markdown index de16e531d39..f14418cfbb0 100644 --- a/website/docs/d/ebs_default_kms_key.html.markdown +++ b/website/docs/d/ebs_default_kms_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_default_kms_key" description: |- diff --git a/website/docs/d/ebs_encryption_by_default.html.markdown b/website/docs/d/ebs_encryption_by_default.html.markdown index 2ba398b935e..a9713352bd2 100644 --- a/website/docs/d/ebs_encryption_by_default.html.markdown +++ b/website/docs/d/ebs_encryption_by_default.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_encryption_by_default" description: |- diff --git a/website/docs/d/ebs_snapshot.html.markdown b/website/docs/d/ebs_snapshot.html.markdown index e151fcf964c..3b24830a38b 100644 --- a/website/docs/d/ebs_snapshot.html.markdown +++ b/website/docs/d/ebs_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_snapshot" description: |- diff --git a/website/docs/d/ebs_snapshot_ids.html.markdown b/website/docs/d/ebs_snapshot_ids.html.markdown index 22a45d3f677..62ce523a655 100644 --- a/website/docs/d/ebs_snapshot_ids.html.markdown +++ b/website/docs/d/ebs_snapshot_ids.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_snapshot_ids" description: |- diff --git a/website/docs/d/ebs_volume.html.markdown b/website/docs/d/ebs_volume.html.markdown index 420825ea121..f801729495f 100644 --- a/website/docs/d/ebs_volume.html.markdown +++ b/website/docs/d/ebs_volume.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_volume" description: |- diff --git a/website/docs/d/ec2_transit_gateway.html.markdown b/website/docs/d/ec2_transit_gateway.html.markdown index 02eb31b52df..96ce4a5e409 100644 --- a/website/docs/d/ec2_transit_gateway.html.markdown +++ b/website/docs/d/ec2_transit_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway" description: |- diff --git a/website/docs/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown b/website/docs/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown index 31965e28710..e2df224b1ca 100644 --- a/website/docs/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown +++ b/website/docs/d/ec2_transit_gateway_dx_gateway_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_dx_gateway_attachment" description: |- diff --git a/website/docs/d/ec2_transit_gateway_route_table.html.markdown b/website/docs/d/ec2_transit_gateway_route_table.html.markdown index 79a87e0a391..04809d1b733 100644 --- a/website/docs/d/ec2_transit_gateway_route_table.html.markdown +++ b/website/docs/d/ec2_transit_gateway_route_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_route_table" description: |- diff --git a/website/docs/d/ec2_transit_gateway_vpc_attachment.html.markdown b/website/docs/d/ec2_transit_gateway_vpc_attachment.html.markdown index e69310781a9..43cf942a945 100644 --- a/website/docs/d/ec2_transit_gateway_vpc_attachment.html.markdown +++ b/website/docs/d/ec2_transit_gateway_vpc_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment" description: |- diff --git a/website/docs/d/ec2_transit_gateway_vpn_attachment.html.markdown b/website/docs/d/ec2_transit_gateway_vpn_attachment.html.markdown index df37b30f843..1daf93be9a0 100644 --- a/website/docs/d/ec2_transit_gateway_vpn_attachment.html.markdown +++ b/website/docs/d/ec2_transit_gateway_vpn_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_vpn_attachment" description: |- diff --git a/website/docs/d/ecr_image.html.markdown b/website/docs/d/ecr_image.html.markdown index 6e884299ca3..4eb4ddbdf3f 100644 --- a/website/docs/d/ecr_image.html.markdown +++ b/website/docs/d/ecr_image.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECR" layout: "aws" page_title: "AWS: aws_ecr_image" description: |- diff --git a/website/docs/d/ecr_repository.html.markdown b/website/docs/d/ecr_repository.html.markdown index 3c1c0576afd..43e211584f8 100644 --- a/website/docs/d/ecr_repository.html.markdown +++ b/website/docs/d/ecr_repository.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECR" layout: "aws" page_title: "AWS: aws_ecr_repository" description: |- diff --git a/website/docs/d/ecs_cluster.html.markdown b/website/docs/d/ecs_cluster.html.markdown index 8a7fffedbf2..87d13275e25 100644 --- a/website/docs/d/ecs_cluster.html.markdown +++ b/website/docs/d/ecs_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_cluster" description: |- diff --git a/website/docs/d/ecs_container_definition.html.markdown b/website/docs/d/ecs_container_definition.html.markdown index 2e5673653c6..6354eda7780 100644 --- a/website/docs/d/ecs_container_definition.html.markdown +++ b/website/docs/d/ecs_container_definition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_container_definition" description: |- diff --git a/website/docs/d/ecs_service.html.markdown b/website/docs/d/ecs_service.html.markdown index 78721247019..11e49936de8 100644 --- a/website/docs/d/ecs_service.html.markdown +++ b/website/docs/d/ecs_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_service" description: |- diff --git a/website/docs/d/ecs_task_definition.html.markdown b/website/docs/d/ecs_task_definition.html.markdown index 7a8bb681c49..31d1b010be1 100644 --- a/website/docs/d/ecs_task_definition.html.markdown +++ b/website/docs/d/ecs_task_definition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_task_definition" description: |- diff --git a/website/docs/d/efs_file_system.html.markdown b/website/docs/d/efs_file_system.html.markdown index 5796f56be7c..05f43fa9c35 100644 --- a/website/docs/d/efs_file_system.html.markdown +++ b/website/docs/d/efs_file_system.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EFS" layout: "aws" page_title: "AWS: aws_efs_file_system" description: |- diff --git a/website/docs/d/efs_mount_target.html.markdown b/website/docs/d/efs_mount_target.html.markdown index ce6373b1273..e3a3e6f28f1 100644 --- a/website/docs/d/efs_mount_target.html.markdown +++ b/website/docs/d/efs_mount_target.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EFS" layout: "aws" page_title: "AWS: aws_efs_mount_target" description: |- diff --git a/website/docs/d/eip.html.markdown b/website/docs/d/eip.html.markdown index 08e2a03c342..d37aedc3b37 100644 --- a/website/docs/d/eip.html.markdown +++ b/website/docs/d/eip.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_eip" description: |- diff --git a/website/docs/d/eks_cluster.html.markdown b/website/docs/d/eks_cluster.html.markdown index d4570b52850..97840f794f1 100644 --- a/website/docs/d/eks_cluster.html.markdown +++ b/website/docs/d/eks_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EKS" layout: "aws" page_title: "AWS: aws_eks_cluster" description: |- diff --git a/website/docs/d/eks_cluster_auth.html.markdown b/website/docs/d/eks_cluster_auth.html.markdown index dc11d167f4e..b06dcb95896 100644 --- a/website/docs/d/eks_cluster_auth.html.markdown +++ b/website/docs/d/eks_cluster_auth.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EKS" layout: "aws" page_title: "AWS: aws_eks_cluster_auth" description: |- diff --git a/website/docs/d/elastic_beanstalk_application.html.markdown b/website/docs/d/elastic_beanstalk_application.html.markdown index 936c1ff2d72..70025a8dcbf 100644 --- a/website/docs/d/elastic_beanstalk_application.html.markdown +++ b/website/docs/d/elastic_beanstalk_application.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_application" description: |- diff --git a/website/docs/d/elastic_beanstalk_hosted_zone.html.markdown b/website/docs/d/elastic_beanstalk_hosted_zone.html.markdown index 5284aef949b..90622dda362 100644 --- a/website/docs/d/elastic_beanstalk_hosted_zone.html.markdown +++ b/website/docs/d/elastic_beanstalk_hosted_zone.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_hosted_zone" description: |- diff --git a/website/docs/d/elastic_beanstalk_solution_stack.html.markdown b/website/docs/d/elastic_beanstalk_solution_stack.html.markdown index 8a43bca4faf..b1e64f942b9 100644 --- a/website/docs/d/elastic_beanstalk_solution_stack.html.markdown +++ b/website/docs/d/elastic_beanstalk_solution_stack.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_solution_stack" description: |- diff --git a/website/docs/d/elasticache_cluster.html.markdown b/website/docs/d/elasticache_cluster.html.markdown index 270da0e21ce..fb85f465755 100644 --- a/website/docs/d/elasticache_cluster.html.markdown +++ b/website/docs/d/elasticache_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_cluster" description: |- diff --git a/website/docs/d/elasticache_replication_group.html.markdown b/website/docs/d/elasticache_replication_group.html.markdown index 6742a86b2bc..5079be6620e 100644 --- a/website/docs/d/elasticache_replication_group.html.markdown +++ b/website/docs/d/elasticache_replication_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_replication_group" description: |- diff --git a/website/docs/d/elasticsearch_domain.html.markdown b/website/docs/d/elasticsearch_domain.html.markdown index 9004810510e..cc7145160f3 100644 --- a/website/docs/d/elasticsearch_domain.html.markdown +++ b/website/docs/d/elasticsearch_domain.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElasticSearch" layout: "aws" page_title: "AWS: aws_elasticsearch_domain" description: |- diff --git a/website/docs/d/elb.html.markdown b/website/docs/d/elb.html.markdown index 0c2f119f920..8106ca796cf 100644 --- a/website/docs/d/elb.html.markdown +++ b/website/docs/d/elb.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_elb" description: |- diff --git a/website/docs/d/elb_hosted_zone_id.html.markdown b/website/docs/d/elb_hosted_zone_id.html.markdown index 5e889f70b77..c011318789b 100644 --- a/website/docs/d/elb_hosted_zone_id.html.markdown +++ b/website/docs/d/elb_hosted_zone_id.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_elb_hosted_zone_id" description: |- diff --git a/website/docs/d/elb_service_account.html.markdown b/website/docs/d/elb_service_account.html.markdown index 6e4ed9eb39b..b4c0c2d2f3d 100644 --- a/website/docs/d/elb_service_account.html.markdown +++ b/website/docs/d/elb_service_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_elb_service_account" description: |- diff --git a/website/docs/d/glue_script.html.markdown b/website/docs/d/glue_script.html.markdown index 6b0e563b363..8b9928d2582 100644 --- a/website/docs/d/glue_script.html.markdown +++ b/website/docs/d/glue_script.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_script" description: |- diff --git a/website/docs/d/iam_account_alias.html.markdown b/website/docs/d/iam_account_alias.html.markdown index 46135da3a4c..7136a145168 100644 --- a/website/docs/d/iam_account_alias.html.markdown +++ b/website/docs/d/iam_account_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_account_alias" description: |- diff --git a/website/docs/d/iam_group.html.markdown b/website/docs/d/iam_group.html.markdown index 4eeb5cc849c..a32d41981d1 100644 --- a/website/docs/d/iam_group.html.markdown +++ b/website/docs/d/iam_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_group" description: |- diff --git a/website/docs/d/iam_instance_profile.html.markdown b/website/docs/d/iam_instance_profile.html.markdown index b2fb566b959..25c51eb1cf4 100644 --- a/website/docs/d/iam_instance_profile.html.markdown +++ b/website/docs/d/iam_instance_profile.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_instance_profile" description: |- diff --git a/website/docs/d/iam_policy.html.markdown b/website/docs/d/iam_policy.html.markdown index 4591645bced..e4023ab4813 100644 --- a/website/docs/d/iam_policy.html.markdown +++ b/website/docs/d/iam_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_policy" description: |- diff --git a/website/docs/d/iam_policy_document.html.markdown b/website/docs/d/iam_policy_document.html.markdown index 0613db84ede..4b7f193b3e8 100644 --- a/website/docs/d/iam_policy_document.html.markdown +++ b/website/docs/d/iam_policy_document.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_policy_document" description: |- diff --git a/website/docs/d/iam_role.html.markdown b/website/docs/d/iam_role.html.markdown index a6e4dbc8f49..557294d56eb 100644 --- a/website/docs/d/iam_role.html.markdown +++ b/website/docs/d/iam_role.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_role" description: |- diff --git a/website/docs/d/iam_server_certificate.html.markdown b/website/docs/d/iam_server_certificate.html.markdown index 334e6ebca4a..7489394f9c4 100644 --- a/website/docs/d/iam_server_certificate.html.markdown +++ b/website/docs/d/iam_server_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_server_certificate" description: |- diff --git a/website/docs/d/iam_user.html.markdown b/website/docs/d/iam_user.html.markdown index 53624109943..f0be94f2d06 100644 --- a/website/docs/d/iam_user.html.markdown +++ b/website/docs/d/iam_user.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user" description: |- diff --git a/website/docs/d/inspector_rules_packages.html.markdown b/website/docs/d/inspector_rules_packages.html.markdown index 1ab2be2d456..b785148b64d 100644 --- a/website/docs/d/inspector_rules_packages.html.markdown +++ b/website/docs/d/inspector_rules_packages.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Inspector" layout: "aws" page_title: "AWS: aws_inspector_rules_packages" description: |- diff --git a/website/docs/d/instance.html.markdown b/website/docs/d/instance.html.markdown index c3366106c40..25fa4879653 100644 --- a/website/docs/d/instance.html.markdown +++ b/website/docs/d/instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_instance" description: |- diff --git a/website/docs/d/instances.html.markdown b/website/docs/d/instances.html.markdown index 2c4e809f922..b9a6a7b76bf 100644 --- a/website/docs/d/instances.html.markdown +++ b/website/docs/d/instances.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_instances" description: |- diff --git a/website/docs/d/internet_gateway.html.markdown b/website/docs/d/internet_gateway.html.markdown index 10ce26b333e..d43f8ca69f6 100644 --- a/website/docs/d/internet_gateway.html.markdown +++ b/website/docs/d/internet_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_internet_gateway" description: |- diff --git a/website/docs/d/iot_endpoint.html.markdown b/website/docs/d/iot_endpoint.html.markdown index 8500b697804..cd9d1974378 100644 --- a/website/docs/d/iot_endpoint.html.markdown +++ b/website/docs/d/iot_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_endpoint" description: |- diff --git a/website/docs/d/kinesis_stream.html.markdown b/website/docs/d/kinesis_stream.html.markdown index 3893b7d3da4..5bba5e9382e 100644 --- a/website/docs/d/kinesis_stream.html.markdown +++ b/website/docs/d/kinesis_stream.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Kinesis" layout: "aws" page_title: "AWS: aws_kinesis_stream" description: |- diff --git a/website/docs/d/kms_alias.html.markdown b/website/docs/d/kms_alias.html.markdown index b86ab508dc5..f05ef5e57a9 100644 --- a/website/docs/d/kms_alias.html.markdown +++ b/website/docs/d/kms_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_alias" description: |- diff --git a/website/docs/d/kms_ciphertext.html.markdown b/website/docs/d/kms_ciphertext.html.markdown index 86773d21560..1ead939e641 100644 --- a/website/docs/d/kms_ciphertext.html.markdown +++ b/website/docs/d/kms_ciphertext.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_ciphertext" description: |- diff --git a/website/docs/d/kms_key.html.markdown b/website/docs/d/kms_key.html.markdown index 605caed1be3..e3ea9f2cb56 100644 --- a/website/docs/d/kms_key.html.markdown +++ b/website/docs/d/kms_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_key" description: |- diff --git a/website/docs/d/kms_secrets.html.markdown b/website/docs/d/kms_secrets.html.markdown index 1ac5b809ccf..2000c2cda32 100644 --- a/website/docs/d/kms_secrets.html.markdown +++ b/website/docs/d/kms_secrets.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_secrets" description: |- diff --git a/website/docs/d/lambda_function.html.markdown b/website/docs/d/lambda_function.html.markdown index eb45415b836..8042c36c612 100644 --- a/website/docs/d/lambda_function.html.markdown +++ b/website/docs/d/lambda_function.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_function" description: |- diff --git a/website/docs/d/lambda_invocation.html.markdown b/website/docs/d/lambda_invocation.html.markdown index b6d5ef9975a..7e6eccdd656 100644 --- a/website/docs/d/lambda_invocation.html.markdown +++ b/website/docs/d/lambda_invocation.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_invocation" description: |- diff --git a/website/docs/d/lambda_layer_version.html.markdown b/website/docs/d/lambda_layer_version.html.markdown index 5f3f0abf785..ac785baed63 100644 --- a/website/docs/d/lambda_layer_version.html.markdown +++ b/website/docs/d/lambda_layer_version.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_layer_version" description: |- diff --git a/website/docs/d/launch_configuration.html.markdown b/website/docs/d/launch_configuration.html.markdown index 83360554e7e..c8ed2626232 100644 --- a/website/docs/d/launch_configuration.html.markdown +++ b/website/docs/d/launch_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_launch_configuration" description: |- diff --git a/website/docs/d/launch_template.html.markdown b/website/docs/d/launch_template.html.markdown index 0e4a1e72b75..83a8f3bb2e6 100644 --- a/website/docs/d/launch_template.html.markdown +++ b/website/docs/d/launch_template.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_launch_template" description: |- diff --git a/website/docs/d/lb.html.markdown b/website/docs/d/lb.html.markdown index 351e5bd3a41..3023c423ab3 100644 --- a/website/docs/d/lb.html.markdown +++ b/website/docs/d/lb.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb" description: |- diff --git a/website/docs/d/lb_listener.html.markdown b/website/docs/d/lb_listener.html.markdown index b03aa2749fa..930fcda378c 100644 --- a/website/docs/d/lb_listener.html.markdown +++ b/website/docs/d/lb_listener.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_listener" description: |- diff --git a/website/docs/d/lb_target_group.html.markdown b/website/docs/d/lb_target_group.html.markdown index c913a325be0..18031f588dc 100644 --- a/website/docs/d/lb_target_group.html.markdown +++ b/website/docs/d/lb_target_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_target_group" description: |- diff --git a/website/docs/d/mq_broker.html.markdown b/website/docs/d/mq_broker.html.markdown index 8cdd0ae6ebe..83afcaa4069 100644 --- a/website/docs/d/mq_broker.html.markdown +++ b/website/docs/d/mq_broker.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "MQ" layout: "aws" page_title: "AWS: aws_mq_broker" description: |- diff --git a/website/docs/d/msk_cluster.html.markdown b/website/docs/d/msk_cluster.html.markdown index 97790b1bd92..fd83b9959fa 100644 --- a/website/docs/d/msk_cluster.html.markdown +++ b/website/docs/d/msk_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Managed Streaming for Kafka (MSK)" layout: "aws" page_title: "AWS: aws_msk_cluster" description: |- diff --git a/website/docs/d/msk_configuration.html.markdown b/website/docs/d/msk_configuration.html.markdown index 254a08ec98a..378c7e83db2 100644 --- a/website/docs/d/msk_configuration.html.markdown +++ b/website/docs/d/msk_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Managed Streaming for Kafka (MSK)" layout: "aws" page_title: "AWS: aws_msk_configuration" description: |- diff --git a/website/docs/d/nat_gateway.html.markdown b/website/docs/d/nat_gateway.html.markdown index 22c9813d85f..33e22f78af1 100644 --- a/website/docs/d/nat_gateway.html.markdown +++ b/website/docs/d/nat_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_nat_gateway" description: |- diff --git a/website/docs/d/network_acls.html.markdown b/website/docs/d/network_acls.html.markdown index fb2056bbbe1..5b8bb93a0a2 100644 --- a/website/docs/d/network_acls.html.markdown +++ b/website/docs/d/network_acls.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_acls" description: |- diff --git a/website/docs/d/network_interface.html.markdown b/website/docs/d/network_interface.html.markdown index a931a2cab3c..fd14c2d9a41 100644 --- a/website/docs/d/network_interface.html.markdown +++ b/website/docs/d/network_interface.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_interface" description: |- diff --git a/website/docs/d/network_interfaces.html.markdown b/website/docs/d/network_interfaces.html.markdown index 63005af8da0..b74655557b3 100644 --- a/website/docs/d/network_interfaces.html.markdown +++ b/website/docs/d/network_interfaces.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_interfaces" description: |- diff --git a/website/docs/d/organizations_organization.html.markdown b/website/docs/d/organizations_organization.html.markdown index 6b15dd9f726..c39f0f15d26 100644 --- a/website/docs/d/organizations_organization.html.markdown +++ b/website/docs/d/organizations_organization.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Organizations" layout: "aws" page_title: "AWS: aws_organizations_organization" description: |- diff --git a/website/docs/d/prefix_list.html.markdown b/website/docs/d/prefix_list.html.markdown index 3b0727ba82a..46631fa3948 100644 --- a/website/docs/d/prefix_list.html.markdown +++ b/website/docs/d/prefix_list.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_prefix-list" description: |- diff --git a/website/docs/d/pricing_product.html.markdown b/website/docs/d/pricing_product.html.markdown index ba10bee8448..714ec6a4631 100644 --- a/website/docs/d/pricing_product.html.markdown +++ b/website/docs/d/pricing_product.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pricing" layout: "aws" page_title: "AWS: aws_pricing_product" description: |- diff --git a/website/docs/d/ram_resource_share.html.markdown b/website/docs/d/ram_resource_share.html.markdown index 4617ab50067..1a9fb57adcc 100644 --- a/website/docs/d/ram_resource_share.html.markdown +++ b/website/docs/d/ram_resource_share.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RAM" layout: "aws" page_title: "AWS: aws_ram_resource_share" description: |- diff --git a/website/docs/d/rds_cluster.html.markdown b/website/docs/d/rds_cluster.html.markdown index 50261ff4222..ff5fe5a9f78 100644 --- a/website/docs/d/rds_cluster.html.markdown +++ b/website/docs/d/rds_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_rds_cluster" description: |- diff --git a/website/docs/d/redshift_cluster.html.markdown b/website/docs/d/redshift_cluster.html.markdown index cf69f9e7e8b..53e06de5c2f 100644 --- a/website/docs/d/redshift_cluster.html.markdown +++ b/website/docs/d/redshift_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_cluster" description: |- diff --git a/website/docs/d/redshift_service_account.html.markdown b/website/docs/d/redshift_service_account.html.markdown index e93a5d77432..aa170b1a056 100644 --- a/website/docs/d/redshift_service_account.html.markdown +++ b/website/docs/d/redshift_service_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_service_account" description: |- diff --git a/website/docs/d/route.html.markdown b/website/docs/d/route.html.markdown index d6bd3c224cf..b449f5564f7 100644 --- a/website/docs/d/route.html.markdown +++ b/website/docs/d/route.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_route" description: |- diff --git a/website/docs/d/route53_delegation_set.html.markdown b/website/docs/d/route53_delegation_set.html.markdown index 373cd7768e9..0b262490fef 100644 --- a/website/docs/d/route53_delegation_set.html.markdown +++ b/website/docs/d/route53_delegation_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_delegation_set" description: |- diff --git a/website/docs/d/route53_resolver_rule.html.markdown b/website/docs/d/route53_resolver_rule.html.markdown index 80b390724b4..ce6ae06641f 100644 --- a/website/docs/d/route53_resolver_rule.html.markdown +++ b/website/docs/d/route53_resolver_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53 Resolver" layout: "aws" page_title: "AWS: aws_route53_resolver_rule" description: |- diff --git a/website/docs/d/route53_resolver_rules.html.markdown b/website/docs/d/route53_resolver_rules.html.markdown index 531484cb3b4..f21b28e8a01 100644 --- a/website/docs/d/route53_resolver_rules.html.markdown +++ b/website/docs/d/route53_resolver_rules.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53 Resolver" layout: "aws" page_title: "AWS: aws_route53_resolver_rules" description: |- diff --git a/website/docs/d/route53_zone.html.markdown b/website/docs/d/route53_zone.html.markdown index c91989350b2..4abf6a87f4b 100644 --- a/website/docs/d/route53_zone.html.markdown +++ b/website/docs/d/route53_zone.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_zone" description: |- diff --git a/website/docs/d/route_table.html.markdown b/website/docs/d/route_table.html.markdown index 81f40dfd305..72038b53b52 100644 --- a/website/docs/d/route_table.html.markdown +++ b/website/docs/d/route_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_route_table" description: |- diff --git a/website/docs/d/route_tables.html.markdown b/website/docs/d/route_tables.html.markdown index 8cdf3f0e03f..c0a4c62ae40 100644 --- a/website/docs/d/route_tables.html.markdown +++ b/website/docs/d/route_tables.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_route_tables" description: |- diff --git a/website/docs/d/s3_bucket.html.markdown b/website/docs/d/s3_bucket.html.markdown index f52a368c622..946748bf30a 100644 --- a/website/docs/d/s3_bucket.html.markdown +++ b/website/docs/d/s3_bucket.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket" description: |- diff --git a/website/docs/d/s3_bucket_object.html.markdown b/website/docs/d/s3_bucket_object.html.markdown index a8f3d13c8ea..d8ea73f50d8 100644 --- a/website/docs/d/s3_bucket_object.html.markdown +++ b/website/docs/d/s3_bucket_object.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_object" description: |- diff --git a/website/docs/d/s3_bucket_objects.html.markdown b/website/docs/d/s3_bucket_objects.html.markdown index 4712fcc9cd4..2dc56fa659d 100644 --- a/website/docs/d/s3_bucket_objects.html.markdown +++ b/website/docs/d/s3_bucket_objects.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_objects" description: |- diff --git a/website/docs/d/secretsmanager_secret.html.markdown b/website/docs/d/secretsmanager_secret.html.markdown index 04c2e0c3122..eb886f19209 100644 --- a/website/docs/d/secretsmanager_secret.html.markdown +++ b/website/docs/d/secretsmanager_secret.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Secrets Manager" layout: "aws" page_title: "AWS: aws_secretsmanager_secret" description: |- diff --git a/website/docs/d/secretsmanager_secret_version.html.markdown b/website/docs/d/secretsmanager_secret_version.html.markdown index 4aed48de08f..5663a94caad 100644 --- a/website/docs/d/secretsmanager_secret_version.html.markdown +++ b/website/docs/d/secretsmanager_secret_version.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Secrets Manager" layout: "aws" page_title: "AWS: aws_secretsmanager_secret_version" description: |- diff --git a/website/docs/d/security_group.html.markdown b/website/docs/d/security_group.html.markdown index 58a26adbc22..9b7c03214a8 100644 --- a/website/docs/d/security_group.html.markdown +++ b/website/docs/d/security_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_security_group" description: |- diff --git a/website/docs/d/security_groups.html.markdown b/website/docs/d/security_groups.html.markdown index 21dda271481..96426fa2e8e 100644 --- a/website/docs/d/security_groups.html.markdown +++ b/website/docs/d/security_groups.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_security_groups" description: |- diff --git a/website/docs/d/servicequotas_service.html.markdown b/website/docs/d/servicequotas_service.html.markdown index 15e0d2a8fd9..c0716465c36 100644 --- a/website/docs/d/servicequotas_service.html.markdown +++ b/website/docs/d/servicequotas_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Quotas" layout: "aws" page_title: "AWS: aws_servicequotas_service" description: |- diff --git a/website/docs/d/servicequotas_service_quota.html.markdown b/website/docs/d/servicequotas_service_quota.html.markdown index cda8cab00f3..928ef0d5f58 100644 --- a/website/docs/d/servicequotas_service_quota.html.markdown +++ b/website/docs/d/servicequotas_service_quota.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Quotas" layout: "aws" page_title: "AWS: aws_servicequotas_service_quota" description: |- diff --git a/website/docs/d/sns_topic.html.markdown b/website/docs/d/sns_topic.html.markdown index 22ce0901e38..37dac60aab9 100644 --- a/website/docs/d/sns_topic.html.markdown +++ b/website/docs/d/sns_topic.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SNS" layout: "aws" page_title: "AWS: aws_sns_topic" description: |- diff --git a/website/docs/d/sqs_queue.html.markdown b/website/docs/d/sqs_queue.html.markdown index c239e42b778..48aee3b1e91 100644 --- a/website/docs/d/sqs_queue.html.markdown +++ b/website/docs/d/sqs_queue.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SQS" layout: "aws" page_title: "AWS: aws_sqs_queue" description: |- diff --git a/website/docs/d/ssm_document.html.markdown b/website/docs/d/ssm_document.html.markdown index 3f2ddcc0e63..19a9e545d76 100644 --- a/website/docs/d/ssm_document.html.markdown +++ b/website/docs/d/ssm_document.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_document" description: |- diff --git a/website/docs/d/ssm_parameter.html.markdown b/website/docs/d/ssm_parameter.html.markdown index d21f53031d3..cd42f7cb08c 100644 --- a/website/docs/d/ssm_parameter.html.markdown +++ b/website/docs/d/ssm_parameter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_parameter" description: |- diff --git a/website/docs/d/storagegateway_local_disk.html.markdown b/website/docs/d/storagegateway_local_disk.html.markdown index 719a5bdb95c..5564a544182 100644 --- a/website/docs/d/storagegateway_local_disk.html.markdown +++ b/website/docs/d/storagegateway_local_disk.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_local_disk" description: |- diff --git a/website/docs/d/subnet.html.markdown b/website/docs/d/subnet.html.markdown index f6409ec4578..65bf3eba9a5 100644 --- a/website/docs/d/subnet.html.markdown +++ b/website/docs/d/subnet.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_subnet" description: |- diff --git a/website/docs/d/subnet_ids.html.markdown b/website/docs/d/subnet_ids.html.markdown index 7aab11df7be..4c51b9dff60 100644 --- a/website/docs/d/subnet_ids.html.markdown +++ b/website/docs/d/subnet_ids.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_subnet_ids" description: |- diff --git a/website/docs/d/transfer_server.html.markdown b/website/docs/d/transfer_server.html.markdown index 0fadfa6b992..c2f1116a2b5 100644 --- a/website/docs/d/transfer_server.html.markdown +++ b/website/docs/d/transfer_server.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Transfer" layout: "aws" page_title: "AWS: aws_transfer_server" description: |- diff --git a/website/docs/d/vpc.html.markdown b/website/docs/d/vpc.html.markdown index 6ffe543df74..b6fa55cb232 100644 --- a/website/docs/d/vpc.html.markdown +++ b/website/docs/d/vpc.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc" description: |- diff --git a/website/docs/d/vpc_dhcp_options.html.markdown b/website/docs/d/vpc_dhcp_options.html.markdown index 6f6393e48e3..9334598745b 100644 --- a/website/docs/d/vpc_dhcp_options.html.markdown +++ b/website/docs/d/vpc_dhcp_options.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_dhcp_options" description: |- diff --git a/website/docs/d/vpc_endpoint.html.markdown b/website/docs/d/vpc_endpoint.html.markdown index da38e0ce9ba..88abd431ef7 100644 --- a/website/docs/d/vpc_endpoint.html.markdown +++ b/website/docs/d/vpc_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint" description: |- diff --git a/website/docs/d/vpc_endpoint_service.html.markdown b/website/docs/d/vpc_endpoint_service.html.markdown index da3fea7675b..0a7a3948c25 100644 --- a/website/docs/d/vpc_endpoint_service.html.markdown +++ b/website/docs/d/vpc_endpoint_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint_service" description: |- diff --git a/website/docs/d/vpc_peering_connection.html.markdown b/website/docs/d/vpc_peering_connection.html.markdown index 353bd311ab8..9323f07e8b0 100644 --- a/website/docs/d/vpc_peering_connection.html.markdown +++ b/website/docs/d/vpc_peering_connection.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_peering_connection" description: |- diff --git a/website/docs/d/vpcs.html.markdown b/website/docs/d/vpcs.html.markdown index 397c4c7fb24..aaaa08ba26f 100644 --- a/website/docs/d/vpcs.html.markdown +++ b/website/docs/d/vpcs.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpcs" description: |- diff --git a/website/docs/d/vpn_gateway.html.markdown b/website/docs/d/vpn_gateway.html.markdown index c422745729e..4b2805bdd90 100644 --- a/website/docs/d/vpn_gateway.html.markdown +++ b/website/docs/d/vpn_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpn_gateway" description: |- diff --git a/website/docs/d/waf_ipset.html.markdown b/website/docs/d/waf_ipset.html.markdown index b5c6564b304..11af5b0ced5 100644 --- a/website/docs/d/waf_ipset.html.markdown +++ b/website/docs/d/waf_ipset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_ipset" description: |- diff --git a/website/docs/d/waf_rate_based_rule.html.markdown b/website/docs/d/waf_rate_based_rule.html.markdown index 3a0586cceb1..6c7879d66c8 100644 --- a/website/docs/d/waf_rate_based_rule.html.markdown +++ b/website/docs/d/waf_rate_based_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_rate_based_rule" sidebar_current: "docs-aws-datasource-waf-rate-based-rule" diff --git a/website/docs/d/waf_rule.html.markdown b/website/docs/d/waf_rule.html.markdown index 1a41d8bfd87..6e440fa8002 100644 --- a/website/docs/d/waf_rule.html.markdown +++ b/website/docs/d/waf_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_rule" description: |- diff --git a/website/docs/d/waf_web_acl.html.markdown b/website/docs/d/waf_web_acl.html.markdown index 6fe13b2bb56..ee2b962cc33 100644 --- a/website/docs/d/waf_web_acl.html.markdown +++ b/website/docs/d/waf_web_acl.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_web_acl" description: |- diff --git a/website/docs/d/wafregional_ipset.html.markdown b/website/docs/d/wafregional_ipset.html.markdown index ee8536fed35..503900da75a 100644 --- a/website/docs/d/wafregional_ipset.html.markdown +++ b/website/docs/d/wafregional_ipset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_ipset" description: |- diff --git a/website/docs/d/wafregional_rate_based_rule.html.markdown b/website/docs/d/wafregional_rate_based_rule.html.markdown index b499cc1618f..752e995fbae 100644 --- a/website/docs/d/wafregional_rate_based_rule.html.markdown +++ b/website/docs/d/wafregional_rate_based_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_rate_based_rule" sidebar_current: "docs-aws-datasource-wafregional-rate-based-rule" diff --git a/website/docs/d/wafregional_rule.html.markdown b/website/docs/d/wafregional_rule.html.markdown index df4f67ec1cd..089619ec1f2 100644 --- a/website/docs/d/wafregional_rule.html.markdown +++ b/website/docs/d/wafregional_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_rule" description: |- diff --git a/website/docs/d/wafregional_web_acl.html.markdown b/website/docs/d/wafregional_web_acl.html.markdown index 5fc54d77db3..fc80483cb33 100644 --- a/website/docs/d/wafregional_web_acl.html.markdown +++ b/website/docs/d/wafregional_web_acl.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_web_acl" description: |- diff --git a/website/docs/d/workspaces_bundle.html.markdown b/website/docs/d/workspaces_bundle.html.markdown index 311ad9190e6..774ebd08314 100644 --- a/website/docs/d/workspaces_bundle.html.markdown +++ b/website/docs/d/workspaces_bundle.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WorkSpaces" layout: "aws" page_title: "AWS: aws_workspaces_bundle" description: |- diff --git a/website/docs/guides/custom-service-endpoints.html.md b/website/docs/guides/custom-service-endpoints.html.md index d5004104d5a..83fee007483 100644 --- a/website/docs/guides/custom-service-endpoints.html.md +++ b/website/docs/guides/custom-service-endpoints.html.md @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "Terraform AWS Provider Custom Service Endpoint Configuration" description: |- diff --git a/website/docs/guides/version-2-upgrade.html.md b/website/docs/guides/version-2-upgrade.html.md index d262149c85f..79a3d8f5d4c 100644 --- a/website/docs/guides/version-2-upgrade.html.md +++ b/website/docs/guides/version-2-upgrade.html.md @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "Terraform AWS Provider Version 2 Upgrade Guide" description: |- diff --git a/website/docs/guides/version-3-upgrade.html.md b/website/docs/guides/version-3-upgrade.html.md index abb100dd0d9..e38bc8f0f3b 100644 --- a/website/docs/guides/version-3-upgrade.html.md +++ b/website/docs/guides/version-3-upgrade.html.md @@ -1,4 +1,5 @@ --- +subcategory: "" layout: "aws" page_title: "Terraform AWS Provider Version 3 Upgrade Guide" description: |- diff --git a/website/docs/r/acm_certificate.html.markdown b/website/docs/r/acm_certificate.html.markdown index 2fb3c34d0ad..43124187f75 100644 --- a/website/docs/r/acm_certificate.html.markdown +++ b/website/docs/r/acm_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ACM" layout: "aws" page_title: "AWS: aws_acm_certificate" description: |- diff --git a/website/docs/r/acm_certificate_validation.html.markdown b/website/docs/r/acm_certificate_validation.html.markdown index 274e6d6500b..cdf32ed7cc7 100644 --- a/website/docs/r/acm_certificate_validation.html.markdown +++ b/website/docs/r/acm_certificate_validation.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ACM" layout: "aws" page_title: "AWS: aws_acm_certificate_validation" description: |- diff --git a/website/docs/r/acmpca_certificate_authority.html.markdown b/website/docs/r/acmpca_certificate_authority.html.markdown index 4340af4dd75..14c95de2121 100644 --- a/website/docs/r/acmpca_certificate_authority.html.markdown +++ b/website/docs/r/acmpca_certificate_authority.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ACM PCA" layout: "aws" page_title: "AWS: aws_acmpca_certificate_authority" description: |- diff --git a/website/docs/r/ami.html.markdown b/website/docs/r/ami.html.markdown index 073afc7a728..c5fc5ec181d 100644 --- a/website/docs/r/ami.html.markdown +++ b/website/docs/r/ami.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ami" description: |- diff --git a/website/docs/r/ami_copy.html.markdown b/website/docs/r/ami_copy.html.markdown index 18a89bb8d6e..82d80fe4200 100644 --- a/website/docs/r/ami_copy.html.markdown +++ b/website/docs/r/ami_copy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ami_copy" description: |- diff --git a/website/docs/r/ami_from_instance.html.markdown b/website/docs/r/ami_from_instance.html.markdown index 73e6e5e542f..13fd57bcc63 100644 --- a/website/docs/r/ami_from_instance.html.markdown +++ b/website/docs/r/ami_from_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ami_from_instance" description: |- diff --git a/website/docs/r/ami_launch_permission.html.markdown b/website/docs/r/ami_launch_permission.html.markdown index d6443975673..5e6fa696c3a 100644 --- a/website/docs/r/ami_launch_permission.html.markdown +++ b/website/docs/r/ami_launch_permission.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ami_launch_permission" description: |- diff --git a/website/docs/r/api_gateway_account.html.markdown b/website/docs/r/api_gateway_account.html.markdown index c0fff502c9a..c312cd8592f 100644 --- a/website/docs/r/api_gateway_account.html.markdown +++ b/website/docs/r/api_gateway_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_account" description: |- diff --git a/website/docs/r/api_gateway_api_key.html.markdown b/website/docs/r/api_gateway_api_key.html.markdown index 3281cfb3ff1..89e24dba3f3 100644 --- a/website/docs/r/api_gateway_api_key.html.markdown +++ b/website/docs/r/api_gateway_api_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_api_key" description: |- diff --git a/website/docs/r/api_gateway_authorizer.html.markdown b/website/docs/r/api_gateway_authorizer.html.markdown index 1ce17eaf68e..5f759cd865e 100644 --- a/website/docs/r/api_gateway_authorizer.html.markdown +++ b/website/docs/r/api_gateway_authorizer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_authorizer" description: |- diff --git a/website/docs/r/api_gateway_base_path_mapping.html.markdown b/website/docs/r/api_gateway_base_path_mapping.html.markdown index f38b3e9448e..243da98d866 100644 --- a/website/docs/r/api_gateway_base_path_mapping.html.markdown +++ b/website/docs/r/api_gateway_base_path_mapping.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_base_path_mapping" description: |- diff --git a/website/docs/r/api_gateway_client_certificate.html.markdown b/website/docs/r/api_gateway_client_certificate.html.markdown index 232da7d197a..310a4b7dbeb 100644 --- a/website/docs/r/api_gateway_client_certificate.html.markdown +++ b/website/docs/r/api_gateway_client_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_client_certificate" description: |- diff --git a/website/docs/r/api_gateway_deployment.html.markdown b/website/docs/r/api_gateway_deployment.html.markdown index 8c7cf82e4aa..162f9d4e212 100644 --- a/website/docs/r/api_gateway_deployment.html.markdown +++ b/website/docs/r/api_gateway_deployment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_deployment" description: |- diff --git a/website/docs/r/api_gateway_documentation_part.html.markdown b/website/docs/r/api_gateway_documentation_part.html.markdown index 3930e4c71bb..8b2a6fcda62 100644 --- a/website/docs/r/api_gateway_documentation_part.html.markdown +++ b/website/docs/r/api_gateway_documentation_part.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_documentation_part" description: |- diff --git a/website/docs/r/api_gateway_documentation_version.html.markdown b/website/docs/r/api_gateway_documentation_version.html.markdown index 7add408e2ca..b3c29702b9b 100644 --- a/website/docs/r/api_gateway_documentation_version.html.markdown +++ b/website/docs/r/api_gateway_documentation_version.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_documentation_version" description: |- diff --git a/website/docs/r/api_gateway_domain_name.html.markdown b/website/docs/r/api_gateway_domain_name.html.markdown index ffd9a7e3f9f..1178931316a 100644 --- a/website/docs/r/api_gateway_domain_name.html.markdown +++ b/website/docs/r/api_gateway_domain_name.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_domain_name" description: |- diff --git a/website/docs/r/api_gateway_gateway_response.markdown b/website/docs/r/api_gateway_gateway_response.markdown index 0950ef6a227..c6d900629e3 100644 --- a/website/docs/r/api_gateway_gateway_response.markdown +++ b/website/docs/r/api_gateway_gateway_response.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_gateway_response" description: |- diff --git a/website/docs/r/api_gateway_integration.html.markdown b/website/docs/r/api_gateway_integration.html.markdown index c716fa17864..c4f8a3c91d1 100644 --- a/website/docs/r/api_gateway_integration.html.markdown +++ b/website/docs/r/api_gateway_integration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_integration" description: |- diff --git a/website/docs/r/api_gateway_integration_response.html.markdown b/website/docs/r/api_gateway_integration_response.html.markdown index 62047aa9131..dba69bd664d 100644 --- a/website/docs/r/api_gateway_integration_response.html.markdown +++ b/website/docs/r/api_gateway_integration_response.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_integration_response" description: |- diff --git a/website/docs/r/api_gateway_method.html.markdown b/website/docs/r/api_gateway_method.html.markdown index d26e2430c50..74652e0af49 100644 --- a/website/docs/r/api_gateway_method.html.markdown +++ b/website/docs/r/api_gateway_method.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_method" description: |- diff --git a/website/docs/r/api_gateway_method_response.html.markdown b/website/docs/r/api_gateway_method_response.html.markdown index c4ae4e823a7..64377bc0742 100644 --- a/website/docs/r/api_gateway_method_response.html.markdown +++ b/website/docs/r/api_gateway_method_response.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_method_response" description: |- diff --git a/website/docs/r/api_gateway_method_settings.html.markdown b/website/docs/r/api_gateway_method_settings.html.markdown index ee83360d9c3..83d68a985e9 100644 --- a/website/docs/r/api_gateway_method_settings.html.markdown +++ b/website/docs/r/api_gateway_method_settings.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_method_settings" description: |- diff --git a/website/docs/r/api_gateway_model.html.markdown b/website/docs/r/api_gateway_model.html.markdown index c7472a133ec..56d22b09c99 100644 --- a/website/docs/r/api_gateway_model.html.markdown +++ b/website/docs/r/api_gateway_model.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_model" description: |- diff --git a/website/docs/r/api_gateway_request_validator.html.markdown b/website/docs/r/api_gateway_request_validator.html.markdown index 644533953d0..6603e239010 100644 --- a/website/docs/r/api_gateway_request_validator.html.markdown +++ b/website/docs/r/api_gateway_request_validator.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_request_validator" description: |- diff --git a/website/docs/r/api_gateway_resource.html.markdown b/website/docs/r/api_gateway_resource.html.markdown index f096a0738ee..b3069c9cac9 100644 --- a/website/docs/r/api_gateway_resource.html.markdown +++ b/website/docs/r/api_gateway_resource.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_resource" description: |- diff --git a/website/docs/r/api_gateway_rest_api.html.markdown b/website/docs/r/api_gateway_rest_api.html.markdown index 204ee2a5e67..eeeb7486d42 100644 --- a/website/docs/r/api_gateway_rest_api.html.markdown +++ b/website/docs/r/api_gateway_rest_api.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_rest_api" description: |- diff --git a/website/docs/r/api_gateway_stage.html.markdown b/website/docs/r/api_gateway_stage.html.markdown index 206545091c0..8ca91efb931 100644 --- a/website/docs/r/api_gateway_stage.html.markdown +++ b/website/docs/r/api_gateway_stage.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_stage" description: |- diff --git a/website/docs/r/api_gateway_usage_plan.html.markdown b/website/docs/r/api_gateway_usage_plan.html.markdown index afb9b7c9e03..2766326489a 100644 --- a/website/docs/r/api_gateway_usage_plan.html.markdown +++ b/website/docs/r/api_gateway_usage_plan.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_usage_plan" description: |- diff --git a/website/docs/r/api_gateway_usage_plan_key.html.markdown b/website/docs/r/api_gateway_usage_plan_key.html.markdown index f7e4ca1803f..62e76fa45fe 100644 --- a/website/docs/r/api_gateway_usage_plan_key.html.markdown +++ b/website/docs/r/api_gateway_usage_plan_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_usage_plan_key" description: |- diff --git a/website/docs/r/api_gateway_vpc_link.html.markdown b/website/docs/r/api_gateway_vpc_link.html.markdown index c5cab4715ce..82ce59203dc 100644 --- a/website/docs/r/api_gateway_vpc_link.html.markdown +++ b/website/docs/r/api_gateway_vpc_link.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "API Gateway" layout: "aws" page_title: "AWS: aws_api_gateway_vpc_link" description: |- diff --git a/website/docs/r/app_cookie_stickiness_policy.html.markdown b/website/docs/r/app_cookie_stickiness_policy.html.markdown index 671cae71b2c..e4afc911ad8 100644 --- a/website/docs/r/app_cookie_stickiness_policy.html.markdown +++ b/website/docs/r/app_cookie_stickiness_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_app_cookie_stickiness_policy" description: |- diff --git a/website/docs/r/appautoscaling_policy.html.markdown b/website/docs/r/appautoscaling_policy.html.markdown index 538c9c0f0b4..dadee3d2f34 100644 --- a/website/docs/r/appautoscaling_policy.html.markdown +++ b/website/docs/r/appautoscaling_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Application Autoscaling" layout: "aws" page_title: "AWS: aws_appautoscaling_policy" description: |- diff --git a/website/docs/r/appautoscaling_scheduled_action.html.markdown b/website/docs/r/appautoscaling_scheduled_action.html.markdown index a9f7f4c9175..1bf5bf09021 100644 --- a/website/docs/r/appautoscaling_scheduled_action.html.markdown +++ b/website/docs/r/appautoscaling_scheduled_action.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Application Autoscaling" layout: "aws" page_title: "AWS: aws_appautoscaling_scheduled_action" description: |- diff --git a/website/docs/r/appautoscaling_target.html.markdown b/website/docs/r/appautoscaling_target.html.markdown index 886102817d5..8c7a80d2b30 100644 --- a/website/docs/r/appautoscaling_target.html.markdown +++ b/website/docs/r/appautoscaling_target.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Application Autoscaling" layout: "aws" page_title: "AWS: aws_appautoscaling_target" description: |- diff --git a/website/docs/r/appmesh_mesh.html.markdown b/website/docs/r/appmesh_mesh.html.markdown index 5196c5c5449..4865f8e69a5 100644 --- a/website/docs/r/appmesh_mesh.html.markdown +++ b/website/docs/r/appmesh_mesh.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppMesh" layout: "aws" page_title: "AWS: aws_appmesh_mesh" description: |- diff --git a/website/docs/r/appmesh_route.html.markdown b/website/docs/r/appmesh_route.html.markdown index 72f7127510e..599702fcca2 100644 --- a/website/docs/r/appmesh_route.html.markdown +++ b/website/docs/r/appmesh_route.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppMesh" layout: "aws" page_title: "AWS: aws_appmesh_route" description: |- diff --git a/website/docs/r/appmesh_virtual_node.html.markdown b/website/docs/r/appmesh_virtual_node.html.markdown index edfe03a02ba..b1918310888 100644 --- a/website/docs/r/appmesh_virtual_node.html.markdown +++ b/website/docs/r/appmesh_virtual_node.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppMesh" layout: "aws" page_title: "AWS: aws_appmesh_virtual_node" description: |- diff --git a/website/docs/r/appmesh_virtual_router.html.markdown b/website/docs/r/appmesh_virtual_router.html.markdown index b31cca50d78..96c4785cdee 100644 --- a/website/docs/r/appmesh_virtual_router.html.markdown +++ b/website/docs/r/appmesh_virtual_router.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppMesh" layout: "aws" page_title: "AWS: aws_appmesh_virtual_router" description: |- diff --git a/website/docs/r/appmesh_virtual_service.html.markdown b/website/docs/r/appmesh_virtual_service.html.markdown index e1e64f0dcee..3e3c376cc5f 100644 --- a/website/docs/r/appmesh_virtual_service.html.markdown +++ b/website/docs/r/appmesh_virtual_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppMesh" layout: "aws" page_title: "AWS: aws_appmesh_virtual_service" description: |- diff --git a/website/docs/r/appsync_api_key.html.markdown b/website/docs/r/appsync_api_key.html.markdown index d6074aa5e1d..07772455fe0 100644 --- a/website/docs/r/appsync_api_key.html.markdown +++ b/website/docs/r/appsync_api_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_api_key" description: |- diff --git a/website/docs/r/appsync_datasource.html.markdown b/website/docs/r/appsync_datasource.html.markdown index 11c5c27358a..abe1b30684f 100644 --- a/website/docs/r/appsync_datasource.html.markdown +++ b/website/docs/r/appsync_datasource.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_datasource" description: |- diff --git a/website/docs/r/appsync_function.html.markdown b/website/docs/r/appsync_function.html.markdown index 7014eab7f74..c4cbd97043f 100644 --- a/website/docs/r/appsync_function.html.markdown +++ b/website/docs/r/appsync_function.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_function" description: |- diff --git a/website/docs/r/appsync_graphql_api.html.markdown b/website/docs/r/appsync_graphql_api.html.markdown index ed3773b550e..3b3d0842ced 100644 --- a/website/docs/r/appsync_graphql_api.html.markdown +++ b/website/docs/r/appsync_graphql_api.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_graphql_api" description: |- diff --git a/website/docs/r/appsync_resolver.html.markdown b/website/docs/r/appsync_resolver.html.markdown index 9eb9911aba0..a5cde1cd1d9 100644 --- a/website/docs/r/appsync_resolver.html.markdown +++ b/website/docs/r/appsync_resolver.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_resolver" description: |- diff --git a/website/docs/r/athena_database.html.markdown b/website/docs/r/athena_database.html.markdown index 370d4f55c4f..d0194a52a6e 100644 --- a/website/docs/r/athena_database.html.markdown +++ b/website/docs/r/athena_database.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Athena" layout: "aws" page_title: "AWS: aws_athena_database" description: |- diff --git a/website/docs/r/athena_named_query.html.markdown b/website/docs/r/athena_named_query.html.markdown index aaaff310d6b..ce443c7f7d5 100644 --- a/website/docs/r/athena_named_query.html.markdown +++ b/website/docs/r/athena_named_query.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Athena" layout: "aws" page_title: "AWS: aws_athena_named_query" description: |- diff --git a/website/docs/r/athena_workgroup.html.markdown b/website/docs/r/athena_workgroup.html.markdown index c25b4424477..2ca348db1c1 100644 --- a/website/docs/r/athena_workgroup.html.markdown +++ b/website/docs/r/athena_workgroup.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Athena" layout: "aws" page_title: "AWS: aws_athena_workgroup" description: |- diff --git a/website/docs/r/autoscaling_attachment.html.markdown b/website/docs/r/autoscaling_attachment.html.markdown index 17b546ad93e..da821a60ff6 100644 --- a/website/docs/r/autoscaling_attachment.html.markdown +++ b/website/docs/r/autoscaling_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_attachment" description: |- diff --git a/website/docs/r/autoscaling_group.html.markdown b/website/docs/r/autoscaling_group.html.markdown index b0ed7e291cd..e6d4880953c 100644 --- a/website/docs/r/autoscaling_group.html.markdown +++ b/website/docs/r/autoscaling_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_group" description: |- diff --git a/website/docs/r/autoscaling_lifecycle_hooks.html.markdown b/website/docs/r/autoscaling_lifecycle_hooks.html.markdown index 5d42070e4b7..f9b349adeba 100644 --- a/website/docs/r/autoscaling_lifecycle_hooks.html.markdown +++ b/website/docs/r/autoscaling_lifecycle_hooks.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_lifecycle_hook" description: |- diff --git a/website/docs/r/autoscaling_notification.html.markdown b/website/docs/r/autoscaling_notification.html.markdown index 4e21b66e454..860d4bcaf56 100644 --- a/website/docs/r/autoscaling_notification.html.markdown +++ b/website/docs/r/autoscaling_notification.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_notification" description: |- diff --git a/website/docs/r/autoscaling_policy.html.markdown b/website/docs/r/autoscaling_policy.html.markdown index 3caa89ec0c3..4f038e586c1 100644 --- a/website/docs/r/autoscaling_policy.html.markdown +++ b/website/docs/r/autoscaling_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_policy" description: |- diff --git a/website/docs/r/autoscaling_schedule.html.markdown b/website/docs/r/autoscaling_schedule.html.markdown index 1ee735b2e4e..025a46ea028 100644 --- a/website/docs/r/autoscaling_schedule.html.markdown +++ b/website/docs/r/autoscaling_schedule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Autoscaling" layout: "aws" page_title: "AWS: aws_autoscaling_schedule" description: |- diff --git a/website/docs/r/backup_plan.html.markdown b/website/docs/r/backup_plan.html.markdown index 713974c7160..7bada31b497 100644 --- a/website/docs/r/backup_plan.html.markdown +++ b/website/docs/r/backup_plan.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Backup" layout: "aws" page_title: "AWS: aws_backup_plan" description: |- diff --git a/website/docs/r/backup_selection.html.markdown b/website/docs/r/backup_selection.html.markdown index 6bb1f3688c0..5fda87e85f1 100644 --- a/website/docs/r/backup_selection.html.markdown +++ b/website/docs/r/backup_selection.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Backup" layout: "aws" page_title: "AWS: aws_backup_selection" description: |- diff --git a/website/docs/r/backup_vault.html.markdown b/website/docs/r/backup_vault.html.markdown index aa4200a99b0..0473854ba0a 100644 --- a/website/docs/r/backup_vault.html.markdown +++ b/website/docs/r/backup_vault.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Backup" layout: "aws" page_title: "AWS: aws_backup_vault" description: |- diff --git a/website/docs/r/batch_compute_environment.html.markdown b/website/docs/r/batch_compute_environment.html.markdown index 4f0371a6e11..1b0d05f4786 100644 --- a/website/docs/r/batch_compute_environment.html.markdown +++ b/website/docs/r/batch_compute_environment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Batch" layout: "aws" page_title: "AWS: aws_batch_compute_environment" description: |- diff --git a/website/docs/r/batch_job_definition.html.markdown b/website/docs/r/batch_job_definition.html.markdown index 5396881fee5..3d805b7c287 100644 --- a/website/docs/r/batch_job_definition.html.markdown +++ b/website/docs/r/batch_job_definition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Batch" layout: "aws" page_title: "AWS: aws_batch_job_definition" description: |- diff --git a/website/docs/r/batch_job_queue.html.markdown b/website/docs/r/batch_job_queue.html.markdown index f86588a4315..4fccf4cdb00 100644 --- a/website/docs/r/batch_job_queue.html.markdown +++ b/website/docs/r/batch_job_queue.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Batch" layout: "aws" page_title: "AWS: aws_batch_job_queue" description: |- diff --git a/website/docs/r/budgets_budget.html.markdown b/website/docs/r/budgets_budget.html.markdown index 4872d0f8a1a..36b3ec98397 100644 --- a/website/docs/r/budgets_budget.html.markdown +++ b/website/docs/r/budgets_budget.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Budgets" layout: "aws" page_title: "AWS: aws_budgets_budget" description: |- diff --git a/website/docs/r/cloud9_environment_ec2.html.markdown b/website/docs/r/cloud9_environment_ec2.html.markdown index 2d26f0f3bdd..c690131518e 100644 --- a/website/docs/r/cloud9_environment_ec2.html.markdown +++ b/website/docs/r/cloud9_environment_ec2.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cloud9" layout: "aws" page_title: "AWS: aws_cloud9_environment_ec2" description: |- diff --git a/website/docs/r/cloudformation_stack.html.markdown b/website/docs/r/cloudformation_stack.html.markdown index 4c03854865f..429a00c2382 100644 --- a/website/docs/r/cloudformation_stack.html.markdown +++ b/website/docs/r/cloudformation_stack.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFormation" layout: "aws" page_title: "AWS: aws_cloudformation_stack" description: |- diff --git a/website/docs/r/cloudformation_stack_set.html.markdown b/website/docs/r/cloudformation_stack_set.html.markdown index 3d906e6f4db..5c9f7d1e22f 100644 --- a/website/docs/r/cloudformation_stack_set.html.markdown +++ b/website/docs/r/cloudformation_stack_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFormation" layout: "aws" page_title: "AWS: aws_cloudformation_stack_set" description: |- diff --git a/website/docs/r/cloudformation_stack_set_instance.html.markdown b/website/docs/r/cloudformation_stack_set_instance.html.markdown index 843d3328aee..75e20cf3ffb 100644 --- a/website/docs/r/cloudformation_stack_set_instance.html.markdown +++ b/website/docs/r/cloudformation_stack_set_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFormation" layout: "aws" page_title: "AWS: aws_cloudformation_stack_set_instance" description: |- diff --git a/website/docs/r/cloudfront_distribution.html.markdown b/website/docs/r/cloudfront_distribution.html.markdown index b179609054c..8b2436d714f 100644 --- a/website/docs/r/cloudfront_distribution.html.markdown +++ b/website/docs/r/cloudfront_distribution.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFront" layout: "aws" page_title: "AWS: aws_cloudfront_distribution" description: |- diff --git a/website/docs/r/cloudfront_origin_access_identity.html.markdown b/website/docs/r/cloudfront_origin_access_identity.html.markdown index 8e4f99738d7..67eb280a5b1 100644 --- a/website/docs/r/cloudfront_origin_access_identity.html.markdown +++ b/website/docs/r/cloudfront_origin_access_identity.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFront" layout: "aws" page_title: "AWS: aws_cloudfront_origin_access_identity" description: |- diff --git a/website/docs/r/cloudfront_public_key.html.markdown b/website/docs/r/cloudfront_public_key.html.markdown index 8c92b6ef27a..687cb20c3b9 100644 --- a/website/docs/r/cloudfront_public_key.html.markdown +++ b/website/docs/r/cloudfront_public_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudFront" layout: "aws" page_title: "AWS: aws_cloudfront_public_key" description: |- diff --git a/website/docs/r/cloudhsm_v2_cluster.html.markdown b/website/docs/r/cloudhsm_v2_cluster.html.markdown index ae141c44dc2..70a7513f44c 100644 --- a/website/docs/r/cloudhsm_v2_cluster.html.markdown +++ b/website/docs/r/cloudhsm_v2_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudHSM v2" layout: "aws" page_title: "AWS: aws_cloudhsm_v2_cluster" description: |- diff --git a/website/docs/r/cloudhsm_v2_hsm.html.markdown b/website/docs/r/cloudhsm_v2_hsm.html.markdown index f5d2c34e9ae..834bea55c17 100644 --- a/website/docs/r/cloudhsm_v2_hsm.html.markdown +++ b/website/docs/r/cloudhsm_v2_hsm.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudHSM v2" layout: "aws" page_title: "AWS: aws_cloudhsm_v2_hsm" description: |- diff --git a/website/docs/r/cloudtrail.html.markdown b/website/docs/r/cloudtrail.html.markdown index 0c9c936c926..30ad5db57eb 100644 --- a/website/docs/r/cloudtrail.html.markdown +++ b/website/docs/r/cloudtrail.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudTrail" layout: "aws" page_title: "AWS: aws_cloudtrail" description: |- diff --git a/website/docs/r/cloudwatch_dashboard.html.markdown b/website/docs/r/cloudwatch_dashboard.html.markdown index c6a67a2d393..8c13d825b26 100644 --- a/website/docs/r/cloudwatch_dashboard.html.markdown +++ b/website/docs/r/cloudwatch_dashboard.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_dashboard" description: |- diff --git a/website/docs/r/cloudwatch_event_permission.html.markdown b/website/docs/r/cloudwatch_event_permission.html.markdown index fbfa8934d16..7f5a8055997 100644 --- a/website/docs/r/cloudwatch_event_permission.html.markdown +++ b/website/docs/r/cloudwatch_event_permission.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_event_permission" description: |- diff --git a/website/docs/r/cloudwatch_event_rule.html.markdown b/website/docs/r/cloudwatch_event_rule.html.markdown index b3a3afae971..ae6131be17d 100644 --- a/website/docs/r/cloudwatch_event_rule.html.markdown +++ b/website/docs/r/cloudwatch_event_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_event_rule" description: |- diff --git a/website/docs/r/cloudwatch_event_target.html.markdown b/website/docs/r/cloudwatch_event_target.html.markdown index 51e5b3d8c38..43822e309b1 100644 --- a/website/docs/r/cloudwatch_event_target.html.markdown +++ b/website/docs/r/cloudwatch_event_target.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_event_target" description: |- diff --git a/website/docs/r/cloudwatch_log_destination.html.markdown b/website/docs/r/cloudwatch_log_destination.html.markdown index ba44164f83c..59ba511760e 100644 --- a/website/docs/r/cloudwatch_log_destination.html.markdown +++ b/website/docs/r/cloudwatch_log_destination.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_destination" description: |- diff --git a/website/docs/r/cloudwatch_log_destination_policy.html.markdown b/website/docs/r/cloudwatch_log_destination_policy.html.markdown index 8f6fff37cb9..2eb222fe7c5 100644 --- a/website/docs/r/cloudwatch_log_destination_policy.html.markdown +++ b/website/docs/r/cloudwatch_log_destination_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_destination_policy" description: |- diff --git a/website/docs/r/cloudwatch_log_group.html.markdown b/website/docs/r/cloudwatch_log_group.html.markdown index fc11f3cd8f1..96815429af6 100644 --- a/website/docs/r/cloudwatch_log_group.html.markdown +++ b/website/docs/r/cloudwatch_log_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_group" description: |- diff --git a/website/docs/r/cloudwatch_log_metric_filter.html.markdown b/website/docs/r/cloudwatch_log_metric_filter.html.markdown index 4df11b42af3..d43ac8e9199 100644 --- a/website/docs/r/cloudwatch_log_metric_filter.html.markdown +++ b/website/docs/r/cloudwatch_log_metric_filter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_metric_filter" description: |- diff --git a/website/docs/r/cloudwatch_log_resource_policy.html.markdown b/website/docs/r/cloudwatch_log_resource_policy.html.markdown index 48a16ac7e23..6f50cdf87a4 100644 --- a/website/docs/r/cloudwatch_log_resource_policy.html.markdown +++ b/website/docs/r/cloudwatch_log_resource_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_resource_policy" description: |- diff --git a/website/docs/r/cloudwatch_log_stream.html.markdown b/website/docs/r/cloudwatch_log_stream.html.markdown index bb8bacb346c..775007ba5d8 100644 --- a/website/docs/r/cloudwatch_log_stream.html.markdown +++ b/website/docs/r/cloudwatch_log_stream.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_stream" description: |- diff --git a/website/docs/r/cloudwatch_log_subscription_filter.html.markdown b/website/docs/r/cloudwatch_log_subscription_filter.html.markdown index 03ea11175de..f8d42068f49 100644 --- a/website/docs/r/cloudwatch_log_subscription_filter.html.markdown +++ b/website/docs/r/cloudwatch_log_subscription_filter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_log_subscription_filter" description: |- diff --git a/website/docs/r/cloudwatch_metric_alarm.html.markdown b/website/docs/r/cloudwatch_metric_alarm.html.markdown index a25215fd101..2313ad5888f 100644 --- a/website/docs/r/cloudwatch_metric_alarm.html.markdown +++ b/website/docs/r/cloudwatch_metric_alarm.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CloudWatch" layout: "aws" page_title: "AWS: aws_cloudwatch_metric_alarm" description: |- diff --git a/website/docs/r/codebuild_project.html.markdown b/website/docs/r/codebuild_project.html.markdown index 2821f026974..9a70d27b305 100755 --- a/website/docs/r/codebuild_project.html.markdown +++ b/website/docs/r/codebuild_project.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeBuild" layout: "aws" page_title: "AWS: aws_codebuild_project" description: |- diff --git a/website/docs/r/codebuild_source_credential.html.markdown b/website/docs/r/codebuild_source_credential.html.markdown index 13444c84d5f..240c38fba49 100644 --- a/website/docs/r/codebuild_source_credential.html.markdown +++ b/website/docs/r/codebuild_source_credential.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeBuild" layout: "aws" page_title: "AWS: aws_codebuild_source_credential" description: |- diff --git a/website/docs/r/codebuild_webhook.html.markdown b/website/docs/r/codebuild_webhook.html.markdown index fc39a3d093f..861661a22c8 100644 --- a/website/docs/r/codebuild_webhook.html.markdown +++ b/website/docs/r/codebuild_webhook.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeBuild" layout: "aws" page_title: "AWS: aws_codebuild_webhook" description: |- diff --git a/website/docs/r/codecommit_repository.html.markdown b/website/docs/r/codecommit_repository.html.markdown index 3840e8e3730..7eb477aed67 100644 --- a/website/docs/r/codecommit_repository.html.markdown +++ b/website/docs/r/codecommit_repository.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeCommit" layout: "aws" page_title: "AWS: aws_codecommit_repository" description: |- diff --git a/website/docs/r/codecommit_trigger.html.markdown b/website/docs/r/codecommit_trigger.html.markdown index ace2f7ae792..bdb2c373f50 100644 --- a/website/docs/r/codecommit_trigger.html.markdown +++ b/website/docs/r/codecommit_trigger.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeCommit" layout: "aws" page_title: "AWS: aws_codecommit_trigger" description: |- diff --git a/website/docs/r/codedeploy_app.html.markdown b/website/docs/r/codedeploy_app.html.markdown index 84c8bec191a..9ffeeabd68d 100644 --- a/website/docs/r/codedeploy_app.html.markdown +++ b/website/docs/r/codedeploy_app.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeDeploy" layout: "aws" page_title: "AWS: aws_codedeploy_app" description: |- diff --git a/website/docs/r/codedeploy_deployment_config.html.markdown b/website/docs/r/codedeploy_deployment_config.html.markdown index a217be0433b..04851a02933 100644 --- a/website/docs/r/codedeploy_deployment_config.html.markdown +++ b/website/docs/r/codedeploy_deployment_config.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeDeploy" layout: "aws" page_title: "AWS: aws_codedeploy_deployment_config" description: |- diff --git a/website/docs/r/codedeploy_deployment_group.html.markdown b/website/docs/r/codedeploy_deployment_group.html.markdown index 16d5b3355f2..802435c486c 100644 --- a/website/docs/r/codedeploy_deployment_group.html.markdown +++ b/website/docs/r/codedeploy_deployment_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodeDeploy" layout: "aws" page_title: "AWS: aws_codedeploy_deployment_group" description: |- diff --git a/website/docs/r/codepipeline.markdown b/website/docs/r/codepipeline.markdown index ab17874bc01..386913ca07c 100644 --- a/website/docs/r/codepipeline.markdown +++ b/website/docs/r/codepipeline.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodePipeline" layout: "aws" page_title: "AWS: aws_codepipeline" description: |- diff --git a/website/docs/r/codepipeline_webhook.markdown b/website/docs/r/codepipeline_webhook.markdown index d6b2fb2e023..f05a437f80b 100644 --- a/website/docs/r/codepipeline_webhook.markdown +++ b/website/docs/r/codepipeline_webhook.markdown @@ -1,4 +1,5 @@ --- +subcategory: "CodePipeline" layout: "aws" page_title: "AWS: aws_codepipeline_webhook" description: |- diff --git a/website/docs/r/cognito_identity_pool.markdown b/website/docs/r/cognito_identity_pool.markdown index be2ea814863..03393b4d487 100644 --- a/website/docs/r/cognito_identity_pool.markdown +++ b/website/docs/r/cognito_identity_pool.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_identity_pool" description: |- diff --git a/website/docs/r/cognito_identity_pool_roles_attachment.markdown b/website/docs/r/cognito_identity_pool_roles_attachment.markdown index 80ae1de2209..4887460512f 100644 --- a/website/docs/r/cognito_identity_pool_roles_attachment.markdown +++ b/website/docs/r/cognito_identity_pool_roles_attachment.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_identity_pool_roles_attachment" description: |- diff --git a/website/docs/r/cognito_identity_provider.html.markdown b/website/docs/r/cognito_identity_provider.html.markdown index 61f78c18606..c41de80520a 100644 --- a/website/docs/r/cognito_identity_provider.html.markdown +++ b/website/docs/r/cognito_identity_provider.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_identity_provider" side_bar_current: "docs-aws-resource-cognito-identity-provider" diff --git a/website/docs/r/cognito_resource_server.markdown b/website/docs/r/cognito_resource_server.markdown index 173ce221993..9494e45eee6 100644 --- a/website/docs/r/cognito_resource_server.markdown +++ b/website/docs/r/cognito_resource_server.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_resource_server" side_bar_current: "docs-aws-resource-cognito-resource-server" diff --git a/website/docs/r/cognito_user_group.html.markdown b/website/docs/r/cognito_user_group.html.markdown index 0b1cf4f2900..89bcadc3886 100644 --- a/website/docs/r/cognito_user_group.html.markdown +++ b/website/docs/r/cognito_user_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_user_group" description: |- diff --git a/website/docs/r/cognito_user_pool.markdown b/website/docs/r/cognito_user_pool.markdown index 6032c459aa2..1d411fb1625 100644 --- a/website/docs/r/cognito_user_pool.markdown +++ b/website/docs/r/cognito_user_pool.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_user_pool" description: |- diff --git a/website/docs/r/cognito_user_pool_client.markdown b/website/docs/r/cognito_user_pool_client.markdown index 096802869ab..0a32ded366d 100644 --- a/website/docs/r/cognito_user_pool_client.markdown +++ b/website/docs/r/cognito_user_pool_client.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_user_pool_client" description: |- diff --git a/website/docs/r/cognito_user_pool_domain.markdown b/website/docs/r/cognito_user_pool_domain.markdown index 686dc5c3504..1a2a27b3208 100644 --- a/website/docs/r/cognito_user_pool_domain.markdown +++ b/website/docs/r/cognito_user_pool_domain.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cognito" layout: "aws" page_title: "AWS: aws_cognito_user_pool_domain" description: |- diff --git a/website/docs/r/config_aggregate_authorization.markdown b/website/docs/r/config_aggregate_authorization.markdown index 43a9500cd51..3551662e37b 100644 --- a/website/docs/r/config_aggregate_authorization.markdown +++ b/website/docs/r/config_aggregate_authorization.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_aggregate_authorization" description: |- diff --git a/website/docs/r/config_config_rule.html.markdown b/website/docs/r/config_config_rule.html.markdown index 456ab3f6e62..f5ff811f50f 100644 --- a/website/docs/r/config_config_rule.html.markdown +++ b/website/docs/r/config_config_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_config_rule" description: |- diff --git a/website/docs/r/config_configuration_aggregator.html.markdown b/website/docs/r/config_configuration_aggregator.html.markdown index d765ad7add7..63fbb7a1c7e 100644 --- a/website/docs/r/config_configuration_aggregator.html.markdown +++ b/website/docs/r/config_configuration_aggregator.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_configuration_aggregator" description: |- diff --git a/website/docs/r/config_configuration_recorder.html.markdown b/website/docs/r/config_configuration_recorder.html.markdown index 96667453e08..002f9303bc2 100644 --- a/website/docs/r/config_configuration_recorder.html.markdown +++ b/website/docs/r/config_configuration_recorder.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_configuration_recorder" description: |- diff --git a/website/docs/r/config_configuration_recorder_status.html.markdown b/website/docs/r/config_configuration_recorder_status.html.markdown index d0e2752f416..6cd88ff2024 100644 --- a/website/docs/r/config_configuration_recorder_status.html.markdown +++ b/website/docs/r/config_configuration_recorder_status.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_configuration_recorder_status" description: |- diff --git a/website/docs/r/config_delivery_channel.html.markdown b/website/docs/r/config_delivery_channel.html.markdown index 5a0118b5512..8b7db4597cc 100644 --- a/website/docs/r/config_delivery_channel.html.markdown +++ b/website/docs/r/config_delivery_channel.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_delivery_channel" description: |- diff --git a/website/docs/r/config_organization_custom_rule.html.markdown b/website/docs/r/config_organization_custom_rule.html.markdown index e166f6d4753..01f1095e107 100644 --- a/website/docs/r/config_organization_custom_rule.html.markdown +++ b/website/docs/r/config_organization_custom_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_organization_custom_rule" description: |- diff --git a/website/docs/r/config_organization_managed_rule.html.markdown b/website/docs/r/config_organization_managed_rule.html.markdown index 325a5eb8db7..ba59a951f5f 100644 --- a/website/docs/r/config_organization_managed_rule.html.markdown +++ b/website/docs/r/config_organization_managed_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Config" layout: "aws" page_title: "AWS: aws_config_organization_managed_rule" description: |- diff --git a/website/docs/r/cur_report_definition.html.markdown b/website/docs/r/cur_report_definition.html.markdown index c85f6386110..bafa019452b 100644 --- a/website/docs/r/cur_report_definition.html.markdown +++ b/website/docs/r/cur_report_definition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Cost and Usage Report" layout: "aws" page_title: "AWS: aws_cur_report_definition" description: |- diff --git a/website/docs/r/customer_gateway.html.markdown b/website/docs/r/customer_gateway.html.markdown index e4c4df13e9c..b8ddf6da19c 100644 --- a/website/docs/r/customer_gateway.html.markdown +++ b/website/docs/r/customer_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_customer_gateway" description: |- diff --git a/website/docs/r/datapipeline_pipeline.html.markdown b/website/docs/r/datapipeline_pipeline.html.markdown index 9b96bb8324c..238b1de51f0 100644 --- a/website/docs/r/datapipeline_pipeline.html.markdown +++ b/website/docs/r/datapipeline_pipeline.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DataPipeline" layout: "aws" page_title: "AWS: aws_datapipeline_pipeline" description: |- diff --git a/website/docs/r/datasync_agent.html.markdown b/website/docs/r/datasync_agent.html.markdown index 7884ecd3c40..5d4731af5a3 100644 --- a/website/docs/r/datasync_agent.html.markdown +++ b/website/docs/r/datasync_agent.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DataSync" layout: "aws" page_title: "AWS: aws_datasync_agent" description: |- diff --git a/website/docs/r/datasync_location_efs.html.markdown b/website/docs/r/datasync_location_efs.html.markdown index 94a72a8183b..7f75ad713b7 100644 --- a/website/docs/r/datasync_location_efs.html.markdown +++ b/website/docs/r/datasync_location_efs.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DataSync" layout: "aws" page_title: "AWS: aws_datasync_location_efs" description: |- diff --git a/website/docs/r/datasync_location_nfs.html.markdown b/website/docs/r/datasync_location_nfs.html.markdown index b16f0255f71..e9897faa818 100644 --- a/website/docs/r/datasync_location_nfs.html.markdown +++ b/website/docs/r/datasync_location_nfs.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DataSync" layout: "aws" page_title: "AWS: aws_datasync_location_nfs" description: |- diff --git a/website/docs/r/datasync_location_s3.html.markdown b/website/docs/r/datasync_location_s3.html.markdown index a0a8690cbf7..bd5c692596d 100644 --- a/website/docs/r/datasync_location_s3.html.markdown +++ b/website/docs/r/datasync_location_s3.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DataSync" layout: "aws" page_title: "AWS: aws_datasync_location_s3" description: |- diff --git a/website/docs/r/datasync_task.html.markdown b/website/docs/r/datasync_task.html.markdown index b779eccec18..6fa9cd95efd 100644 --- a/website/docs/r/datasync_task.html.markdown +++ b/website/docs/r/datasync_task.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DataSync" layout: "aws" page_title: "AWS: aws_datasync_task" description: |- diff --git a/website/docs/r/dax_cluster.html.markdown b/website/docs/r/dax_cluster.html.markdown index 84e04bbfa5c..6a90d1f83f9 100644 --- a/website/docs/r/dax_cluster.html.markdown +++ b/website/docs/r/dax_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB Accelerator (DAX)" layout: "aws" page_title: "AWS: aws_dax_cluster" description: |- diff --git a/website/docs/r/dax_parameter_group.html.markdown b/website/docs/r/dax_parameter_group.html.markdown index 46d12437d6f..b8a05770a81 100644 --- a/website/docs/r/dax_parameter_group.html.markdown +++ b/website/docs/r/dax_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB Accelerator (DAX)" layout: "aws" page_title: "AWS: aws_dax_parameter_group" description: |- diff --git a/website/docs/r/dax_subnet_group.html.markdown b/website/docs/r/dax_subnet_group.html.markdown index abfc467cf3d..f1335191493 100644 --- a/website/docs/r/dax_subnet_group.html.markdown +++ b/website/docs/r/dax_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB Accelerator (DAX)" layout: "aws" page_title: "AWS: aws_dax_subnet_group" description: |- diff --git a/website/docs/r/db_cluster_snapshot.html.markdown b/website/docs/r/db_cluster_snapshot.html.markdown index 090b046ffbc..d56573ef781 100644 --- a/website/docs/r/db_cluster_snapshot.html.markdown +++ b/website/docs/r/db_cluster_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_cluster_snapshot" description: |- diff --git a/website/docs/r/db_event_subscription.html.markdown b/website/docs/r/db_event_subscription.html.markdown index ea86c944dd2..eb03744c49b 100644 --- a/website/docs/r/db_event_subscription.html.markdown +++ b/website/docs/r/db_event_subscription.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_event_subscription" description: |- diff --git a/website/docs/r/db_instance.html.markdown b/website/docs/r/db_instance.html.markdown index e61e8f4bbff..0ae598a5ae4 100644 --- a/website/docs/r/db_instance.html.markdown +++ b/website/docs/r/db_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_instance" description: |- diff --git a/website/docs/r/db_instance_role_association.html.markdown b/website/docs/r/db_instance_role_association.html.markdown index e0d7a92768f..c429625ebfc 100644 --- a/website/docs/r/db_instance_role_association.html.markdown +++ b/website/docs/r/db_instance_role_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_instance_role_association" description: |- diff --git a/website/docs/r/db_option_group.html.markdown b/website/docs/r/db_option_group.html.markdown index b19f0c6a718..fe1be23abb9 100644 --- a/website/docs/r/db_option_group.html.markdown +++ b/website/docs/r/db_option_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_option_group" description: |- diff --git a/website/docs/r/db_parameter_group.html.markdown b/website/docs/r/db_parameter_group.html.markdown index b64856e2adc..fa4b16ce38c 100644 --- a/website/docs/r/db_parameter_group.html.markdown +++ b/website/docs/r/db_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_parameter_group" description: |- diff --git a/website/docs/r/db_security_group.html.markdown b/website/docs/r/db_security_group.html.markdown index 3984c170ccf..ad24c7008a4 100644 --- a/website/docs/r/db_security_group.html.markdown +++ b/website/docs/r/db_security_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_security_group" description: |- diff --git a/website/docs/r/db_snapshot.html.markdown b/website/docs/r/db_snapshot.html.markdown index 8fc617ea9fd..e182a342e93 100644 --- a/website/docs/r/db_snapshot.html.markdown +++ b/website/docs/r/db_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_snapshot" description: |- diff --git a/website/docs/r/db_subnet_group.html.markdown b/website/docs/r/db_subnet_group.html.markdown index 1e73daedbb9..795f4296be4 100644 --- a/website/docs/r/db_subnet_group.html.markdown +++ b/website/docs/r/db_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_db_subnet_group" description: |- diff --git a/website/docs/r/default_network_acl.html.markdown b/website/docs/r/default_network_acl.html.markdown index 66dd21e3799..0621843d88b 100644 --- a/website/docs/r/default_network_acl.html.markdown +++ b/website/docs/r/default_network_acl.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_default_network_acl" description: |- diff --git a/website/docs/r/default_route_table.html.markdown b/website/docs/r/default_route_table.html.markdown index d0f6af7689d..8c5c697ff38 100644 --- a/website/docs/r/default_route_table.html.markdown +++ b/website/docs/r/default_route_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_default_route_table" description: |- diff --git a/website/docs/r/default_security_group.html.markdown b/website/docs/r/default_security_group.html.markdown index eb6b7a75faf..9b601aa92e3 100644 --- a/website/docs/r/default_security_group.html.markdown +++ b/website/docs/r/default_security_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_default_security_group" description: |- diff --git a/website/docs/r/default_subnet.html.markdown b/website/docs/r/default_subnet.html.markdown index 395e4cb2441..392c56e4065 100644 --- a/website/docs/r/default_subnet.html.markdown +++ b/website/docs/r/default_subnet.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_default_subnet" description: |- diff --git a/website/docs/r/default_vpc.html.markdown b/website/docs/r/default_vpc.html.markdown index 998ffc871d2..ffea186b0f5 100644 --- a/website/docs/r/default_vpc.html.markdown +++ b/website/docs/r/default_vpc.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_default_vpc" description: |- diff --git a/website/docs/r/default_vpc_dhcp_options.html.markdown b/website/docs/r/default_vpc_dhcp_options.html.markdown index 855a146b643..dd12f0f1ba2 100644 --- a/website/docs/r/default_vpc_dhcp_options.html.markdown +++ b/website/docs/r/default_vpc_dhcp_options.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_default_vpc_dhcp_options" description: |- diff --git a/website/docs/r/devicefarm_project.html.markdown b/website/docs/r/devicefarm_project.html.markdown index 6ebf804e4df..2699cdc1afe 100644 --- a/website/docs/r/devicefarm_project.html.markdown +++ b/website/docs/r/devicefarm_project.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Device Farm" layout: "aws" page_title: "AWS: aws_devicefarm_project" description: |- diff --git a/website/docs/r/directory_service_conditional_forwarder.html.markdown b/website/docs/r/directory_service_conditional_forwarder.html.markdown index 5677aca46ff..35f31efa69b 100644 --- a/website/docs/r/directory_service_conditional_forwarder.html.markdown +++ b/website/docs/r/directory_service_conditional_forwarder.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Directory Service" layout: "aws" page_title: "AWS: aws_directory_service_conditional_forwarder" description: |- diff --git a/website/docs/r/directory_service_directory.html.markdown b/website/docs/r/directory_service_directory.html.markdown index 8da897397ec..5af1eb5e42e 100644 --- a/website/docs/r/directory_service_directory.html.markdown +++ b/website/docs/r/directory_service_directory.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Directory Service" layout: "aws" page_title: "AWS: aws_directory_service_directory" description: |- diff --git a/website/docs/r/directory_service_log_subscription.html.markdown b/website/docs/r/directory_service_log_subscription.html.markdown index 48c0b139025..ffe09944e00 100644 --- a/website/docs/r/directory_service_log_subscription.html.markdown +++ b/website/docs/r/directory_service_log_subscription.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Directory Service" layout: "aws" page_title: "AWS: aws_directory_service_log_subscription" description: |- diff --git a/website/docs/r/dlm_lifecycle_policy.markdown b/website/docs/r/dlm_lifecycle_policy.markdown index 8f31013f773..6f883bd8381 100644 --- a/website/docs/r/dlm_lifecycle_policy.markdown +++ b/website/docs/r/dlm_lifecycle_policy.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Data Lifecycle Manager (DLM)" layout: "aws" page_title: "AWS: aws_dlm_lifecycle_policy" description: |- diff --git a/website/docs/r/dms_certificate.html.markdown b/website/docs/r/dms_certificate.html.markdown index f8dd0334b14..9464510c252 100644 --- a/website/docs/r/dms_certificate.html.markdown +++ b/website/docs/r/dms_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Database Migration Service (DMS)" layout: "aws" page_title: "AWS: aws_dms_certificate" description: |- diff --git a/website/docs/r/dms_endpoint.html.markdown b/website/docs/r/dms_endpoint.html.markdown index ac94a940c2d..7dce99cff05 100644 --- a/website/docs/r/dms_endpoint.html.markdown +++ b/website/docs/r/dms_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Database Migration Service (DMS)" layout: "aws" page_title: "AWS: aws_dms_endpoint" description: |- diff --git a/website/docs/r/dms_replication_instance.html.markdown b/website/docs/r/dms_replication_instance.html.markdown index 30e785e8c57..b150aeeb853 100644 --- a/website/docs/r/dms_replication_instance.html.markdown +++ b/website/docs/r/dms_replication_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Database Migration Service (DMS)" layout: "aws" page_title: "AWS: aws_dms_replication_instance" description: |- diff --git a/website/docs/r/dms_replication_subnet_group.html.markdown b/website/docs/r/dms_replication_subnet_group.html.markdown index 86122de71c8..bf8e61a588e 100644 --- a/website/docs/r/dms_replication_subnet_group.html.markdown +++ b/website/docs/r/dms_replication_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Database Migration Service (DMS)" layout: "aws" page_title: "AWS: aws_dms_replication_subnet_group" description: |- diff --git a/website/docs/r/dms_replication_task.html.markdown b/website/docs/r/dms_replication_task.html.markdown index 1e69c28a739..e7996ad10d7 100644 --- a/website/docs/r/dms_replication_task.html.markdown +++ b/website/docs/r/dms_replication_task.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Database Migration Service (DMS)" layout: "aws" page_title: "AWS: aws_dms_replication_task" description: |- diff --git a/website/docs/r/docdb_cluster.html.markdown b/website/docs/r/docdb_cluster.html.markdown index fb72b57ce48..691d191eadc 100644 --- a/website/docs/r/docdb_cluster.html.markdown +++ b/website/docs/r/docdb_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DocumentDB" layout: "aws" page_title: "AWS: aws_docdb" description: |- diff --git a/website/docs/r/docdb_cluster_instance.html.markdown b/website/docs/r/docdb_cluster_instance.html.markdown index a6abdcf0c43..bcc9f33947e 100644 --- a/website/docs/r/docdb_cluster_instance.html.markdown +++ b/website/docs/r/docdb_cluster_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DocumentDB" layout: "aws" page_title: "AWS: aws_docdb_cluster_instance" description: |- diff --git a/website/docs/r/docdb_cluster_parameter_group.html.markdown b/website/docs/r/docdb_cluster_parameter_group.html.markdown index ae4227aaabb..eb5721457b3 100644 --- a/website/docs/r/docdb_cluster_parameter_group.html.markdown +++ b/website/docs/r/docdb_cluster_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DocumentDB" layout: "aws" page_title: "AWS: aws_docdb_cluster_parameter_group" description: |- diff --git a/website/docs/r/docdb_cluster_snapshot.html.markdown b/website/docs/r/docdb_cluster_snapshot.html.markdown index 6262612a8f1..98c9e7321e7 100644 --- a/website/docs/r/docdb_cluster_snapshot.html.markdown +++ b/website/docs/r/docdb_cluster_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DocumentDB" layout: "aws" page_title: "AWS: aws_docdb_cluster_snapshot" description: |- diff --git a/website/docs/r/docdb_subnet_group.html.markdown b/website/docs/r/docdb_subnet_group.html.markdown index b412a2d36bb..aa06e75df3a 100644 --- a/website/docs/r/docdb_subnet_group.html.markdown +++ b/website/docs/r/docdb_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DocumentDB" layout: "aws" page_title: "AWS: aws_docdb_subnet_group" description: |- diff --git a/website/docs/r/dx_bgp_peer.html.markdown b/website/docs/r/dx_bgp_peer.html.markdown index 9b2b73ebef7..a753992a3c6 100644 --- a/website/docs/r/dx_bgp_peer.html.markdown +++ b/website/docs/r/dx_bgp_peer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_bgp_peer" description: |- diff --git a/website/docs/r/dx_connection.html.markdown b/website/docs/r/dx_connection.html.markdown index e965ba57a08..b61edfdf0a6 100644 --- a/website/docs/r/dx_connection.html.markdown +++ b/website/docs/r/dx_connection.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_connection" description: |- diff --git a/website/docs/r/dx_connection_association.html.markdown b/website/docs/r/dx_connection_association.html.markdown index c351a778eb0..98963461576 100644 --- a/website/docs/r/dx_connection_association.html.markdown +++ b/website/docs/r/dx_connection_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_connection_association" description: |- diff --git a/website/docs/r/dx_gateway.html.markdown b/website/docs/r/dx_gateway.html.markdown index 97572d235a8..4d0b6c26895 100644 --- a/website/docs/r/dx_gateway.html.markdown +++ b/website/docs/r/dx_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_gateway" description: |- diff --git a/website/docs/r/dx_gateway_association.html.markdown b/website/docs/r/dx_gateway_association.html.markdown index 679f2114487..4403b5b4f87 100644 --- a/website/docs/r/dx_gateway_association.html.markdown +++ b/website/docs/r/dx_gateway_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_gateway_association" description: |- diff --git a/website/docs/r/dx_gateway_association_proposal.html.markdown b/website/docs/r/dx_gateway_association_proposal.html.markdown index 92334a1a1ef..630ab642302 100644 --- a/website/docs/r/dx_gateway_association_proposal.html.markdown +++ b/website/docs/r/dx_gateway_association_proposal.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_gateway_association_proposal" description: |- diff --git a/website/docs/r/dx_hosted_private_virtual_interface.html.markdown b/website/docs/r/dx_hosted_private_virtual_interface.html.markdown index a10535b53da..0bf85b94449 100644 --- a/website/docs/r/dx_hosted_private_virtual_interface.html.markdown +++ b/website/docs/r/dx_hosted_private_virtual_interface.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_hosted_private_virtual_interface" description: |- diff --git a/website/docs/r/dx_hosted_private_virtual_interface_accepter.html.markdown b/website/docs/r/dx_hosted_private_virtual_interface_accepter.html.markdown index 1208c6f4b7e..2ecd6011f71 100644 --- a/website/docs/r/dx_hosted_private_virtual_interface_accepter.html.markdown +++ b/website/docs/r/dx_hosted_private_virtual_interface_accepter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_hosted_private_virtual_interface_accepter" description: |- diff --git a/website/docs/r/dx_hosted_public_virtual_interface.html.markdown b/website/docs/r/dx_hosted_public_virtual_interface.html.markdown index ad953b46d23..f7c7a318165 100644 --- a/website/docs/r/dx_hosted_public_virtual_interface.html.markdown +++ b/website/docs/r/dx_hosted_public_virtual_interface.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_hosted_public_virtual_interface" description: |- diff --git a/website/docs/r/dx_hosted_public_virtual_interface_accepter.html.markdown b/website/docs/r/dx_hosted_public_virtual_interface_accepter.html.markdown index b91311b8aad..cb9b7a42097 100644 --- a/website/docs/r/dx_hosted_public_virtual_interface_accepter.html.markdown +++ b/website/docs/r/dx_hosted_public_virtual_interface_accepter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_hosted_public_virtual_interface_accepter" description: |- diff --git a/website/docs/r/dx_lag.html.markdown b/website/docs/r/dx_lag.html.markdown index 64784fa29d5..5b9546f1e0f 100644 --- a/website/docs/r/dx_lag.html.markdown +++ b/website/docs/r/dx_lag.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_lag" description: |- diff --git a/website/docs/r/dx_private_virtual_interface.html.markdown b/website/docs/r/dx_private_virtual_interface.html.markdown index d60f4ac3042..44f21986bcc 100644 --- a/website/docs/r/dx_private_virtual_interface.html.markdown +++ b/website/docs/r/dx_private_virtual_interface.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_private_virtual_interface" description: |- diff --git a/website/docs/r/dx_public_virtual_interface.html.markdown b/website/docs/r/dx_public_virtual_interface.html.markdown index 8178f57e696..54695054aa1 100644 --- a/website/docs/r/dx_public_virtual_interface.html.markdown +++ b/website/docs/r/dx_public_virtual_interface.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_public_virtual_interface" description: |- diff --git a/website/docs/r/dx_transit_virtual_interface.html.markdown b/website/docs/r/dx_transit_virtual_interface.html.markdown index b6c061382d5..52dd76b2784 100644 --- a/website/docs/r/dx_transit_virtual_interface.html.markdown +++ b/website/docs/r/dx_transit_virtual_interface.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Direct Connect" layout: "aws" page_title: "AWS: aws_dx_transit_virtual_interface" description: |- diff --git a/website/docs/r/dynamodb_global_table.html.markdown b/website/docs/r/dynamodb_global_table.html.markdown index 61893d31047..b7656493550 100644 --- a/website/docs/r/dynamodb_global_table.html.markdown +++ b/website/docs/r/dynamodb_global_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB" layout: "aws" page_title: "AWS: aws_dynamodb_global_table" description: |- diff --git a/website/docs/r/dynamodb_table.html.markdown b/website/docs/r/dynamodb_table.html.markdown index 8c9b25c9ea1..4744f287462 100644 --- a/website/docs/r/dynamodb_table.html.markdown +++ b/website/docs/r/dynamodb_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB" layout: "aws" page_title: "AWS: aws_dynamodb_table" description: |- diff --git a/website/docs/r/dynamodb_table_item.html.markdown b/website/docs/r/dynamodb_table_item.html.markdown index b8175a59ff8..e2945c8760c 100644 --- a/website/docs/r/dynamodb_table_item.html.markdown +++ b/website/docs/r/dynamodb_table_item.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "DynamoDB" layout: "aws" page_title: "AWS: aws_dynamodb_table_item" description: |- diff --git a/website/docs/r/ebs_default_kms_key.html.markdown b/website/docs/r/ebs_default_kms_key.html.markdown index cb735fe3645..d55f8e06c64 100644 --- a/website/docs/r/ebs_default_kms_key.html.markdown +++ b/website/docs/r/ebs_default_kms_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_default_kms_key" description: |- diff --git a/website/docs/r/ebs_encryption_by_default.html.markdown b/website/docs/r/ebs_encryption_by_default.html.markdown index 9179c60a995..0acbc4554ff 100644 --- a/website/docs/r/ebs_encryption_by_default.html.markdown +++ b/website/docs/r/ebs_encryption_by_default.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_encryption_by_default" description: |- diff --git a/website/docs/r/ebs_snapshot.html.markdown b/website/docs/r/ebs_snapshot.html.markdown index b236c677750..5ede76db935 100644 --- a/website/docs/r/ebs_snapshot.html.markdown +++ b/website/docs/r/ebs_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_snapshot" description: |- diff --git a/website/docs/r/ebs_snapshot_copy.html.markdown b/website/docs/r/ebs_snapshot_copy.html.markdown index ab52fadee6d..b623f2bdb91 100644 --- a/website/docs/r/ebs_snapshot_copy.html.markdown +++ b/website/docs/r/ebs_snapshot_copy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_snapshot_copy" description: |- diff --git a/website/docs/r/ebs_volume.html.markdown b/website/docs/r/ebs_volume.html.markdown index 95c3259f199..7a8fe278cbd 100644 --- a/website/docs/r/ebs_volume.html.markdown +++ b/website/docs/r/ebs_volume.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ebs_volume" description: |- diff --git a/website/docs/r/ec2_capacity_reservation.markdown b/website/docs/r/ec2_capacity_reservation.markdown index eaed7386326..99b575508f9 100644 --- a/website/docs/r/ec2_capacity_reservation.markdown +++ b/website/docs/r/ec2_capacity_reservation.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_capacity_reservation" description: |- diff --git a/website/docs/r/ec2_client_vpn_endpoint.html.markdown b/website/docs/r/ec2_client_vpn_endpoint.html.markdown index f4e47292966..2c2b714dd00 100644 --- a/website/docs/r/ec2_client_vpn_endpoint.html.markdown +++ b/website/docs/r/ec2_client_vpn_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_client_vpn_endpoint" description: |- diff --git a/website/docs/r/ec2_client_vpn_network_association.html.markdown b/website/docs/r/ec2_client_vpn_network_association.html.markdown index e84df5609e7..a258eade643 100644 --- a/website/docs/r/ec2_client_vpn_network_association.html.markdown +++ b/website/docs/r/ec2_client_vpn_network_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_client_vpn_network_association" description: |- diff --git a/website/docs/r/ec2_fleet.html.markdown b/website/docs/r/ec2_fleet.html.markdown index 098a1dc90c4..f1a59f885f2 100644 --- a/website/docs/r/ec2_fleet.html.markdown +++ b/website/docs/r/ec2_fleet.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_fleet" description: |- diff --git a/website/docs/r/ec2_transit_gateway.html.markdown b/website/docs/r/ec2_transit_gateway.html.markdown index 342ed7a179d..63137de530e 100644 --- a/website/docs/r/ec2_transit_gateway.html.markdown +++ b/website/docs/r/ec2_transit_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway" description: |- diff --git a/website/docs/r/ec2_transit_gateway_route.html.markdown b/website/docs/r/ec2_transit_gateway_route.html.markdown index 0dcc14cb91f..49309eb8c6f 100644 --- a/website/docs/r/ec2_transit_gateway_route.html.markdown +++ b/website/docs/r/ec2_transit_gateway_route.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_route" description: |- diff --git a/website/docs/r/ec2_transit_gateway_route_table.html.markdown b/website/docs/r/ec2_transit_gateway_route_table.html.markdown index 95414c2dd9a..b6930be5ad7 100644 --- a/website/docs/r/ec2_transit_gateway_route_table.html.markdown +++ b/website/docs/r/ec2_transit_gateway_route_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_route_table" description: |- diff --git a/website/docs/r/ec2_transit_gateway_route_table_association.html.markdown b/website/docs/r/ec2_transit_gateway_route_table_association.html.markdown index 0f369d90486..df43bbea233 100644 --- a/website/docs/r/ec2_transit_gateway_route_table_association.html.markdown +++ b/website/docs/r/ec2_transit_gateway_route_table_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_route_table_association_table_association" description: |- diff --git a/website/docs/r/ec2_transit_gateway_route_table_propagation.html.markdown b/website/docs/r/ec2_transit_gateway_route_table_propagation.html.markdown index bb319e278e3..761b9be5533 100644 --- a/website/docs/r/ec2_transit_gateway_route_table_propagation.html.markdown +++ b/website/docs/r/ec2_transit_gateway_route_table_propagation.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_route_table_propagation_table_propagation" description: |- diff --git a/website/docs/r/ec2_transit_gateway_vpc_attachment.html.markdown b/website/docs/r/ec2_transit_gateway_vpc_attachment.html.markdown index ef766da1738..4b4ac866aaa 100644 --- a/website/docs/r/ec2_transit_gateway_vpc_attachment.html.markdown +++ b/website/docs/r/ec2_transit_gateway_vpc_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment" description: |- diff --git a/website/docs/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown b/website/docs/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown index 9448121ade8..a601395e1ac 100644 --- a/website/docs/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown +++ b/website/docs/r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_ec2_transit_gateway_vpc_attachment_accepter" description: |- diff --git a/website/docs/r/ecr_lifecycle_policy.html.markdown b/website/docs/r/ecr_lifecycle_policy.html.markdown index 53b4a37064c..f760442d9c5 100644 --- a/website/docs/r/ecr_lifecycle_policy.html.markdown +++ b/website/docs/r/ecr_lifecycle_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECR" layout: "aws" page_title: "AWS: aws_ecr_lifecycle_policy" description: |- diff --git a/website/docs/r/ecr_repository.html.markdown b/website/docs/r/ecr_repository.html.markdown index 47a6927ff94..ef5add30ee0 100644 --- a/website/docs/r/ecr_repository.html.markdown +++ b/website/docs/r/ecr_repository.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECR" layout: "aws" page_title: "AWS: aws_ecr_repository" description: |- diff --git a/website/docs/r/ecr_repository_policy.html.markdown b/website/docs/r/ecr_repository_policy.html.markdown index a0a2f4bfd83..523df7e0152 100644 --- a/website/docs/r/ecr_repository_policy.html.markdown +++ b/website/docs/r/ecr_repository_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECR" layout: "aws" page_title: "AWS: aws_ecr_repository_policy" description: |- diff --git a/website/docs/r/ecs_cluster.html.markdown b/website/docs/r/ecs_cluster.html.markdown index b902df2b48e..2ec64f66e28 100644 --- a/website/docs/r/ecs_cluster.html.markdown +++ b/website/docs/r/ecs_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_cluster" description: |- diff --git a/website/docs/r/ecs_service.html.markdown b/website/docs/r/ecs_service.html.markdown index 650cad4b3e8..e28cfb156cd 100644 --- a/website/docs/r/ecs_service.html.markdown +++ b/website/docs/r/ecs_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_service" description: |- diff --git a/website/docs/r/ecs_task_definition.html.markdown b/website/docs/r/ecs_task_definition.html.markdown index d2a21ec397e..c8abc03f349 100644 --- a/website/docs/r/ecs_task_definition.html.markdown +++ b/website/docs/r/ecs_task_definition.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ECS" layout: "aws" page_title: "AWS: aws_ecs_task_definition" description: |- diff --git a/website/docs/r/efs_file_system.html.markdown b/website/docs/r/efs_file_system.html.markdown index 8c590946b51..9fbc9428c11 100644 --- a/website/docs/r/efs_file_system.html.markdown +++ b/website/docs/r/efs_file_system.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EFS" layout: "aws" page_title: "AWS: aws_efs_file_system" description: |- diff --git a/website/docs/r/efs_mount_target.html.markdown b/website/docs/r/efs_mount_target.html.markdown index 7077d52191f..5e998635b94 100644 --- a/website/docs/r/efs_mount_target.html.markdown +++ b/website/docs/r/efs_mount_target.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EFS" layout: "aws" page_title: "AWS: aws_efs_mount_target" description: |- diff --git a/website/docs/r/egress_only_internet_gateway.html.markdown b/website/docs/r/egress_only_internet_gateway.html.markdown index 0ba524b78cf..4d319c5fc41 100644 --- a/website/docs/r/egress_only_internet_gateway.html.markdown +++ b/website/docs/r/egress_only_internet_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_egress_only_internet_gateway" description: |- diff --git a/website/docs/r/eip.html.markdown b/website/docs/r/eip.html.markdown index 2d5ef2d3624..842e78c1508 100644 --- a/website/docs/r/eip.html.markdown +++ b/website/docs/r/eip.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_eip" description: |- diff --git a/website/docs/r/eip_association.html.markdown b/website/docs/r/eip_association.html.markdown index 99f4f114447..7288d91c733 100644 --- a/website/docs/r/eip_association.html.markdown +++ b/website/docs/r/eip_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_eip_association" description: |- diff --git a/website/docs/r/eks_cluster.html.markdown b/website/docs/r/eks_cluster.html.markdown index 5989461ba92..1b90000d72c 100644 --- a/website/docs/r/eks_cluster.html.markdown +++ b/website/docs/r/eks_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EKS" layout: "aws" page_title: "AWS: aws_eks_cluster" description: |- diff --git a/website/docs/r/elastic_beanstalk_application.html.markdown b/website/docs/r/elastic_beanstalk_application.html.markdown index a849abf76a3..ac0390b4e86 100644 --- a/website/docs/r/elastic_beanstalk_application.html.markdown +++ b/website/docs/r/elastic_beanstalk_application.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_application" description: |- diff --git a/website/docs/r/elastic_beanstalk_application_version.html.markdown b/website/docs/r/elastic_beanstalk_application_version.html.markdown index 6b8905ab838..18b5a555848 100644 --- a/website/docs/r/elastic_beanstalk_application_version.html.markdown +++ b/website/docs/r/elastic_beanstalk_application_version.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_application_version" description: |- diff --git a/website/docs/r/elastic_beanstalk_configuration_template.html.markdown b/website/docs/r/elastic_beanstalk_configuration_template.html.markdown index 829ddbec867..adb28f99a1a 100644 --- a/website/docs/r/elastic_beanstalk_configuration_template.html.markdown +++ b/website/docs/r/elastic_beanstalk_configuration_template.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_configuration_template" description: |- diff --git a/website/docs/r/elastic_beanstalk_environment.html.markdown b/website/docs/r/elastic_beanstalk_environment.html.markdown index efcac9c3b6d..319b8c00b60 100644 --- a/website/docs/r/elastic_beanstalk_environment.html.markdown +++ b/website/docs/r/elastic_beanstalk_environment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Beanstalk" layout: "aws" page_title: "AWS: aws_elastic_beanstalk_environment" description: |- diff --git a/website/docs/r/elastic_transcoder_pipeline.html.markdown b/website/docs/r/elastic_transcoder_pipeline.html.markdown index 0b52518e09d..4dc876bc236 100644 --- a/website/docs/r/elastic_transcoder_pipeline.html.markdown +++ b/website/docs/r/elastic_transcoder_pipeline.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Transcoder" layout: "aws" page_title: "AWS: aws_elastictranscoder_pipeline" description: |- diff --git a/website/docs/r/elastic_transcoder_preset.html.markdown b/website/docs/r/elastic_transcoder_preset.html.markdown index 95106701ed8..d5e3592982c 100644 --- a/website/docs/r/elastic_transcoder_preset.html.markdown +++ b/website/docs/r/elastic_transcoder_preset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Transcoder" layout: "aws" page_title: "AWS: aws_elastictranscoder_preset" description: |- diff --git a/website/docs/r/elasticache_cluster.html.markdown b/website/docs/r/elasticache_cluster.html.markdown index d87b28382ba..567df70c404 100644 --- a/website/docs/r/elasticache_cluster.html.markdown +++ b/website/docs/r/elasticache_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_cluster" description: |- diff --git a/website/docs/r/elasticache_parameter_group.html.markdown b/website/docs/r/elasticache_parameter_group.html.markdown index b736db9b306..f72e1db235d 100644 --- a/website/docs/r/elasticache_parameter_group.html.markdown +++ b/website/docs/r/elasticache_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_parameter_group" description: |- diff --git a/website/docs/r/elasticache_replication_group.html.markdown b/website/docs/r/elasticache_replication_group.html.markdown index dc90ba6fdc6..5c68fec84b7 100644 --- a/website/docs/r/elasticache_replication_group.html.markdown +++ b/website/docs/r/elasticache_replication_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_replication_group" description: |- diff --git a/website/docs/r/elasticache_security_group.html.markdown b/website/docs/r/elasticache_security_group.html.markdown index caaa517dd66..8090a489e8e 100644 --- a/website/docs/r/elasticache_security_group.html.markdown +++ b/website/docs/r/elasticache_security_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_security_group" description: |- diff --git a/website/docs/r/elasticache_subnet_group.html.markdown b/website/docs/r/elasticache_subnet_group.html.markdown index 24a28062286..3400976c718 100644 --- a/website/docs/r/elasticache_subnet_group.html.markdown +++ b/website/docs/r/elasticache_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElastiCache" layout: "aws" page_title: "AWS: aws_elasticache_subnet_group" description: |- diff --git a/website/docs/r/elasticsearch_domain.html.markdown b/website/docs/r/elasticsearch_domain.html.markdown index 2b054de2a59..05ae622290f 100644 --- a/website/docs/r/elasticsearch_domain.html.markdown +++ b/website/docs/r/elasticsearch_domain.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElasticSearch" layout: "aws" page_title: "AWS: aws_elasticsearch_domain" description: |- diff --git a/website/docs/r/elasticsearch_domain_policy.html.markdown b/website/docs/r/elasticsearch_domain_policy.html.markdown index ab2a3e54391..6036908b7c8 100644 --- a/website/docs/r/elasticsearch_domain_policy.html.markdown +++ b/website/docs/r/elasticsearch_domain_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "ElasticSearch" layout: "aws" page_title: "AWS: aws_elasticsearch_domain" description: |- diff --git a/website/docs/r/elb.html.markdown b/website/docs/r/elb.html.markdown index 00cb3819a34..42f6e71246b 100644 --- a/website/docs/r/elb.html.markdown +++ b/website/docs/r/elb.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_elb" description: |- diff --git a/website/docs/r/elb_attachment.html.markdown b/website/docs/r/elb_attachment.html.markdown index 583c86e11e8..dca03a3a20f 100644 --- a/website/docs/r/elb_attachment.html.markdown +++ b/website/docs/r/elb_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_elb_attachment" description: |- diff --git a/website/docs/r/emr_cluster.html.markdown b/website/docs/r/emr_cluster.html.markdown index 27388ea8d6f..130d73f913d 100644 --- a/website/docs/r/emr_cluster.html.markdown +++ b/website/docs/r/emr_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Map Reduce (EMR)" layout: "aws" page_title: "AWS: aws_emr_cluster" description: |- diff --git a/website/docs/r/emr_instance_group.html.markdown b/website/docs/r/emr_instance_group.html.markdown index 27ba6f362cb..949343b066e 100644 --- a/website/docs/r/emr_instance_group.html.markdown +++ b/website/docs/r/emr_instance_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Map Reduce (EMR)" layout: "aws" page_title: "AWS: aws_emr_instance_group" description: |- diff --git a/website/docs/r/emr_security_configuration.html.markdown b/website/docs/r/emr_security_configuration.html.markdown index 42075b80d50..07796e7d57d 100644 --- a/website/docs/r/emr_security_configuration.html.markdown +++ b/website/docs/r/emr_security_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Map Reduce (EMR)" layout: "aws" page_title: "AWS: aws_emr_security_configuration" description: |- diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index 65384823651..1fbbb848877 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_flow_log" description: |- diff --git a/website/docs/r/fms_admin_account.html.markdown b/website/docs/r/fms_admin_account.html.markdown index 7ea44d6fae1..72040ddf8b7 100644 --- a/website/docs/r/fms_admin_account.html.markdown +++ b/website/docs/r/fms_admin_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Firewall Manager (FMS)" layout: "aws" page_title: "AWS: aws_fms_admin_account" description: |- diff --git a/website/docs/r/fsx_lustre_file_system.html.markdown b/website/docs/r/fsx_lustre_file_system.html.markdown index 456c99443e9..d3944ca2c2c 100644 --- a/website/docs/r/fsx_lustre_file_system.html.markdown +++ b/website/docs/r/fsx_lustre_file_system.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "File System (FSx)" layout: "aws" page_title: "AWS: aws_fsx_lustre_file_system" description: |- diff --git a/website/docs/r/fsx_windows_file_system.html.markdown b/website/docs/r/fsx_windows_file_system.html.markdown index 76931d35345..4f2c17f1497 100644 --- a/website/docs/r/fsx_windows_file_system.html.markdown +++ b/website/docs/r/fsx_windows_file_system.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "File System (FSx)" layout: "aws" page_title: "AWS: aws_fsx_windows_file_system" description: |- diff --git a/website/docs/r/gamelift_alias.html.markdown b/website/docs/r/gamelift_alias.html.markdown index 22c527f32b5..f14d1951340 100644 --- a/website/docs/r/gamelift_alias.html.markdown +++ b/website/docs/r/gamelift_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Gamelift" layout: "aws" page_title: "AWS: aws_gamelift_alias" description: |- diff --git a/website/docs/r/gamelift_build.html.markdown b/website/docs/r/gamelift_build.html.markdown index c6d2c4948e5..6c6dabafbaf 100644 --- a/website/docs/r/gamelift_build.html.markdown +++ b/website/docs/r/gamelift_build.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Gamelift" layout: "aws" page_title: "AWS: aws_gamelift_build" description: |- diff --git a/website/docs/r/gamelift_fleet.html.markdown b/website/docs/r/gamelift_fleet.html.markdown index f5c13031ac4..4b27d969f14 100644 --- a/website/docs/r/gamelift_fleet.html.markdown +++ b/website/docs/r/gamelift_fleet.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Gamelift" layout: "aws" page_title: "AWS: aws_gamelift_fleet" description: |- diff --git a/website/docs/r/gamelift_game_session_queue.html.markdown b/website/docs/r/gamelift_game_session_queue.html.markdown index 0bde7677e4b..bbdcdc4b357 100644 --- a/website/docs/r/gamelift_game_session_queue.html.markdown +++ b/website/docs/r/gamelift_game_session_queue.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Gamelift" layout: "aws" page_title: "AWS: aws_gamelift_game_session_queue" description: |- diff --git a/website/docs/r/glacier_vault.html.markdown b/website/docs/r/glacier_vault.html.markdown index 8daf80040de..2889bf33340 100644 --- a/website/docs/r/glacier_vault.html.markdown +++ b/website/docs/r/glacier_vault.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glacier" layout: "aws" page_title: "AWS: aws_glacier_vault" description: |- diff --git a/website/docs/r/glacier_vault_lock.html.markdown b/website/docs/r/glacier_vault_lock.html.markdown index adce14277db..a597380a6f1 100644 --- a/website/docs/r/glacier_vault_lock.html.markdown +++ b/website/docs/r/glacier_vault_lock.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glacier" layout: "aws" page_title: "AWS: aws_glacier_vault_lock" description: |- diff --git a/website/docs/r/globalaccelerator_accelerator.markdown b/website/docs/r/globalaccelerator_accelerator.markdown index 08173a2e9bf..47764c09002 100644 --- a/website/docs/r/globalaccelerator_accelerator.markdown +++ b/website/docs/r/globalaccelerator_accelerator.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Global Accelerator" layout: "aws" page_title: "AWS: aws_globalaccelerator_accelerator" description: |- diff --git a/website/docs/r/globalaccelerator_endpoint_group.html.markdown b/website/docs/r/globalaccelerator_endpoint_group.html.markdown index f5bfb41066f..2d21244c5a4 100644 --- a/website/docs/r/globalaccelerator_endpoint_group.html.markdown +++ b/website/docs/r/globalaccelerator_endpoint_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Global Accelerator" layout: "aws" page_title: "AWS: aws_globalaccelerator_endpoint_group" description: |- diff --git a/website/docs/r/globalaccelerator_listener.markdown b/website/docs/r/globalaccelerator_listener.markdown index cdb6b23a98b..87ade3747cc 100644 --- a/website/docs/r/globalaccelerator_listener.markdown +++ b/website/docs/r/globalaccelerator_listener.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Global Accelerator" layout: "aws" page_title: "AWS: aws_globalaccelerator_listener" description: |- diff --git a/website/docs/r/glue_catalog_database.html.markdown b/website/docs/r/glue_catalog_database.html.markdown index 5f4c2686165..17a5634f368 100644 --- a/website/docs/r/glue_catalog_database.html.markdown +++ b/website/docs/r/glue_catalog_database.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_catalog_database" description: |- diff --git a/website/docs/r/glue_catalog_table.html.markdown b/website/docs/r/glue_catalog_table.html.markdown index 6793c3884c3..089c9bc76b6 100644 --- a/website/docs/r/glue_catalog_table.html.markdown +++ b/website/docs/r/glue_catalog_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_catalog_table" description: |- diff --git a/website/docs/r/glue_classifier.html.markdown b/website/docs/r/glue_classifier.html.markdown index f4321029ab6..fbe0dd9b776 100644 --- a/website/docs/r/glue_classifier.html.markdown +++ b/website/docs/r/glue_classifier.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_classifier" description: |- diff --git a/website/docs/r/glue_connection.html.markdown b/website/docs/r/glue_connection.html.markdown index 7e7069fadce..cc215a2f059 100644 --- a/website/docs/r/glue_connection.html.markdown +++ b/website/docs/r/glue_connection.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_connection" description: |- diff --git a/website/docs/r/glue_crawler.html.markdown b/website/docs/r/glue_crawler.html.markdown index 82096b10f45..0500062cd34 100644 --- a/website/docs/r/glue_crawler.html.markdown +++ b/website/docs/r/glue_crawler.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_crawler" description: |- diff --git a/website/docs/r/glue_job.html.markdown b/website/docs/r/glue_job.html.markdown index 43b1a8a96c4..f6101df6f99 100644 --- a/website/docs/r/glue_job.html.markdown +++ b/website/docs/r/glue_job.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_job" description: |- diff --git a/website/docs/r/glue_security_configuration.html.markdown b/website/docs/r/glue_security_configuration.html.markdown index a5aa7a1cc7a..2a45a3af741 100644 --- a/website/docs/r/glue_security_configuration.html.markdown +++ b/website/docs/r/glue_security_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_security_configuration" description: |- diff --git a/website/docs/r/glue_trigger.html.markdown b/website/docs/r/glue_trigger.html.markdown index e108169b273..0443c940115 100644 --- a/website/docs/r/glue_trigger.html.markdown +++ b/website/docs/r/glue_trigger.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Glue" layout: "aws" page_title: "AWS: aws_glue_trigger" description: |- diff --git a/website/docs/r/guardduty_detector.html.markdown b/website/docs/r/guardduty_detector.html.markdown index 50e26da79a6..695a8d9f75e 100644 --- a/website/docs/r/guardduty_detector.html.markdown +++ b/website/docs/r/guardduty_detector.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "GuardDuty" layout: "aws" page_title: "AWS: aws_guardduty_detector" description: |- diff --git a/website/docs/r/guardduty_invite_accepter.html.markdown b/website/docs/r/guardduty_invite_accepter.html.markdown index 325622acd02..9feb66cd039 100644 --- a/website/docs/r/guardduty_invite_accepter.html.markdown +++ b/website/docs/r/guardduty_invite_accepter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "GuardDuty" layout: "aws" page_title: "AWS: aws_guardduty_invite_accepter" description: |- diff --git a/website/docs/r/guardduty_ipset.html.markdown b/website/docs/r/guardduty_ipset.html.markdown index b512136da0b..e86d68b3dd4 100644 --- a/website/docs/r/guardduty_ipset.html.markdown +++ b/website/docs/r/guardduty_ipset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "GuardDuty" layout: aws page_title: 'AWS: aws_guardduty_ipset' description: Provides a resource to manage a GuardDuty IPSet diff --git a/website/docs/r/guardduty_member.html.markdown b/website/docs/r/guardduty_member.html.markdown index fa2ca7a06f3..ec025603744 100644 --- a/website/docs/r/guardduty_member.html.markdown +++ b/website/docs/r/guardduty_member.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "GuardDuty" layout: "aws" page_title: "AWS: aws_guardduty_member" description: |- diff --git a/website/docs/r/guardduty_threatintelset.html.markdown b/website/docs/r/guardduty_threatintelset.html.markdown index e086e0c8835..398c0419213 100644 --- a/website/docs/r/guardduty_threatintelset.html.markdown +++ b/website/docs/r/guardduty_threatintelset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "GuardDuty" layout: aws page_title: 'AWS: aws_guardduty_threatintelset' description: Provides a resource to manage a GuardDuty ThreatIntelSet diff --git a/website/docs/r/iam_access_key.html.markdown b/website/docs/r/iam_access_key.html.markdown index 226fbdee94a..7aff4fefc26 100644 --- a/website/docs/r/iam_access_key.html.markdown +++ b/website/docs/r/iam_access_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_access_key" description: |- diff --git a/website/docs/r/iam_account_alias.html.markdown b/website/docs/r/iam_account_alias.html.markdown index 401f05f0a4c..4bf6c0c5f18 100644 --- a/website/docs/r/iam_account_alias.html.markdown +++ b/website/docs/r/iam_account_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_account_alias" description: |- diff --git a/website/docs/r/iam_account_password_policy.html.markdown b/website/docs/r/iam_account_password_policy.html.markdown index c3eba342c19..583f9a5a77b 100644 --- a/website/docs/r/iam_account_password_policy.html.markdown +++ b/website/docs/r/iam_account_password_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_account_password_policy" description: |- diff --git a/website/docs/r/iam_group.html.markdown b/website/docs/r/iam_group.html.markdown index 539547cc867..d6e723d091a 100644 --- a/website/docs/r/iam_group.html.markdown +++ b/website/docs/r/iam_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_group" description: |- diff --git a/website/docs/r/iam_group_membership.html.markdown b/website/docs/r/iam_group_membership.html.markdown index 32701398ca8..f5fb0a9779a 100644 --- a/website/docs/r/iam_group_membership.html.markdown +++ b/website/docs/r/iam_group_membership.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_group_membership" description: |- diff --git a/website/docs/r/iam_group_policy.html.markdown b/website/docs/r/iam_group_policy.html.markdown index b9f2560392e..691dcfade77 100644 --- a/website/docs/r/iam_group_policy.html.markdown +++ b/website/docs/r/iam_group_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_group_policy" description: |- diff --git a/website/docs/r/iam_group_policy_attachment.markdown b/website/docs/r/iam_group_policy_attachment.markdown index d5ce9d750dc..ee762850d99 100644 --- a/website/docs/r/iam_group_policy_attachment.markdown +++ b/website/docs/r/iam_group_policy_attachment.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_group_policy_attachment" description: |- diff --git a/website/docs/r/iam_instance_profile.html.markdown b/website/docs/r/iam_instance_profile.html.markdown index 7eb7269bebe..becaac1e514 100644 --- a/website/docs/r/iam_instance_profile.html.markdown +++ b/website/docs/r/iam_instance_profile.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_instance_profile" description: |- diff --git a/website/docs/r/iam_openid_connect_provider.html.markdown b/website/docs/r/iam_openid_connect_provider.html.markdown index 39a60148b74..b7c80fb766a 100644 --- a/website/docs/r/iam_openid_connect_provider.html.markdown +++ b/website/docs/r/iam_openid_connect_provider.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_openid_connect_provider" description: |- diff --git a/website/docs/r/iam_policy.html.markdown b/website/docs/r/iam_policy.html.markdown index f51ce8489f5..e5c621fceaf 100644 --- a/website/docs/r/iam_policy.html.markdown +++ b/website/docs/r/iam_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_policy" description: |- diff --git a/website/docs/r/iam_policy_attachment.html.markdown b/website/docs/r/iam_policy_attachment.html.markdown index a2faf92c900..be52518f7e7 100644 --- a/website/docs/r/iam_policy_attachment.html.markdown +++ b/website/docs/r/iam_policy_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_policy_attachment" description: |- diff --git a/website/docs/r/iam_role.html.markdown b/website/docs/r/iam_role.html.markdown index 97d6509f30f..d86ed32757b 100644 --- a/website/docs/r/iam_role.html.markdown +++ b/website/docs/r/iam_role.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_role" description: |- diff --git a/website/docs/r/iam_role_policy.html.markdown b/website/docs/r/iam_role_policy.html.markdown index 5383e769beb..339bae74416 100644 --- a/website/docs/r/iam_role_policy.html.markdown +++ b/website/docs/r/iam_role_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_role_policy" description: |- diff --git a/website/docs/r/iam_role_policy_attachment.markdown b/website/docs/r/iam_role_policy_attachment.markdown index 71a102472c5..fe8173a221d 100644 --- a/website/docs/r/iam_role_policy_attachment.markdown +++ b/website/docs/r/iam_role_policy_attachment.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_role_policy_attachment" description: |- diff --git a/website/docs/r/iam_saml_provider.html.markdown b/website/docs/r/iam_saml_provider.html.markdown index 1fc1ca770b7..472759e6819 100644 --- a/website/docs/r/iam_saml_provider.html.markdown +++ b/website/docs/r/iam_saml_provider.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_saml_provider" description: |- diff --git a/website/docs/r/iam_server_certificate.html.markdown b/website/docs/r/iam_server_certificate.html.markdown index 5a9de3da170..c8a6df41a8e 100644 --- a/website/docs/r/iam_server_certificate.html.markdown +++ b/website/docs/r/iam_server_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_server_certificate" description: |- diff --git a/website/docs/r/iam_service_linked_role.html.markdown b/website/docs/r/iam_service_linked_role.html.markdown index a7522218a61..b83ea17a36c 100644 --- a/website/docs/r/iam_service_linked_role.html.markdown +++ b/website/docs/r/iam_service_linked_role.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_service_linked_role" description: |- diff --git a/website/docs/r/iam_user.html.markdown b/website/docs/r/iam_user.html.markdown index d701d24ba14..ad68e497aee 100644 --- a/website/docs/r/iam_user.html.markdown +++ b/website/docs/r/iam_user.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user" description: |- diff --git a/website/docs/r/iam_user_group_membership.html.markdown b/website/docs/r/iam_user_group_membership.html.markdown index 7c95dba531a..43634f38128 100644 --- a/website/docs/r/iam_user_group_membership.html.markdown +++ b/website/docs/r/iam_user_group_membership.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user_group_membership" description: |- diff --git a/website/docs/r/iam_user_login_profile.html.markdown b/website/docs/r/iam_user_login_profile.html.markdown index 9d9bc49c836..28c286d11c0 100644 --- a/website/docs/r/iam_user_login_profile.html.markdown +++ b/website/docs/r/iam_user_login_profile.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user_login_profile" description: |- diff --git a/website/docs/r/iam_user_policy.html.markdown b/website/docs/r/iam_user_policy.html.markdown index 35c70e34ba8..275a9d6cfab 100644 --- a/website/docs/r/iam_user_policy.html.markdown +++ b/website/docs/r/iam_user_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user_policy" description: |- diff --git a/website/docs/r/iam_user_policy_attachment.markdown b/website/docs/r/iam_user_policy_attachment.markdown index 8884d57133a..7806ea1cadb 100644 --- a/website/docs/r/iam_user_policy_attachment.markdown +++ b/website/docs/r/iam_user_policy_attachment.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user_policy_attachment" description: |- diff --git a/website/docs/r/iam_user_ssh_key.html.markdown b/website/docs/r/iam_user_ssh_key.html.markdown index 204ae1b80f0..dd6a5254dab 100644 --- a/website/docs/r/iam_user_ssh_key.html.markdown +++ b/website/docs/r/iam_user_ssh_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IAM" layout: "aws" page_title: "AWS: aws_iam_user_ssh_key" description: |- diff --git a/website/docs/r/inspector_assessment_target.html.markdown b/website/docs/r/inspector_assessment_target.html.markdown index 27aaaf53f8e..3fbcf3cb8e0 100644 --- a/website/docs/r/inspector_assessment_target.html.markdown +++ b/website/docs/r/inspector_assessment_target.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Inspector" layout: "aws" page_title: "AWS: aws_inspector_assessment_target" description: |- diff --git a/website/docs/r/inspector_assessment_template.html.markdown b/website/docs/r/inspector_assessment_template.html.markdown index f7d7f41f194..92657854d9e 100644 --- a/website/docs/r/inspector_assessment_template.html.markdown +++ b/website/docs/r/inspector_assessment_template.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Inspector" layout: "aws" page_title: "AWS: aws_inspector_assessment_template" description: |- diff --git a/website/docs/r/inspector_resource_group.html.markdown b/website/docs/r/inspector_resource_group.html.markdown index 25606f90dcf..caf71c63725 100644 --- a/website/docs/r/inspector_resource_group.html.markdown +++ b/website/docs/r/inspector_resource_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Inspector" layout: "aws" page_title: "AWS: aws_inspector_resource_group" description: |- diff --git a/website/docs/r/instance.html.markdown b/website/docs/r/instance.html.markdown index 686ed7c1ece..10c7035f969 100644 --- a/website/docs/r/instance.html.markdown +++ b/website/docs/r/instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_instance" description: |- diff --git a/website/docs/r/internet_gateway.html.markdown b/website/docs/r/internet_gateway.html.markdown index 1502f6ee25f..a1367b5728e 100644 --- a/website/docs/r/internet_gateway.html.markdown +++ b/website/docs/r/internet_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_internet_gateway" description: |- diff --git a/website/docs/r/iot_certificate.html.markdown b/website/docs/r/iot_certificate.html.markdown index 74a4ddff81b..c2e3c8ce044 100644 --- a/website/docs/r/iot_certificate.html.markdown +++ b/website/docs/r/iot_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_certificate" description: |- diff --git a/website/docs/r/iot_policy.html.markdown b/website/docs/r/iot_policy.html.markdown index 6c3e399f477..c88d0f023de 100644 --- a/website/docs/r/iot_policy.html.markdown +++ b/website/docs/r/iot_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_policy" description: |- diff --git a/website/docs/r/iot_policy_attachment.html.markdown b/website/docs/r/iot_policy_attachment.html.markdown index 66be7b4eafe..725c0b8756b 100644 --- a/website/docs/r/iot_policy_attachment.html.markdown +++ b/website/docs/r/iot_policy_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_policy_attachment" description: |- diff --git a/website/docs/r/iot_role_alias.html.markdown b/website/docs/r/iot_role_alias.html.markdown index 41422a066f0..7e28c76017f 100644 --- a/website/docs/r/iot_role_alias.html.markdown +++ b/website/docs/r/iot_role_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_role_alias" description: |- diff --git a/website/docs/r/iot_thing.html.markdown b/website/docs/r/iot_thing.html.markdown index c0debb4a4f3..5f693d29fc4 100644 --- a/website/docs/r/iot_thing.html.markdown +++ b/website/docs/r/iot_thing.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_thing" description: |- diff --git a/website/docs/r/iot_thing_principal_attachment.html.markdown b/website/docs/r/iot_thing_principal_attachment.html.markdown index e1da1d687b7..c9f85042afc 100644 --- a/website/docs/r/iot_thing_principal_attachment.html.markdown +++ b/website/docs/r/iot_thing_principal_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_thing_principal_attachment" description: |- diff --git a/website/docs/r/iot_thing_type.html.markdown b/website/docs/r/iot_thing_type.html.markdown index d227ece8563..b72e4b770ee 100644 --- a/website/docs/r/iot_thing_type.html.markdown +++ b/website/docs/r/iot_thing_type.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_thing_type" description: |- diff --git a/website/docs/r/iot_topic_rule.html.markdown b/website/docs/r/iot_topic_rule.html.markdown index 6b104567e4d..0fd4f6ae5e7 100644 --- a/website/docs/r/iot_topic_rule.html.markdown +++ b/website/docs/r/iot_topic_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "IoT" layout: "aws" page_title: "AWS: aws_iot_topic_rule" description: |- diff --git a/website/docs/r/key_pair.html.markdown b/website/docs/r/key_pair.html.markdown index 24697dfcb12..eeae23a137c 100644 --- a/website/docs/r/key_pair.html.markdown +++ b/website/docs/r/key_pair.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_key_pair" description: |- diff --git a/website/docs/r/kinesis_analytics_application.html.markdown b/website/docs/r/kinesis_analytics_application.html.markdown index 55bd895a3e2..e00bf9cca82 100644 --- a/website/docs/r/kinesis_analytics_application.html.markdown +++ b/website/docs/r/kinesis_analytics_application.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Kinesis" layout: "aws" page_title: "AWS: aws_kinesis_analytics_application" description: |- diff --git a/website/docs/r/kinesis_firehose_delivery_stream.html.markdown b/website/docs/r/kinesis_firehose_delivery_stream.html.markdown index dfaa9b683bc..1896adb5597 100644 --- a/website/docs/r/kinesis_firehose_delivery_stream.html.markdown +++ b/website/docs/r/kinesis_firehose_delivery_stream.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Kinesis Firehose" layout: "aws" page_title: "AWS: aws_kinesis_firehose_delivery_stream" description: |- diff --git a/website/docs/r/kinesis_stream.html.markdown b/website/docs/r/kinesis_stream.html.markdown index f1b5fc1b514..f59509eeb95 100644 --- a/website/docs/r/kinesis_stream.html.markdown +++ b/website/docs/r/kinesis_stream.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Kinesis" layout: "aws" page_title: "AWS: aws_kinesis_stream" description: |- diff --git a/website/docs/r/kms_alias.html.markdown b/website/docs/r/kms_alias.html.markdown index 4d59001d4aa..c1e82c14f29 100644 --- a/website/docs/r/kms_alias.html.markdown +++ b/website/docs/r/kms_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_alias" description: |- diff --git a/website/docs/r/kms_ciphertext.html.markdown b/website/docs/r/kms_ciphertext.html.markdown index c055f313581..dc3a658e877 100644 --- a/website/docs/r/kms_ciphertext.html.markdown +++ b/website/docs/r/kms_ciphertext.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_ciphertext" description: |- diff --git a/website/docs/r/kms_external_key.html.markdown b/website/docs/r/kms_external_key.html.markdown index d5654e924a3..f49d41fe8a3 100644 --- a/website/docs/r/kms_external_key.html.markdown +++ b/website/docs/r/kms_external_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_external_key" description: |- diff --git a/website/docs/r/kms_grant.html.markdown b/website/docs/r/kms_grant.html.markdown index a45200d0116..dda87ed1cd8 100644 --- a/website/docs/r/kms_grant.html.markdown +++ b/website/docs/r/kms_grant.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_grant" description: |- diff --git a/website/docs/r/kms_key.html.markdown b/website/docs/r/kms_key.html.markdown index 49b1f0e81df..31e0db29c3a 100644 --- a/website/docs/r/kms_key.html.markdown +++ b/website/docs/r/kms_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "KMS" layout: "aws" page_title: "AWS: aws_kms_key" description: |- diff --git a/website/docs/r/lambda_alias.html.markdown b/website/docs/r/lambda_alias.html.markdown index 7f499131c27..fe8d721c958 100644 --- a/website/docs/r/lambda_alias.html.markdown +++ b/website/docs/r/lambda_alias.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_alias" description: |- diff --git a/website/docs/r/lambda_event_source_mapping.html.markdown b/website/docs/r/lambda_event_source_mapping.html.markdown index 0bc63e8c773..ea35b10504a 100644 --- a/website/docs/r/lambda_event_source_mapping.html.markdown +++ b/website/docs/r/lambda_event_source_mapping.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_event_source_mapping" description: |- diff --git a/website/docs/r/lambda_function.html.markdown b/website/docs/r/lambda_function.html.markdown index 8b2bad3634e..8af55a4b374 100644 --- a/website/docs/r/lambda_function.html.markdown +++ b/website/docs/r/lambda_function.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_function" description: |- diff --git a/website/docs/r/lambda_layer_version.html.markdown b/website/docs/r/lambda_layer_version.html.markdown index 58a852952b6..e6840db13af 100644 --- a/website/docs/r/lambda_layer_version.html.markdown +++ b/website/docs/r/lambda_layer_version.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_layer_version" description: |- diff --git a/website/docs/r/lambda_permission.html.markdown b/website/docs/r/lambda_permission.html.markdown index d703b72a2e5..25e93b409d1 100644 --- a/website/docs/r/lambda_permission.html.markdown +++ b/website/docs/r/lambda_permission.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lambda" layout: "aws" page_title: "AWS: aws_lambda_permission" description: |- diff --git a/website/docs/r/launch_configuration.html.markdown b/website/docs/r/launch_configuration.html.markdown index 72897ed7bdd..53910d7d476 100644 --- a/website/docs/r/launch_configuration.html.markdown +++ b/website/docs/r/launch_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_launch_configuration" description: |- diff --git a/website/docs/r/launch_template.html.markdown b/website/docs/r/launch_template.html.markdown index b0fa6d6ec7f..0eec0a77c26 100644 --- a/website/docs/r/launch_template.html.markdown +++ b/website/docs/r/launch_template.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_launch_template" description: |- diff --git a/website/docs/r/lb.html.markdown b/website/docs/r/lb.html.markdown index 282e9c3140a..72920c201a5 100644 --- a/website/docs/r/lb.html.markdown +++ b/website/docs/r/lb.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb" description: |- diff --git a/website/docs/r/lb_cookie_stickiness_policy.html.markdown b/website/docs/r/lb_cookie_stickiness_policy.html.markdown index 8fe9ef120b4..6835464cf3a 100644 --- a/website/docs/r/lb_cookie_stickiness_policy.html.markdown +++ b/website/docs/r/lb_cookie_stickiness_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_lb_cookie_stickiness_policy" description: |- diff --git a/website/docs/r/lb_listener.html.markdown b/website/docs/r/lb_listener.html.markdown index 5ba11e6093c..77c3a7189e6 100644 --- a/website/docs/r/lb_listener.html.markdown +++ b/website/docs/r/lb_listener.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_listener" description: |- diff --git a/website/docs/r/lb_listener_certificate.html.markdown b/website/docs/r/lb_listener_certificate.html.markdown index 620a4ebe70c..7c4df9379be 100644 --- a/website/docs/r/lb_listener_certificate.html.markdown +++ b/website/docs/r/lb_listener_certificate.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_listener_certificate" description: |- diff --git a/website/docs/r/lb_listener_rule.html.markdown b/website/docs/r/lb_listener_rule.html.markdown index b1f60948002..4fb230eec6d 100644 --- a/website/docs/r/lb_listener_rule.html.markdown +++ b/website/docs/r/lb_listener_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_listener_rule" description: |- diff --git a/website/docs/r/lb_ssl_negotiation_policy.html.markdown b/website/docs/r/lb_ssl_negotiation_policy.html.markdown index 1691e200e92..d94521feb73 100644 --- a/website/docs/r/lb_ssl_negotiation_policy.html.markdown +++ b/website/docs/r/lb_ssl_negotiation_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_lb_ssl_negotiation_policy" description: |- diff --git a/website/docs/r/lb_target_group.html.markdown b/website/docs/r/lb_target_group.html.markdown index 73f973d477a..c610e8747ce 100644 --- a/website/docs/r/lb_target_group.html.markdown +++ b/website/docs/r/lb_target_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_target_group" description: |- diff --git a/website/docs/r/lb_target_group_attachment.html.markdown b/website/docs/r/lb_target_group_attachment.html.markdown index 7ca366d0903..0cc231d9e14 100644 --- a/website/docs/r/lb_target_group_attachment.html.markdown +++ b/website/docs/r/lb_target_group_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing v2 (ALB/NLB)" layout: "aws" page_title: "AWS: aws_lb_target_group_attachment" description: |- diff --git a/website/docs/r/licensemanager_association.markdown b/website/docs/r/licensemanager_association.markdown index 97dc61a3062..fdae597d893 100644 --- a/website/docs/r/licensemanager_association.markdown +++ b/website/docs/r/licensemanager_association.markdown @@ -1,4 +1,5 @@ --- +subcategory: "License Manager" layout: "aws" page_title: "AWS: aws_licensemanager_association" description: |- diff --git a/website/docs/r/licensemanager_license_configuration.markdown b/website/docs/r/licensemanager_license_configuration.markdown index 03cf091be14..811dfcaca5a 100644 --- a/website/docs/r/licensemanager_license_configuration.markdown +++ b/website/docs/r/licensemanager_license_configuration.markdown @@ -1,4 +1,5 @@ --- +subcategory: "License Manager" layout: "aws" page_title: "AWS: aws_licensemanager_license_configuration" description: |- diff --git a/website/docs/r/lightsail_domain.html.markdown b/website/docs/r/lightsail_domain.html.markdown index 3c9738ef2c5..1477e2343e2 100644 --- a/website/docs/r/lightsail_domain.html.markdown +++ b/website/docs/r/lightsail_domain.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lightsail" layout: "aws" page_title: "AWS: aws_lightsail_domain" description: |- diff --git a/website/docs/r/lightsail_instance.html.markdown b/website/docs/r/lightsail_instance.html.markdown index ffc6de6bc2f..977c3904cc4 100644 --- a/website/docs/r/lightsail_instance.html.markdown +++ b/website/docs/r/lightsail_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lightsail" layout: "aws" page_title: "AWS: aws_lightsail_instance" description: |- diff --git a/website/docs/r/lightsail_key_pair.html.markdown b/website/docs/r/lightsail_key_pair.html.markdown index 3f26d94b04d..021a74c3e57 100644 --- a/website/docs/r/lightsail_key_pair.html.markdown +++ b/website/docs/r/lightsail_key_pair.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lightsail" layout: "aws" page_title: "AWS: aws_lightsail_key_pair" description: |- diff --git a/website/docs/r/lightsail_static_ip.html.markdown b/website/docs/r/lightsail_static_ip.html.markdown index 3ef083eb47f..879bf8e7511 100644 --- a/website/docs/r/lightsail_static_ip.html.markdown +++ b/website/docs/r/lightsail_static_ip.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lightsail" layout: "aws" page_title: "AWS: aws_lightsail_static_ip" description: |- diff --git a/website/docs/r/lightsail_static_ip_attachment.html.markdown b/website/docs/r/lightsail_static_ip_attachment.html.markdown index ac5d33c56fd..22cc4079aee 100644 --- a/website/docs/r/lightsail_static_ip_attachment.html.markdown +++ b/website/docs/r/lightsail_static_ip_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Lightsail" layout: "aws" page_title: "AWS: aws_lightsail_static_ip_attachment" description: |- diff --git a/website/docs/r/load_balancer_backend_server_policy.html.markdown b/website/docs/r/load_balancer_backend_server_policy.html.markdown index f3220f400d9..06c7f510e30 100644 --- a/website/docs/r/load_balancer_backend_server_policy.html.markdown +++ b/website/docs/r/load_balancer_backend_server_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_load_balancer_backend_server_policy" description: |- diff --git a/website/docs/r/load_balancer_listener_policy.html.markdown b/website/docs/r/load_balancer_listener_policy.html.markdown index 87e374cff5c..0e9d7879868 100644 --- a/website/docs/r/load_balancer_listener_policy.html.markdown +++ b/website/docs/r/load_balancer_listener_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_load_balancer_listener_policy" description: |- diff --git a/website/docs/r/load_balancer_policy.html.markdown b/website/docs/r/load_balancer_policy.html.markdown index 5e22c69afc2..9ed1d7ecd42 100644 --- a/website/docs/r/load_balancer_policy.html.markdown +++ b/website/docs/r/load_balancer_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_load_balancer_policy" description: |- diff --git a/website/docs/r/macie_member_account_association.html.markdown b/website/docs/r/macie_member_account_association.html.markdown index b5017ef2e8a..44e81edd8da 100644 --- a/website/docs/r/macie_member_account_association.html.markdown +++ b/website/docs/r/macie_member_account_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Macie" layout: "aws" page_title: "AWS: aws_macie_member_account_association" description: |- diff --git a/website/docs/r/macie_s3_bucket_association.html.markdown b/website/docs/r/macie_s3_bucket_association.html.markdown index 021de10b720..6fe7d84522b 100644 --- a/website/docs/r/macie_s3_bucket_association.html.markdown +++ b/website/docs/r/macie_s3_bucket_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Macie" layout: "aws" page_title: "AWS: aws_macie_s3_bucket_association" description: |- diff --git a/website/docs/r/main_route_table_assoc.html.markdown b/website/docs/r/main_route_table_assoc.html.markdown index cb6d7467722..f0dbd3a22c9 100644 --- a/website/docs/r/main_route_table_assoc.html.markdown +++ b/website/docs/r/main_route_table_assoc.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_main_route_table_association" description: |- diff --git a/website/docs/r/media_package_channel.html.markdown b/website/docs/r/media_package_channel.html.markdown index 8c0cbf62dde..88ab9eb9da9 100644 --- a/website/docs/r/media_package_channel.html.markdown +++ b/website/docs/r/media_package_channel.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "MediaPackage" layout: "aws" page_title: "AWS: aws_media_package_channel" description: |- diff --git a/website/docs/r/media_store_container.html.markdown b/website/docs/r/media_store_container.html.markdown index cb7cc371ffc..fa6125bd460 100644 --- a/website/docs/r/media_store_container.html.markdown +++ b/website/docs/r/media_store_container.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "MediaStore" layout: "aws" page_title: "AWS: aws_media_store_container" description: |- diff --git a/website/docs/r/media_store_container_policy.html.markdown b/website/docs/r/media_store_container_policy.html.markdown index 9ae926f0351..e4309648727 100644 --- a/website/docs/r/media_store_container_policy.html.markdown +++ b/website/docs/r/media_store_container_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "MediaStore" layout: "aws" page_title: "AWS: aws_media_store_container_policy" description: |- diff --git a/website/docs/r/mq_broker.html.markdown b/website/docs/r/mq_broker.html.markdown index 41610d0013c..8b9f08f5ccd 100644 --- a/website/docs/r/mq_broker.html.markdown +++ b/website/docs/r/mq_broker.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "MQ" layout: "aws" page_title: "AWS: aws_mq_broker" description: |- diff --git a/website/docs/r/mq_configuration.html.markdown b/website/docs/r/mq_configuration.html.markdown index 07545f6bcb6..4ed7a910701 100644 --- a/website/docs/r/mq_configuration.html.markdown +++ b/website/docs/r/mq_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "MQ" layout: "aws" page_title: "AWS: aws_mq_configuration" description: |- diff --git a/website/docs/r/msk_cluster.html.markdown b/website/docs/r/msk_cluster.html.markdown index b76a34e2b9c..1789acdb177 100644 --- a/website/docs/r/msk_cluster.html.markdown +++ b/website/docs/r/msk_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Managed Streaming for Kafka (MSK)" layout: "aws" page_title: "AWS: aws_msk_cluster" description: |- diff --git a/website/docs/r/msk_configuration.html.markdown b/website/docs/r/msk_configuration.html.markdown index 7e02314369b..bd60a362ab6 100644 --- a/website/docs/r/msk_configuration.html.markdown +++ b/website/docs/r/msk_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Managed Streaming for Kafka (MSK)" layout: "aws" page_title: "AWS: aws_msk_configuration" description: |- diff --git a/website/docs/r/nat_gateway.html.markdown b/website/docs/r/nat_gateway.html.markdown index d35efb074b3..9fbdc92acf9 100644 --- a/website/docs/r/nat_gateway.html.markdown +++ b/website/docs/r/nat_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_nat_gateway" description: |- diff --git a/website/docs/r/neptune_cluster.html.markdown b/website/docs/r/neptune_cluster.html.markdown index 2cbfe839636..428cd7583fa 100644 --- a/website/docs/r/neptune_cluster.html.markdown +++ b/website/docs/r/neptune_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_cluster" description: |- diff --git a/website/docs/r/neptune_cluster_instance.html.markdown b/website/docs/r/neptune_cluster_instance.html.markdown index 1530f1c6619..78f69b49b15 100644 --- a/website/docs/r/neptune_cluster_instance.html.markdown +++ b/website/docs/r/neptune_cluster_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_cluster_instance" description: |- diff --git a/website/docs/r/neptune_cluster_parameter_group.html.markdown b/website/docs/r/neptune_cluster_parameter_group.html.markdown index 0c91597f877..2b38935d7fc 100644 --- a/website/docs/r/neptune_cluster_parameter_group.html.markdown +++ b/website/docs/r/neptune_cluster_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_cluster_parameter_group" description: |- diff --git a/website/docs/r/neptune_cluster_snapshot.html.markdown b/website/docs/r/neptune_cluster_snapshot.html.markdown index 6684aa5ca60..9afb87660ad 100644 --- a/website/docs/r/neptune_cluster_snapshot.html.markdown +++ b/website/docs/r/neptune_cluster_snapshot.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_cluster_snapshot" description: |- diff --git a/website/docs/r/neptune_event_subscription.html.markdown b/website/docs/r/neptune_event_subscription.html.markdown index 5fe7138d9e5..2103f5b8370 100644 --- a/website/docs/r/neptune_event_subscription.html.markdown +++ b/website/docs/r/neptune_event_subscription.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_event_subscription" description: |- diff --git a/website/docs/r/neptune_parameter_group.html.markdown b/website/docs/r/neptune_parameter_group.html.markdown index 20c0398623a..0ad96d866cd 100644 --- a/website/docs/r/neptune_parameter_group.html.markdown +++ b/website/docs/r/neptune_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_parameter_group" description: |- diff --git a/website/docs/r/neptune_subnet_group.html.markdown b/website/docs/r/neptune_subnet_group.html.markdown index 665c647bdb4..48dcf5914fa 100644 --- a/website/docs/r/neptune_subnet_group.html.markdown +++ b/website/docs/r/neptune_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Neptune" layout: "aws" page_title: "AWS: aws_neptune_subnet_group" description: |- diff --git a/website/docs/r/network_acl.html.markdown b/website/docs/r/network_acl.html.markdown index 404abe23e8b..8d9c5533bd8 100644 --- a/website/docs/r/network_acl.html.markdown +++ b/website/docs/r/network_acl.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_acl" description: |- diff --git a/website/docs/r/network_acl_rule.html.markdown b/website/docs/r/network_acl_rule.html.markdown index c41d1dec1eb..5d754d2e232 100644 --- a/website/docs/r/network_acl_rule.html.markdown +++ b/website/docs/r/network_acl_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_acl_rule" description: |- diff --git a/website/docs/r/network_interface.markdown b/website/docs/r/network_interface.markdown index 3859b0f1880..e098ef437fb 100644 --- a/website/docs/r/network_interface.markdown +++ b/website/docs/r/network_interface.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_interface" description: |- diff --git a/website/docs/r/network_interface_attachment.html.markdown b/website/docs/r/network_interface_attachment.html.markdown index b9b75e24376..00b988a5a1e 100644 --- a/website/docs/r/network_interface_attachment.html.markdown +++ b/website/docs/r/network_interface_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_interface_attachment" description: |- diff --git a/website/docs/r/network_interface_sg_attachment.html.markdown b/website/docs/r/network_interface_sg_attachment.html.markdown index 638956b03b6..808fcb9de37 100644 --- a/website/docs/r/network_interface_sg_attachment.html.markdown +++ b/website/docs/r/network_interface_sg_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_network_interface_sg_attachment" description: |- diff --git a/website/docs/r/opsworks_application.html.markdown b/website/docs/r/opsworks_application.html.markdown index b34a56fd0ff..9ebb25be397 100644 --- a/website/docs/r/opsworks_application.html.markdown +++ b/website/docs/r/opsworks_application.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_application" description: |- diff --git a/website/docs/r/opsworks_custom_layer.html.markdown b/website/docs/r/opsworks_custom_layer.html.markdown index 36ccaa3fdf2..a9e32136fbf 100644 --- a/website/docs/r/opsworks_custom_layer.html.markdown +++ b/website/docs/r/opsworks_custom_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_custom_layer" description: |- diff --git a/website/docs/r/opsworks_ganglia_layer.html.markdown b/website/docs/r/opsworks_ganglia_layer.html.markdown index 18993675c70..a02652b5bc4 100644 --- a/website/docs/r/opsworks_ganglia_layer.html.markdown +++ b/website/docs/r/opsworks_ganglia_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_ganglia_layer" description: |- diff --git a/website/docs/r/opsworks_haproxy_layer.html.markdown b/website/docs/r/opsworks_haproxy_layer.html.markdown index 4fc150af233..0900165b5d9 100644 --- a/website/docs/r/opsworks_haproxy_layer.html.markdown +++ b/website/docs/r/opsworks_haproxy_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_haproxy_layer" description: |- diff --git a/website/docs/r/opsworks_instance.html.markdown b/website/docs/r/opsworks_instance.html.markdown index 20039beacf0..c7748a722bc 100644 --- a/website/docs/r/opsworks_instance.html.markdown +++ b/website/docs/r/opsworks_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_instance" description: |- diff --git a/website/docs/r/opsworks_java_app_layer.html.markdown b/website/docs/r/opsworks_java_app_layer.html.markdown index 67addbb7241..b2223a3eb0b 100644 --- a/website/docs/r/opsworks_java_app_layer.html.markdown +++ b/website/docs/r/opsworks_java_app_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_java_app_layer" description: |- diff --git a/website/docs/r/opsworks_memcached_layer.html.markdown b/website/docs/r/opsworks_memcached_layer.html.markdown index 50169678537..23b35a2e451 100644 --- a/website/docs/r/opsworks_memcached_layer.html.markdown +++ b/website/docs/r/opsworks_memcached_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_memcached_layer" description: |- diff --git a/website/docs/r/opsworks_mysql_layer.html.markdown b/website/docs/r/opsworks_mysql_layer.html.markdown index cca2dc901e0..3e2a37326ef 100644 --- a/website/docs/r/opsworks_mysql_layer.html.markdown +++ b/website/docs/r/opsworks_mysql_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_mysql_layer" description: |- diff --git a/website/docs/r/opsworks_nodejs_app_layer.html.markdown b/website/docs/r/opsworks_nodejs_app_layer.html.markdown index 90c65a00181..765c4825fa3 100644 --- a/website/docs/r/opsworks_nodejs_app_layer.html.markdown +++ b/website/docs/r/opsworks_nodejs_app_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_nodejs_app_layer" description: |- diff --git a/website/docs/r/opsworks_permission.html.markdown b/website/docs/r/opsworks_permission.html.markdown index c94e4205610..7550add172a 100644 --- a/website/docs/r/opsworks_permission.html.markdown +++ b/website/docs/r/opsworks_permission.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_permission" description: |- diff --git a/website/docs/r/opsworks_php_app_layer.html.markdown b/website/docs/r/opsworks_php_app_layer.html.markdown index 19020c61722..a5803acca89 100644 --- a/website/docs/r/opsworks_php_app_layer.html.markdown +++ b/website/docs/r/opsworks_php_app_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_php_app_layer" description: |- diff --git a/website/docs/r/opsworks_rails_app_layer.html.markdown b/website/docs/r/opsworks_rails_app_layer.html.markdown index f2451935329..27137b76302 100644 --- a/website/docs/r/opsworks_rails_app_layer.html.markdown +++ b/website/docs/r/opsworks_rails_app_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_rails_app_layer" description: |- diff --git a/website/docs/r/opsworks_rds_db_instance.html.markdown b/website/docs/r/opsworks_rds_db_instance.html.markdown index a70eb8e32a7..720b7b4030e 100644 --- a/website/docs/r/opsworks_rds_db_instance.html.markdown +++ b/website/docs/r/opsworks_rds_db_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_rds_db_instance" description: |- diff --git a/website/docs/r/opsworks_stack.html.markdown b/website/docs/r/opsworks_stack.html.markdown index 2c7857c73ec..166eea950bc 100644 --- a/website/docs/r/opsworks_stack.html.markdown +++ b/website/docs/r/opsworks_stack.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_stack" description: |- diff --git a/website/docs/r/opsworks_static_web_layer.html.markdown b/website/docs/r/opsworks_static_web_layer.html.markdown index 7b1d683bbac..7d9401c61d4 100644 --- a/website/docs/r/opsworks_static_web_layer.html.markdown +++ b/website/docs/r/opsworks_static_web_layer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_static_web_layer" description: |- diff --git a/website/docs/r/opsworks_user_profile.html.markdown b/website/docs/r/opsworks_user_profile.html.markdown index 3246d994d3e..3ef6c293d84 100644 --- a/website/docs/r/opsworks_user_profile.html.markdown +++ b/website/docs/r/opsworks_user_profile.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "OpsWorks" layout: "aws" page_title: "AWS: aws_opsworks_user_profile" description: |- diff --git a/website/docs/r/organizations_account.html.markdown b/website/docs/r/organizations_account.html.markdown index 237b212516e..b5aef9137ee 100644 --- a/website/docs/r/organizations_account.html.markdown +++ b/website/docs/r/organizations_account.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Organizations" layout: "aws" page_title: "AWS: aws_organizations_account" description: |- diff --git a/website/docs/r/organizations_organization.html.markdown b/website/docs/r/organizations_organization.html.markdown index d38b2b9594f..91bf2c7de4b 100644 --- a/website/docs/r/organizations_organization.html.markdown +++ b/website/docs/r/organizations_organization.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Organizations" layout: "aws" page_title: "AWS: aws_organizations_organization" description: |- diff --git a/website/docs/r/organizations_organizational_unit.html.markdown b/website/docs/r/organizations_organizational_unit.html.markdown index c25a13b8221..f86caba72b1 100644 --- a/website/docs/r/organizations_organizational_unit.html.markdown +++ b/website/docs/r/organizations_organizational_unit.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Organizations" layout: "aws" page_title: "AWS: aws_organizations_organizational_unit" description: |- diff --git a/website/docs/r/organizations_policy.html.markdown b/website/docs/r/organizations_policy.html.markdown index 917d5792605..df0794925ac 100644 --- a/website/docs/r/organizations_policy.html.markdown +++ b/website/docs/r/organizations_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Organizations" layout: "aws" page_title: "AWS: aws_organizations_policy" description: |- diff --git a/website/docs/r/organizations_policy_attachment.html.markdown b/website/docs/r/organizations_policy_attachment.html.markdown index fe1a91fb568..d274b713b63 100644 --- a/website/docs/r/organizations_policy_attachment.html.markdown +++ b/website/docs/r/organizations_policy_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Organizations" layout: "aws" page_title: "AWS: aws_organizations_policy_attachment" description: |- diff --git a/website/docs/r/pinpoint_adm_channel.markdown b/website/docs/r/pinpoint_adm_channel.markdown index 6b89596bdc6..65d3bb2ed35 100644 --- a/website/docs/r/pinpoint_adm_channel.markdown +++ b/website/docs/r/pinpoint_adm_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_adm_channel" description: |- diff --git a/website/docs/r/pinpoint_apns_channel.markdown b/website/docs/r/pinpoint_apns_channel.markdown index c5734023dd9..b4223b37496 100644 --- a/website/docs/r/pinpoint_apns_channel.markdown +++ b/website/docs/r/pinpoint_apns_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_apns_channel" description: |- diff --git a/website/docs/r/pinpoint_apns_sandbox_channel.markdown b/website/docs/r/pinpoint_apns_sandbox_channel.markdown index e812b232d90..8ef8e24fa15 100644 --- a/website/docs/r/pinpoint_apns_sandbox_channel.markdown +++ b/website/docs/r/pinpoint_apns_sandbox_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_apns_sandbox_channel" description: |- diff --git a/website/docs/r/pinpoint_apns_voip_channel.markdown b/website/docs/r/pinpoint_apns_voip_channel.markdown index e709f981be9..b18681207d2 100644 --- a/website/docs/r/pinpoint_apns_voip_channel.markdown +++ b/website/docs/r/pinpoint_apns_voip_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_apns_voip_channel" description: |- diff --git a/website/docs/r/pinpoint_apns_voip_sandbox_channel.markdown b/website/docs/r/pinpoint_apns_voip_sandbox_channel.markdown index bed01022ac2..970d2f6d97b 100644 --- a/website/docs/r/pinpoint_apns_voip_sandbox_channel.markdown +++ b/website/docs/r/pinpoint_apns_voip_sandbox_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_apns_voip_sandbox_channel" description: |- diff --git a/website/docs/r/pinpoint_app.markdown b/website/docs/r/pinpoint_app.markdown index 99209a634de..2ff24e955dd 100644 --- a/website/docs/r/pinpoint_app.markdown +++ b/website/docs/r/pinpoint_app.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_app" description: |- diff --git a/website/docs/r/pinpoint_baidu_channel.markdown b/website/docs/r/pinpoint_baidu_channel.markdown index 9e7d4420981..7c14596a579 100644 --- a/website/docs/r/pinpoint_baidu_channel.markdown +++ b/website/docs/r/pinpoint_baidu_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_baidu_channel" description: |- diff --git a/website/docs/r/pinpoint_email_channel.markdown b/website/docs/r/pinpoint_email_channel.markdown index 11c6fb0a357..f286d725af8 100644 --- a/website/docs/r/pinpoint_email_channel.markdown +++ b/website/docs/r/pinpoint_email_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_email_channel" description: |- diff --git a/website/docs/r/pinpoint_event_stream.markdown b/website/docs/r/pinpoint_event_stream.markdown index c1e31db1c2f..bb5a0374672 100644 --- a/website/docs/r/pinpoint_event_stream.markdown +++ b/website/docs/r/pinpoint_event_stream.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_event_stream" description: |- diff --git a/website/docs/r/pinpoint_gcm_channel.markdown b/website/docs/r/pinpoint_gcm_channel.markdown index 7464fcfebf3..f667396f6fc 100644 --- a/website/docs/r/pinpoint_gcm_channel.markdown +++ b/website/docs/r/pinpoint_gcm_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_gcm_channel" description: |- diff --git a/website/docs/r/pinpoint_sms_channel.markdown b/website/docs/r/pinpoint_sms_channel.markdown index d72de91be00..77e37525c50 100644 --- a/website/docs/r/pinpoint_sms_channel.markdown +++ b/website/docs/r/pinpoint_sms_channel.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Pinpoint" layout: "aws" page_title: "AWS: aws_pinpoint_sms_channel" description: |- diff --git a/website/docs/r/placement_group.html.markdown b/website/docs/r/placement_group.html.markdown index 79bea48bc30..285b957490c 100644 --- a/website/docs/r/placement_group.html.markdown +++ b/website/docs/r/placement_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_placement_group" description: |- diff --git a/website/docs/r/proxy_protocol_policy.html.markdown b/website/docs/r/proxy_protocol_policy.html.markdown index 49c9136efe8..ad43be2d15f 100644 --- a/website/docs/r/proxy_protocol_policy.html.markdown +++ b/website/docs/r/proxy_protocol_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Elastic Load Balancing (ELB Classic)" layout: "aws" page_title: "AWS: aws_proxy_protocol_policy" description: |- diff --git a/website/docs/r/quicksight_group.html.markdown b/website/docs/r/quicksight_group.html.markdown index b17533d9d87..76993ec9f4f 100644 --- a/website/docs/r/quicksight_group.html.markdown +++ b/website/docs/r/quicksight_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "QuickSight" layout: "aws" page_title: "AWS: aws_quicksight_group" description: |- diff --git a/website/docs/r/quicksight_user.html.markdown b/website/docs/r/quicksight_user.html.markdown index 47be99adf55..8e161c8c3ea 100644 --- a/website/docs/r/quicksight_user.html.markdown +++ b/website/docs/r/quicksight_user.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "QuickSight" layout: "aws" page_title: "AWS: aws_quicksight_user" description: |- diff --git a/website/docs/r/ram_principal_association.markdown b/website/docs/r/ram_principal_association.markdown index db5fdf24efe..9ed16a8e6f4 100644 --- a/website/docs/r/ram_principal_association.markdown +++ b/website/docs/r/ram_principal_association.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RAM" layout: "aws" page_title: "AWS: aws_ram_principal_association" description: |- diff --git a/website/docs/r/ram_resource_association.html.markdown b/website/docs/r/ram_resource_association.html.markdown index 8bac9d051bd..8312f783c2e 100644 --- a/website/docs/r/ram_resource_association.html.markdown +++ b/website/docs/r/ram_resource_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RAM" layout: "aws" page_title: "AWS: aws_ram_resource_association" description: |- diff --git a/website/docs/r/ram_resource_share.markdown b/website/docs/r/ram_resource_share.markdown index dc5d07602d2..831d249b64f 100644 --- a/website/docs/r/ram_resource_share.markdown +++ b/website/docs/r/ram_resource_share.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RAM" layout: "aws" page_title: "AWS: aws_ram_resource_share" description: |- diff --git a/website/docs/r/ram_resource_share_accepter.markdown b/website/docs/r/ram_resource_share_accepter.markdown index 9facb24ed34..2716446a20e 100644 --- a/website/docs/r/ram_resource_share_accepter.markdown +++ b/website/docs/r/ram_resource_share_accepter.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RAM" layout: "aws" page_title: "AWS: aws_ram_resource_share_accepter" description: |- diff --git a/website/docs/r/rds_cluster.html.markdown b/website/docs/r/rds_cluster.html.markdown index 65e4962b842..e2481dd9c1e 100644 --- a/website/docs/r/rds_cluster.html.markdown +++ b/website/docs/r/rds_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_rds_cluster" description: |- diff --git a/website/docs/r/rds_cluster_endpoint.html.markdown b/website/docs/r/rds_cluster_endpoint.html.markdown index 849414d0858..bdbff9f3866 100644 --- a/website/docs/r/rds_cluster_endpoint.html.markdown +++ b/website/docs/r/rds_cluster_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_rds_cluster_endpoint" description: |- diff --git a/website/docs/r/rds_cluster_instance.html.markdown b/website/docs/r/rds_cluster_instance.html.markdown index d77735d9843..d19cc06a282 100644 --- a/website/docs/r/rds_cluster_instance.html.markdown +++ b/website/docs/r/rds_cluster_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_rds_cluster_instance" description: |- diff --git a/website/docs/r/rds_cluster_parameter_group.markdown b/website/docs/r/rds_cluster_parameter_group.markdown index 308ff3d8740..6a13efc6a75 100644 --- a/website/docs/r/rds_cluster_parameter_group.markdown +++ b/website/docs/r/rds_cluster_parameter_group.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_rds_cluster_parameter_group" description: |- diff --git a/website/docs/r/rds_global_cluster.html.markdown b/website/docs/r/rds_global_cluster.html.markdown index 95121c20d13..3528e500ead 100644 --- a/website/docs/r/rds_global_cluster.html.markdown +++ b/website/docs/r/rds_global_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "RDS" layout: "aws" page_title: "AWS: aws_rds_global_cluster" description: |- diff --git a/website/docs/r/redshift_cluster.html.markdown b/website/docs/r/redshift_cluster.html.markdown index 2d471a777e8..44ac7e3282c 100644 --- a/website/docs/r/redshift_cluster.html.markdown +++ b/website/docs/r/redshift_cluster.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_cluster" description: |- diff --git a/website/docs/r/redshift_event_subscription.html.markdown b/website/docs/r/redshift_event_subscription.html.markdown index b1b488284eb..02bed75aab9 100644 --- a/website/docs/r/redshift_event_subscription.html.markdown +++ b/website/docs/r/redshift_event_subscription.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_event_subscription" description: |- diff --git a/website/docs/r/redshift_parameter_group.html.markdown b/website/docs/r/redshift_parameter_group.html.markdown index 1bfc9966f94..dbab62f4ca9 100644 --- a/website/docs/r/redshift_parameter_group.html.markdown +++ b/website/docs/r/redshift_parameter_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_parameter_group" description: |- diff --git a/website/docs/r/redshift_security_group.html.markdown b/website/docs/r/redshift_security_group.html.markdown index f3b81edf3a4..86916648998 100644 --- a/website/docs/r/redshift_security_group.html.markdown +++ b/website/docs/r/redshift_security_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_security_group" description: |- diff --git a/website/docs/r/redshift_snapshot_copy_grant.html.markdown b/website/docs/r/redshift_snapshot_copy_grant.html.markdown index 21dcbe29abb..072ff38f165 100644 --- a/website/docs/r/redshift_snapshot_copy_grant.html.markdown +++ b/website/docs/r/redshift_snapshot_copy_grant.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_snapshot_copy_grant" description: |- diff --git a/website/docs/r/redshift_snapshot_schedule.html.markdown b/website/docs/r/redshift_snapshot_schedule.html.markdown index 4a546a8901e..46b3655ec07 100644 --- a/website/docs/r/redshift_snapshot_schedule.html.markdown +++ b/website/docs/r/redshift_snapshot_schedule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_snapshot_schedule" description: |- diff --git a/website/docs/r/redshift_snapshot_schedule_association.html.markdown b/website/docs/r/redshift_snapshot_schedule_association.html.markdown index 4c7b0551368..0641c7890ba 100644 --- a/website/docs/r/redshift_snapshot_schedule_association.html.markdown +++ b/website/docs/r/redshift_snapshot_schedule_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_snapshot_schedule_association" description: |- diff --git a/website/docs/r/redshift_subnet_group.html.markdown b/website/docs/r/redshift_subnet_group.html.markdown index f52e08c93bb..3f7d5603ca3 100644 --- a/website/docs/r/redshift_subnet_group.html.markdown +++ b/website/docs/r/redshift_subnet_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Redshift" layout: "aws" page_title: "AWS: aws_redshift_subnet_group" description: |- diff --git a/website/docs/r/resourcegroups_group.html.markdown b/website/docs/r/resourcegroups_group.html.markdown index e80795d1c3b..8a17ae28793 100644 --- a/website/docs/r/resourcegroups_group.html.markdown +++ b/website/docs/r/resourcegroups_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Resource Groups" layout: "aws" page_title: "AWS: aws_resourcegroups_group" description: |- diff --git a/website/docs/r/route.html.markdown b/website/docs/r/route.html.markdown index dd49d25d076..46bf6c1099c 100644 --- a/website/docs/r/route.html.markdown +++ b/website/docs/r/route.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_route" description: |- diff --git a/website/docs/r/route53_delegation_set.html.markdown b/website/docs/r/route53_delegation_set.html.markdown index 94336102845..ab55c489850 100644 --- a/website/docs/r/route53_delegation_set.html.markdown +++ b/website/docs/r/route53_delegation_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_delegation_set" description: |- diff --git a/website/docs/r/route53_health_check.html.markdown b/website/docs/r/route53_health_check.html.markdown index 228fd5ab435..f8bb10a207d 100644 --- a/website/docs/r/route53_health_check.html.markdown +++ b/website/docs/r/route53_health_check.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_health_check" description: |- diff --git a/website/docs/r/route53_query_log.html.markdown b/website/docs/r/route53_query_log.html.markdown index d676800ba77..b0dc2ede0d4 100644 --- a/website/docs/r/route53_query_log.html.markdown +++ b/website/docs/r/route53_query_log.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_query_log" description: |- diff --git a/website/docs/r/route53_record.html.markdown b/website/docs/r/route53_record.html.markdown index 93e3c157461..7a51f8827c4 100644 --- a/website/docs/r/route53_record.html.markdown +++ b/website/docs/r/route53_record.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_record" description: |- diff --git a/website/docs/r/route53_resolver_endpoint.html.markdown b/website/docs/r/route53_resolver_endpoint.html.markdown index 57e36ef529d..9a0056cfb3a 100644 --- a/website/docs/r/route53_resolver_endpoint.html.markdown +++ b/website/docs/r/route53_resolver_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53 Resolver" layout: "aws" page_title: "AWS: aws_route53_resolver_endpoint" description: |- diff --git a/website/docs/r/route53_resolver_rule.html.markdown b/website/docs/r/route53_resolver_rule.html.markdown index d2e1043caf5..456effe31e9 100644 --- a/website/docs/r/route53_resolver_rule.html.markdown +++ b/website/docs/r/route53_resolver_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53 Resolver" layout: "aws" page_title: "AWS: aws_route53_resolver_rule" description: |- diff --git a/website/docs/r/route53_resolver_rule_association.html.markdown b/website/docs/r/route53_resolver_rule_association.html.markdown index 702e9818aa5..f433de524d5 100644 --- a/website/docs/r/route53_resolver_rule_association.html.markdown +++ b/website/docs/r/route53_resolver_rule_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53 Resolver" layout: "aws" page_title: "AWS: aws_route53_resolver_rule_association" description: |- diff --git a/website/docs/r/route53_zone.html.markdown b/website/docs/r/route53_zone.html.markdown index 6908fd59290..9be6e4db7f1 100644 --- a/website/docs/r/route53_zone.html.markdown +++ b/website/docs/r/route53_zone.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_zone" description: |- diff --git a/website/docs/r/route53_zone_association.html.markdown b/website/docs/r/route53_zone_association.html.markdown index a235d19302c..51e47f421e8 100644 --- a/website/docs/r/route53_zone_association.html.markdown +++ b/website/docs/r/route53_zone_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Route53" layout: "aws" page_title: "AWS: aws_route53_zone_association" description: |- diff --git a/website/docs/r/route_table.html.markdown b/website/docs/r/route_table.html.markdown index 2e589eb9a24..6e9195db220 100644 --- a/website/docs/r/route_table.html.markdown +++ b/website/docs/r/route_table.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_route_table" description: |- diff --git a/website/docs/r/route_table_association.html.markdown b/website/docs/r/route_table_association.html.markdown index d0862ab85ac..100d4d36188 100644 --- a/website/docs/r/route_table_association.html.markdown +++ b/website/docs/r/route_table_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_route_table_association" description: |- diff --git a/website/docs/r/s3_account_public_access_block.html.markdown b/website/docs/r/s3_account_public_access_block.html.markdown index 69d67f0dfb2..0ecb1b4fda9 100644 --- a/website/docs/r/s3_account_public_access_block.html.markdown +++ b/website/docs/r/s3_account_public_access_block.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_account_public_access_block" description: |- diff --git a/website/docs/r/s3_bucket.html.markdown b/website/docs/r/s3_bucket.html.markdown index 4e31bd8523b..98a96ae44a3 100644 --- a/website/docs/r/s3_bucket.html.markdown +++ b/website/docs/r/s3_bucket.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket" description: |- diff --git a/website/docs/r/s3_bucket_inventory.html.markdown b/website/docs/r/s3_bucket_inventory.html.markdown index b280f472d48..f482aa183ef 100644 --- a/website/docs/r/s3_bucket_inventory.html.markdown +++ b/website/docs/r/s3_bucket_inventory.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_inventory" description: |- diff --git a/website/docs/r/s3_bucket_metric.html.markdown b/website/docs/r/s3_bucket_metric.html.markdown index 00c872beec5..7eb0aae5284 100644 --- a/website/docs/r/s3_bucket_metric.html.markdown +++ b/website/docs/r/s3_bucket_metric.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_metric" description: |- diff --git a/website/docs/r/s3_bucket_notification.html.markdown b/website/docs/r/s3_bucket_notification.html.markdown index 2fce98eabef..8f144e0c755 100644 --- a/website/docs/r/s3_bucket_notification.html.markdown +++ b/website/docs/r/s3_bucket_notification.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_notification" description: |- diff --git a/website/docs/r/s3_bucket_object.html.markdown b/website/docs/r/s3_bucket_object.html.markdown index 708dab8aa1f..d4f9c17441d 100644 --- a/website/docs/r/s3_bucket_object.html.markdown +++ b/website/docs/r/s3_bucket_object.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_object" description: |- diff --git a/website/docs/r/s3_bucket_policy.html.markdown b/website/docs/r/s3_bucket_policy.html.markdown index 4020742df9f..24c3c9648bc 100644 --- a/website/docs/r/s3_bucket_policy.html.markdown +++ b/website/docs/r/s3_bucket_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_policy" description: |- diff --git a/website/docs/r/s3_bucket_public_access_block.html.markdown b/website/docs/r/s3_bucket_public_access_block.html.markdown index ec2d1f2db73..347efa9030e 100644 --- a/website/docs/r/s3_bucket_public_access_block.html.markdown +++ b/website/docs/r/s3_bucket_public_access_block.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "S3" layout: "aws" page_title: "AWS: aws_s3_bucket_public_access_block" description: |- diff --git a/website/docs/r/sagemaker_endpoint.html.markdown b/website/docs/r/sagemaker_endpoint.html.markdown index fd526199a54..d5d1ffd87b6 100644 --- a/website/docs/r/sagemaker_endpoint.html.markdown +++ b/website/docs/r/sagemaker_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Sagemaker" layout: "aws" page_title: "AWS: aws_sagemaker_endpoint" description: |- diff --git a/website/docs/r/sagemaker_endpoint_configuration.html.markdown b/website/docs/r/sagemaker_endpoint_configuration.html.markdown index 701391edcbc..deebef1a564 100644 --- a/website/docs/r/sagemaker_endpoint_configuration.html.markdown +++ b/website/docs/r/sagemaker_endpoint_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Sagemaker" layout: "aws" page_title: "AWS: aws_sagemaker_endpoint_configuration" description: |- diff --git a/website/docs/r/sagemaker_model.html.markdown b/website/docs/r/sagemaker_model.html.markdown index feb73b65dc4..28cee3f0f60 100644 --- a/website/docs/r/sagemaker_model.html.markdown +++ b/website/docs/r/sagemaker_model.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Sagemaker" layout: "aws" page_title: "AWS: aws_sagemaker_model" description: |- diff --git a/website/docs/r/sagemaker_notebook_instance.html.markdown b/website/docs/r/sagemaker_notebook_instance.html.markdown index 49a9fe7359a..88efc44bbf6 100644 --- a/website/docs/r/sagemaker_notebook_instance.html.markdown +++ b/website/docs/r/sagemaker_notebook_instance.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Sagemaker" layout: "aws" page_title: "AWS: aws_sagemaker_notebook_instance" description: |- diff --git a/website/docs/r/sagemaker_notebook_instance_lifecycle_configuration.html.markdown b/website/docs/r/sagemaker_notebook_instance_lifecycle_configuration.html.markdown index dd3e30c01dd..b96c65ab0f1 100644 --- a/website/docs/r/sagemaker_notebook_instance_lifecycle_configuration.html.markdown +++ b/website/docs/r/sagemaker_notebook_instance_lifecycle_configuration.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Sagemaker" layout: "aws" page_title: "AWS: aws_sagemaker_notebook_instance_lifecycle_configuration" description: |- diff --git a/website/docs/r/secretsmanager_secret.html.markdown b/website/docs/r/secretsmanager_secret.html.markdown index ad819e85433..5afda510c69 100644 --- a/website/docs/r/secretsmanager_secret.html.markdown +++ b/website/docs/r/secretsmanager_secret.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Secrets Manager" layout: "aws" page_title: "AWS: aws_secretsmanager_secret" description: |- diff --git a/website/docs/r/secretsmanager_secret_version.html.markdown b/website/docs/r/secretsmanager_secret_version.html.markdown index 46a7aad1e2e..f60d4234bbc 100644 --- a/website/docs/r/secretsmanager_secret_version.html.markdown +++ b/website/docs/r/secretsmanager_secret_version.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Secrets Manager" layout: "aws" page_title: "AWS: aws_secretsmanager_secret_version" description: |- diff --git a/website/docs/r/security_group.html.markdown b/website/docs/r/security_group.html.markdown index 32614e78a39..848904704fb 100644 --- a/website/docs/r/security_group.html.markdown +++ b/website/docs/r/security_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_security_group" description: |- diff --git a/website/docs/r/security_group_rule.html.markdown b/website/docs/r/security_group_rule.html.markdown index 800171e535c..855c061c9da 100644 --- a/website/docs/r/security_group_rule.html.markdown +++ b/website/docs/r/security_group_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_security_group_rule" description: |- diff --git a/website/docs/r/securityhub_account.markdown b/website/docs/r/securityhub_account.markdown index 41847045568..b0a0fa5f326 100644 --- a/website/docs/r/securityhub_account.markdown +++ b/website/docs/r/securityhub_account.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Security Hub" layout: "aws" page_title: "AWS: aws_securityhub_account" description: |- diff --git a/website/docs/r/securityhub_product_subscription.markdown b/website/docs/r/securityhub_product_subscription.markdown index e1a35af2fec..a1853413ca0 100644 --- a/website/docs/r/securityhub_product_subscription.markdown +++ b/website/docs/r/securityhub_product_subscription.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Security Hub" layout: "aws" page_title: "AWS: aws_securityhub_product_subscription" description: |- diff --git a/website/docs/r/securityhub_standards_subscription.markdown b/website/docs/r/securityhub_standards_subscription.markdown index 7ed3f449d01..be014bc0ba0 100644 --- a/website/docs/r/securityhub_standards_subscription.markdown +++ b/website/docs/r/securityhub_standards_subscription.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Security Hub" layout: "aws" page_title: "AWS: aws_securityhub_standards_subscription" description: |- diff --git a/website/docs/r/service_discovery_http_namespace.html.markdown b/website/docs/r/service_discovery_http_namespace.html.markdown index 42bd9233868..cb6d8338d37 100644 --- a/website/docs/r/service_discovery_http_namespace.html.markdown +++ b/website/docs/r/service_discovery_http_namespace.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Discovery" layout: "aws" page_title: "AWS: aws_service_discovery_http_namespace" description: |- diff --git a/website/docs/r/service_discovery_private_dns_namespace.html.markdown b/website/docs/r/service_discovery_private_dns_namespace.html.markdown index aba01564cc2..708e2d7af13 100644 --- a/website/docs/r/service_discovery_private_dns_namespace.html.markdown +++ b/website/docs/r/service_discovery_private_dns_namespace.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Discovery" layout: "aws" page_title: "AWS: aws_service_discovery_private_dns_namespace" description: |- diff --git a/website/docs/r/service_discovery_public_dns_namespace.html.markdown b/website/docs/r/service_discovery_public_dns_namespace.html.markdown index 867e3fc8e5f..df570e1e171 100644 --- a/website/docs/r/service_discovery_public_dns_namespace.html.markdown +++ b/website/docs/r/service_discovery_public_dns_namespace.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Discovery" layout: "aws" page_title: "AWS: aws_service_discovery_public_dns_namespace" description: |- diff --git a/website/docs/r/service_discovery_service.html.markdown b/website/docs/r/service_discovery_service.html.markdown index 2ae4fdd73af..80abdd34b41 100644 --- a/website/docs/r/service_discovery_service.html.markdown +++ b/website/docs/r/service_discovery_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Discovery" layout: "aws" page_title: "AWS: aws_service_discovery_service" description: |- diff --git a/website/docs/r/servicecatalog_portfolio.html.markdown b/website/docs/r/servicecatalog_portfolio.html.markdown index 64b277f3c00..2667385ea6d 100644 --- a/website/docs/r/servicecatalog_portfolio.html.markdown +++ b/website/docs/r/servicecatalog_portfolio.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Catalog" layout: "aws" page_title: "AWS: aws_servicecatalog_portfolio" description: |- diff --git a/website/docs/r/servicequotas_service_quota.html.markdown b/website/docs/r/servicequotas_service_quota.html.markdown index 6320a90c964..854f6143c78 100644 --- a/website/docs/r/servicequotas_service_quota.html.markdown +++ b/website/docs/r/servicequotas_service_quota.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Service Quotas" layout: "aws" page_title: "AWS: aws_servicequotas_service_quota" description: |- diff --git a/website/docs/r/ses_active_receipt_rule_set.html.markdown b/website/docs/r/ses_active_receipt_rule_set.html.markdown index 737e2459760..25db2e57033 100644 --- a/website/docs/r/ses_active_receipt_rule_set.html.markdown +++ b/website/docs/r/ses_active_receipt_rule_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_active_receipt_rule_set" description: |- diff --git a/website/docs/r/ses_configuration_set.markdown b/website/docs/r/ses_configuration_set.markdown index 3276bb2bf54..98b2c0beef2 100644 --- a/website/docs/r/ses_configuration_set.markdown +++ b/website/docs/r/ses_configuration_set.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_configuration_set" description: |- diff --git a/website/docs/r/ses_domain_dkim.html.markdown b/website/docs/r/ses_domain_dkim.html.markdown index d9cb0ea22e0..aca1f562e73 100644 --- a/website/docs/r/ses_domain_dkim.html.markdown +++ b/website/docs/r/ses_domain_dkim.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_domain_dkim" description: |- diff --git a/website/docs/r/ses_domain_identity.html.markdown b/website/docs/r/ses_domain_identity.html.markdown index cc4879ef6a3..b3ac82d068b 100644 --- a/website/docs/r/ses_domain_identity.html.markdown +++ b/website/docs/r/ses_domain_identity.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_domain_identity" description: |- diff --git a/website/docs/r/ses_domain_identity_verification.html.markdown b/website/docs/r/ses_domain_identity_verification.html.markdown index 5dfd8e590b4..fd6449857d5 100644 --- a/website/docs/r/ses_domain_identity_verification.html.markdown +++ b/website/docs/r/ses_domain_identity_verification.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_domain_identity_verification" description: |- diff --git a/website/docs/r/ses_domain_mail_from.html.markdown b/website/docs/r/ses_domain_mail_from.html.markdown index 4d3aa16e759..60f23a0dfd3 100644 --- a/website/docs/r/ses_domain_mail_from.html.markdown +++ b/website/docs/r/ses_domain_mail_from.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_domain_mail_from" description: |- diff --git a/website/docs/r/ses_email_identity.html.markdown b/website/docs/r/ses_email_identity.html.markdown index 747978210d4..59f543f6ba5 100644 --- a/website/docs/r/ses_email_identity.html.markdown +++ b/website/docs/r/ses_email_identity.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_email_identity" description: |- diff --git a/website/docs/r/ses_event_destination.markdown b/website/docs/r/ses_event_destination.markdown index a005ebc365c..23208ddd1c4 100644 --- a/website/docs/r/ses_event_destination.markdown +++ b/website/docs/r/ses_event_destination.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_event_destination" description: |- diff --git a/website/docs/r/ses_identity_notification_topic.markdown b/website/docs/r/ses_identity_notification_topic.markdown index 30daf2239e3..32610d68b28 100644 --- a/website/docs/r/ses_identity_notification_topic.markdown +++ b/website/docs/r/ses_identity_notification_topic.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_identity_notification_topic" description: |- diff --git a/website/docs/r/ses_identity_policy.html.markdown b/website/docs/r/ses_identity_policy.html.markdown index 5dad2a34a50..a81cec198dc 100644 --- a/website/docs/r/ses_identity_policy.html.markdown +++ b/website/docs/r/ses_identity_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_identity_policy" description: |- diff --git a/website/docs/r/ses_receipt_filter.html.markdown b/website/docs/r/ses_receipt_filter.html.markdown index e5af323fa1b..bd6b5f8393d 100644 --- a/website/docs/r/ses_receipt_filter.html.markdown +++ b/website/docs/r/ses_receipt_filter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_receipt_filter" description: |- diff --git a/website/docs/r/ses_receipt_rule.html.markdown b/website/docs/r/ses_receipt_rule.html.markdown index 9bd148c23ad..ca5f459c577 100644 --- a/website/docs/r/ses_receipt_rule.html.markdown +++ b/website/docs/r/ses_receipt_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_receipt_rule" description: |- diff --git a/website/docs/r/ses_receipt_rule_set.html.markdown b/website/docs/r/ses_receipt_rule_set.html.markdown index 28aa04b722c..7cfe382a753 100644 --- a/website/docs/r/ses_receipt_rule_set.html.markdown +++ b/website/docs/r/ses_receipt_rule_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_receipt_rule_set" description: |- diff --git a/website/docs/r/ses_template.html.markdown b/website/docs/r/ses_template.html.markdown index c3513b8229c..2c0d9b9b8bb 100644 --- a/website/docs/r/ses_template.html.markdown +++ b/website/docs/r/ses_template.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SES" layout: "aws" page_title: "AWS: aws_ses_template" description: |- diff --git a/website/docs/r/sfn_activity.html.markdown b/website/docs/r/sfn_activity.html.markdown index 882a9dd2f62..0cfe3b3d5c2 100644 --- a/website/docs/r/sfn_activity.html.markdown +++ b/website/docs/r/sfn_activity.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Step Function (SFN)" layout: "aws" page_title: "AWS: aws_sfn_activity" description: |- diff --git a/website/docs/r/sfn_state_machine.html.markdown b/website/docs/r/sfn_state_machine.html.markdown index 2750a152c8b..34163bef336 100644 --- a/website/docs/r/sfn_state_machine.html.markdown +++ b/website/docs/r/sfn_state_machine.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Step Function (SFN)" layout: "aws" page_title: "AWS: aws_sfn_state_machine" description: |- diff --git a/website/docs/r/shield_protection.html.markdown b/website/docs/r/shield_protection.html.markdown index 3b291f2afd2..bc881909461 100644 --- a/website/docs/r/shield_protection.html.markdown +++ b/website/docs/r/shield_protection.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Shield" layout: "aws" page_title: "AWS: aws_shield_protection" description: |- diff --git a/website/docs/r/simpledb_domain.html.markdown b/website/docs/r/simpledb_domain.html.markdown index 1dd92ba2d1d..d6f77045254 100644 --- a/website/docs/r/simpledb_domain.html.markdown +++ b/website/docs/r/simpledb_domain.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SimpleDB" layout: "aws" page_title: "AWS: aws_simpledb_domain" description: |- diff --git a/website/docs/r/snapshot_create_volume_permission.html.markdown b/website/docs/r/snapshot_create_volume_permission.html.markdown index 1c4877c173b..620b38cf57a 100644 --- a/website/docs/r/snapshot_create_volume_permission.html.markdown +++ b/website/docs/r/snapshot_create_volume_permission.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_snapshot_create_volume_permission" description: |- diff --git a/website/docs/r/sns_platform_application.html.markdown b/website/docs/r/sns_platform_application.html.markdown index 72dcc53c937..1e56811002e 100644 --- a/website/docs/r/sns_platform_application.html.markdown +++ b/website/docs/r/sns_platform_application.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SNS" layout: "aws" page_title: "AWS: aws_sns_platform_application" description: |- diff --git a/website/docs/r/sns_sms_preferences.html.markdown b/website/docs/r/sns_sms_preferences.html.markdown index 629f3a4298f..dd3efead6f0 100644 --- a/website/docs/r/sns_sms_preferences.html.markdown +++ b/website/docs/r/sns_sms_preferences.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SNS" layout: "aws" page_title: "AWS: aws_sns_sms_preferences" description: |- diff --git a/website/docs/r/sns_topic.html.markdown b/website/docs/r/sns_topic.html.markdown index 8f19a6d1b42..d09632434c2 100644 --- a/website/docs/r/sns_topic.html.markdown +++ b/website/docs/r/sns_topic.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SNS" layout: "aws" page_title: "AWS: aws_sns_topic" description: |- diff --git a/website/docs/r/sns_topic_policy.html.markdown b/website/docs/r/sns_topic_policy.html.markdown index 6b07b00b04f..60c5116fd97 100644 --- a/website/docs/r/sns_topic_policy.html.markdown +++ b/website/docs/r/sns_topic_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SNS" layout: "aws" page_title: "AWS: aws_sns_topic_policy" description: |- diff --git a/website/docs/r/sns_topic_subscription.html.markdown b/website/docs/r/sns_topic_subscription.html.markdown index c5dcdc62155..492d1c6516a 100644 --- a/website/docs/r/sns_topic_subscription.html.markdown +++ b/website/docs/r/sns_topic_subscription.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SNS" layout: "aws" page_title: "AWS: aws_sns_topic_subscription" description: |- diff --git a/website/docs/r/spot_datafeed_subscription.html.markdown b/website/docs/r/spot_datafeed_subscription.html.markdown index 1ffcb483c34..68bca0097d3 100644 --- a/website/docs/r/spot_datafeed_subscription.html.markdown +++ b/website/docs/r/spot_datafeed_subscription.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_spot_datafeed_subscription" description: |- diff --git a/website/docs/r/spot_fleet_request.html.markdown b/website/docs/r/spot_fleet_request.html.markdown index b3ebd990f9e..4863a4fa8a0 100644 --- a/website/docs/r/spot_fleet_request.html.markdown +++ b/website/docs/r/spot_fleet_request.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_spot_fleet_request" description: |- diff --git a/website/docs/r/spot_instance_request.html.markdown b/website/docs/r/spot_instance_request.html.markdown index 22e0d814818..fdb3e5daf63 100644 --- a/website/docs/r/spot_instance_request.html.markdown +++ b/website/docs/r/spot_instance_request.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_spot_instance_request" description: |- diff --git a/website/docs/r/sqs_queue.html.markdown b/website/docs/r/sqs_queue.html.markdown index 6f7755070c8..26da29377c9 100644 --- a/website/docs/r/sqs_queue.html.markdown +++ b/website/docs/r/sqs_queue.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SQS" layout: "aws" page_title: "AWS: aws_sqs_queue" description: |- diff --git a/website/docs/r/sqs_queue_policy.html.markdown b/website/docs/r/sqs_queue_policy.html.markdown index 381f2006265..0c96dda6520 100644 --- a/website/docs/r/sqs_queue_policy.html.markdown +++ b/website/docs/r/sqs_queue_policy.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SQS" layout: "aws" page_title: "AWS: aws_sqs_queue_policy" description: |- diff --git a/website/docs/r/ssm_activation.html.markdown b/website/docs/r/ssm_activation.html.markdown index ea6dbc80a07..4cf70dc27dc 100644 --- a/website/docs/r/ssm_activation.html.markdown +++ b/website/docs/r/ssm_activation.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_activation" description: |- diff --git a/website/docs/r/ssm_association.html.markdown b/website/docs/r/ssm_association.html.markdown index c06f921ad63..fc02860e3ae 100644 --- a/website/docs/r/ssm_association.html.markdown +++ b/website/docs/r/ssm_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_association" description: |- diff --git a/website/docs/r/ssm_document.html.markdown b/website/docs/r/ssm_document.html.markdown index 208833bedca..79726e8f9fb 100644 --- a/website/docs/r/ssm_document.html.markdown +++ b/website/docs/r/ssm_document.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_document" description: |- diff --git a/website/docs/r/ssm_maintenance_window.html.markdown b/website/docs/r/ssm_maintenance_window.html.markdown index 50a78d57188..f09ed504036 100644 --- a/website/docs/r/ssm_maintenance_window.html.markdown +++ b/website/docs/r/ssm_maintenance_window.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_maintenance_window" description: |- diff --git a/website/docs/r/ssm_maintenance_window_target.html.markdown b/website/docs/r/ssm_maintenance_window_target.html.markdown index fbb01d89423..81d8a6ef5b4 100644 --- a/website/docs/r/ssm_maintenance_window_target.html.markdown +++ b/website/docs/r/ssm_maintenance_window_target.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_maintenance_window_target" description: |- diff --git a/website/docs/r/ssm_maintenance_window_task.html.markdown b/website/docs/r/ssm_maintenance_window_task.html.markdown index a0d6d313328..a2aed895be3 100644 --- a/website/docs/r/ssm_maintenance_window_task.html.markdown +++ b/website/docs/r/ssm_maintenance_window_task.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_maintenance_window_task" description: |- diff --git a/website/docs/r/ssm_parameter.html.markdown b/website/docs/r/ssm_parameter.html.markdown index a75605cf971..d3963f221f1 100644 --- a/website/docs/r/ssm_parameter.html.markdown +++ b/website/docs/r/ssm_parameter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_parameter" description: |- diff --git a/website/docs/r/ssm_patch_baseline.html.markdown b/website/docs/r/ssm_patch_baseline.html.markdown index b9afadec587..bde68cd067f 100644 --- a/website/docs/r/ssm_patch_baseline.html.markdown +++ b/website/docs/r/ssm_patch_baseline.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_patch_baseline" description: |- diff --git a/website/docs/r/ssm_patch_group.html.markdown b/website/docs/r/ssm_patch_group.html.markdown index ae14c7d111b..2b7d3957ae7 100644 --- a/website/docs/r/ssm_patch_group.html.markdown +++ b/website/docs/r/ssm_patch_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_patch_group" description: |- diff --git a/website/docs/r/ssm_resource_data_sync.html.markdown b/website/docs/r/ssm_resource_data_sync.html.markdown index 4a4a557880f..1d0dba8da65 100644 --- a/website/docs/r/ssm_resource_data_sync.html.markdown +++ b/website/docs/r/ssm_resource_data_sync.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SSM" layout: "aws" page_title: "AWS: aws_ssm_resource_data_sync" description: |- diff --git a/website/docs/r/storagegateway_cache.html.markdown b/website/docs/r/storagegateway_cache.html.markdown index 01ccc6f115f..4c963d5885a 100644 --- a/website/docs/r/storagegateway_cache.html.markdown +++ b/website/docs/r/storagegateway_cache.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_cache" description: |- diff --git a/website/docs/r/storagegateway_cached_iscsi_volume.html.markdown b/website/docs/r/storagegateway_cached_iscsi_volume.html.markdown index 4e58713c025..7eaee036cd4 100644 --- a/website/docs/r/storagegateway_cached_iscsi_volume.html.markdown +++ b/website/docs/r/storagegateway_cached_iscsi_volume.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_cached_iscsi_volume" description: |- diff --git a/website/docs/r/storagegateway_gateway.html.markdown b/website/docs/r/storagegateway_gateway.html.markdown index 6bb28109fee..ee29150cc14 100644 --- a/website/docs/r/storagegateway_gateway.html.markdown +++ b/website/docs/r/storagegateway_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_gateway" description: |- diff --git a/website/docs/r/storagegateway_nfs_file_share.html.markdown b/website/docs/r/storagegateway_nfs_file_share.html.markdown index a46c216351f..a57bfc539ee 100644 --- a/website/docs/r/storagegateway_nfs_file_share.html.markdown +++ b/website/docs/r/storagegateway_nfs_file_share.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_nfs_file_share" description: |- diff --git a/website/docs/r/storagegateway_smb_file_share.html.markdown b/website/docs/r/storagegateway_smb_file_share.html.markdown index f0d32c750cd..7f3008ebef5 100644 --- a/website/docs/r/storagegateway_smb_file_share.html.markdown +++ b/website/docs/r/storagegateway_smb_file_share.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_smb_file_share" description: |- diff --git a/website/docs/r/storagegateway_upload_buffer.html.markdown b/website/docs/r/storagegateway_upload_buffer.html.markdown index 2748bfe4cfc..de6bbed5783 100644 --- a/website/docs/r/storagegateway_upload_buffer.html.markdown +++ b/website/docs/r/storagegateway_upload_buffer.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_upload_buffer" description: |- diff --git a/website/docs/r/storagegateway_working_storage.html.markdown b/website/docs/r/storagegateway_working_storage.html.markdown index a64ad058648..ff7b9858850 100644 --- a/website/docs/r/storagegateway_working_storage.html.markdown +++ b/website/docs/r/storagegateway_working_storage.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Storage Gateway" layout: "aws" page_title: "AWS: aws_storagegateway_working_storage" description: |- diff --git a/website/docs/r/subnet.html.markdown b/website/docs/r/subnet.html.markdown index e83bebf28e6..8a72184de65 100644 --- a/website/docs/r/subnet.html.markdown +++ b/website/docs/r/subnet.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_subnet" description: |- diff --git a/website/docs/r/swf_domain.html.markdown b/website/docs/r/swf_domain.html.markdown index 535e9a82a3d..3c21ded924e 100644 --- a/website/docs/r/swf_domain.html.markdown +++ b/website/docs/r/swf_domain.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "SWF" layout: "aws" page_title: "AWS: aws_swf_domain" description: |- diff --git a/website/docs/r/transfer_server.html.markdown b/website/docs/r/transfer_server.html.markdown index b60d4fbbb70..dc3372c05e7 100644 --- a/website/docs/r/transfer_server.html.markdown +++ b/website/docs/r/transfer_server.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Transfer" layout: "aws" page_title: "AWS: aws_transfer_server" description: |- diff --git a/website/docs/r/transfer_ssh_key.html.markdown b/website/docs/r/transfer_ssh_key.html.markdown index a519aa6df2e..e8b3d1c29c5 100644 --- a/website/docs/r/transfer_ssh_key.html.markdown +++ b/website/docs/r/transfer_ssh_key.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Transfer" layout: "aws" page_title: "AWS: aws_transfer_ssh_key" description: |- diff --git a/website/docs/r/transfer_user.html.markdown b/website/docs/r/transfer_user.html.markdown index 5dab61c4b09..8363162f30a 100644 --- a/website/docs/r/transfer_user.html.markdown +++ b/website/docs/r/transfer_user.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "Transfer" layout: "aws" page_title: "AWS: aws_transfer_user" description: |- diff --git a/website/docs/r/volume_attachment.html.markdown b/website/docs/r/volume_attachment.html.markdown index eae5a781a70..2884e337ec2 100644 --- a/website/docs/r/volume_attachment.html.markdown +++ b/website/docs/r/volume_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "EC2" layout: "aws" page_title: "AWS: aws_volume_attachment" description: |- diff --git a/website/docs/r/vpc.html.markdown b/website/docs/r/vpc.html.markdown index fb1748bbb30..3aefd0b3d87 100644 --- a/website/docs/r/vpc.html.markdown +++ b/website/docs/r/vpc.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc" description: |- diff --git a/website/docs/r/vpc_dhcp_options.html.markdown b/website/docs/r/vpc_dhcp_options.html.markdown index 4e4f768fa40..cadf284ca93 100644 --- a/website/docs/r/vpc_dhcp_options.html.markdown +++ b/website/docs/r/vpc_dhcp_options.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_dhcp_options" description: |- diff --git a/website/docs/r/vpc_dhcp_options_association.html.markdown b/website/docs/r/vpc_dhcp_options_association.html.markdown index a94987ea7bc..9cbd44fb9f2 100644 --- a/website/docs/r/vpc_dhcp_options_association.html.markdown +++ b/website/docs/r/vpc_dhcp_options_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_dhcp_options_association" description: |- diff --git a/website/docs/r/vpc_endpoint.html.markdown b/website/docs/r/vpc_endpoint.html.markdown index 683b83fc6e6..48abdcb14f5 100644 --- a/website/docs/r/vpc_endpoint.html.markdown +++ b/website/docs/r/vpc_endpoint.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint" description: |- diff --git a/website/docs/r/vpc_endpoint_connection_notification.html.markdown b/website/docs/r/vpc_endpoint_connection_notification.html.markdown index 8c776042439..ca8aa5cb302 100644 --- a/website/docs/r/vpc_endpoint_connection_notification.html.markdown +++ b/website/docs/r/vpc_endpoint_connection_notification.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint_connection_notification" description: |- diff --git a/website/docs/r/vpc_endpoint_route_table_association.html.markdown b/website/docs/r/vpc_endpoint_route_table_association.html.markdown index b2def064f97..443f2a10562 100644 --- a/website/docs/r/vpc_endpoint_route_table_association.html.markdown +++ b/website/docs/r/vpc_endpoint_route_table_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint_route_table_association" description: |- diff --git a/website/docs/r/vpc_endpoint_service.html.markdown b/website/docs/r/vpc_endpoint_service.html.markdown index 01f729be5b4..9be93a3ed0f 100644 --- a/website/docs/r/vpc_endpoint_service.html.markdown +++ b/website/docs/r/vpc_endpoint_service.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint_service" description: |- diff --git a/website/docs/r/vpc_endpoint_service_allowed_principal.html.markdown b/website/docs/r/vpc_endpoint_service_allowed_principal.html.markdown index 81601c15921..8ae45c1f8b3 100644 --- a/website/docs/r/vpc_endpoint_service_allowed_principal.html.markdown +++ b/website/docs/r/vpc_endpoint_service_allowed_principal.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint_service_allowed_principal" description: |- diff --git a/website/docs/r/vpc_endpoint_subnet_association.html.markdown b/website/docs/r/vpc_endpoint_subnet_association.html.markdown index e08ca2793f4..4d521fb48b7 100644 --- a/website/docs/r/vpc_endpoint_subnet_association.html.markdown +++ b/website/docs/r/vpc_endpoint_subnet_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_endpoint_subnet_association" description: |- diff --git a/website/docs/r/vpc_ipv4_cidr_block_association.html.markdown b/website/docs/r/vpc_ipv4_cidr_block_association.html.markdown index deb1636c330..b50b0b431dd 100644 --- a/website/docs/r/vpc_ipv4_cidr_block_association.html.markdown +++ b/website/docs/r/vpc_ipv4_cidr_block_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_ipv4_cidr_block_association" description: |- diff --git a/website/docs/r/vpc_peering.html.markdown b/website/docs/r/vpc_peering.html.markdown index cd417462c3e..65dd20d7bbc 100644 --- a/website/docs/r/vpc_peering.html.markdown +++ b/website/docs/r/vpc_peering.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_peering_connection" description: |- diff --git a/website/docs/r/vpc_peering_accepter.html.markdown b/website/docs/r/vpc_peering_accepter.html.markdown index 79593ab5a25..320e0749363 100644 --- a/website/docs/r/vpc_peering_accepter.html.markdown +++ b/website/docs/r/vpc_peering_accepter.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_peering_connection_accepter" description: |- diff --git a/website/docs/r/vpc_peering_options.html.markdown b/website/docs/r/vpc_peering_options.html.markdown index e585b44a2e1..36df89b8e6f 100644 --- a/website/docs/r/vpc_peering_options.html.markdown +++ b/website/docs/r/vpc_peering_options.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpc_peering_connection_options" description: |- diff --git a/website/docs/r/vpn_connection.html.markdown b/website/docs/r/vpn_connection.html.markdown index 97a256b2434..29addb8e426 100644 --- a/website/docs/r/vpn_connection.html.markdown +++ b/website/docs/r/vpn_connection.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpn_connection" description: |- diff --git a/website/docs/r/vpn_connection_route.html.markdown b/website/docs/r/vpn_connection_route.html.markdown index 1ec3ab8b188..e0c24c3ad1d 100644 --- a/website/docs/r/vpn_connection_route.html.markdown +++ b/website/docs/r/vpn_connection_route.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpn_connection_route" description: |- diff --git a/website/docs/r/vpn_gateway.html.markdown b/website/docs/r/vpn_gateway.html.markdown index d9cd4fba911..2741b385883 100644 --- a/website/docs/r/vpn_gateway.html.markdown +++ b/website/docs/r/vpn_gateway.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpn_gateway" description: |- diff --git a/website/docs/r/vpn_gateway_attachment.html.markdown b/website/docs/r/vpn_gateway_attachment.html.markdown index ca92e2b3758..3b892a1efbd 100644 --- a/website/docs/r/vpn_gateway_attachment.html.markdown +++ b/website/docs/r/vpn_gateway_attachment.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpn_gateway_attachment" description: |- diff --git a/website/docs/r/vpn_gateway_route_propagation.html.markdown b/website/docs/r/vpn_gateway_route_propagation.html.markdown index 98775097dcb..dc1cf95acab 100644 --- a/website/docs/r/vpn_gateway_route_propagation.html.markdown +++ b/website/docs/r/vpn_gateway_route_propagation.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "VPC" layout: "aws" page_title: "AWS: aws_vpn_gateway_route_propagation" description: |- diff --git a/website/docs/r/waf_byte_match_set.html.markdown b/website/docs/r/waf_byte_match_set.html.markdown index b09165aa849..d18720acfb7 100644 --- a/website/docs/r/waf_byte_match_set.html.markdown +++ b/website/docs/r/waf_byte_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_byte_match_set" description: |- diff --git a/website/docs/r/waf_geo_match_set.html.markdown b/website/docs/r/waf_geo_match_set.html.markdown index ba7ac3c9096..a02daa818db 100644 --- a/website/docs/r/waf_geo_match_set.html.markdown +++ b/website/docs/r/waf_geo_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_geo_match_set" description: |- diff --git a/website/docs/r/waf_ipset.html.markdown b/website/docs/r/waf_ipset.html.markdown index 44a7566413c..64838385753 100644 --- a/website/docs/r/waf_ipset.html.markdown +++ b/website/docs/r/waf_ipset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_ipset" description: |- diff --git a/website/docs/r/waf_rate_based_rule.html.markdown b/website/docs/r/waf_rate_based_rule.html.markdown index eae8bb443c3..ea3ec553686 100644 --- a/website/docs/r/waf_rate_based_rule.html.markdown +++ b/website/docs/r/waf_rate_based_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_rate_based_rule" description: |- diff --git a/website/docs/r/waf_regex_match_set.html.markdown b/website/docs/r/waf_regex_match_set.html.markdown index ec960c55fd9..b43b798f9e5 100644 --- a/website/docs/r/waf_regex_match_set.html.markdown +++ b/website/docs/r/waf_regex_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_regex_match_set" description: |- diff --git a/website/docs/r/waf_regex_pattern_set.html.markdown b/website/docs/r/waf_regex_pattern_set.html.markdown index e2c4806ed09..b0625705aad 100644 --- a/website/docs/r/waf_regex_pattern_set.html.markdown +++ b/website/docs/r/waf_regex_pattern_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_regex_pattern_set" description: |- diff --git a/website/docs/r/waf_rule.html.markdown b/website/docs/r/waf_rule.html.markdown index 13fb781395b..a455a7da2fd 100644 --- a/website/docs/r/waf_rule.html.markdown +++ b/website/docs/r/waf_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_rule" description: |- diff --git a/website/docs/r/waf_rule_group.html.markdown b/website/docs/r/waf_rule_group.html.markdown index 248007be215..19901fbf4c4 100644 --- a/website/docs/r/waf_rule_group.html.markdown +++ b/website/docs/r/waf_rule_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_rule_group" description: |- diff --git a/website/docs/r/waf_size_constraint_set.html.markdown b/website/docs/r/waf_size_constraint_set.html.markdown index 20f212b2996..b67da4c0a98 100644 --- a/website/docs/r/waf_size_constraint_set.html.markdown +++ b/website/docs/r/waf_size_constraint_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_size_constraint_set" description: |- diff --git a/website/docs/r/waf_sql_injection_match_set.html.markdown b/website/docs/r/waf_sql_injection_match_set.html.markdown index a1c02c65f3a..e5567ecb537 100644 --- a/website/docs/r/waf_sql_injection_match_set.html.markdown +++ b/website/docs/r/waf_sql_injection_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_sql_injection_match_set" description: |- diff --git a/website/docs/r/waf_web_acl.html.markdown b/website/docs/r/waf_web_acl.html.markdown index 50dc7da5a3f..f96fb0dd6e1 100644 --- a/website/docs/r/waf_web_acl.html.markdown +++ b/website/docs/r/waf_web_acl.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_web_acl" description: |- diff --git a/website/docs/r/waf_xss_match_set.html.markdown b/website/docs/r/waf_xss_match_set.html.markdown index 5d5d3ef87fa..334d332e74a 100644 --- a/website/docs/r/waf_xss_match_set.html.markdown +++ b/website/docs/r/waf_xss_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF" layout: "aws" page_title: "AWS: aws_waf_xss_match_set" description: |- diff --git a/website/docs/r/wafregional_byte_match_set.html.markdown b/website/docs/r/wafregional_byte_match_set.html.markdown index 2029ab9731f..7385dca8d0f 100644 --- a/website/docs/r/wafregional_byte_match_set.html.markdown +++ b/website/docs/r/wafregional_byte_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_byte_match_set" description: |- diff --git a/website/docs/r/wafregional_geo_match_set.html.markdown b/website/docs/r/wafregional_geo_match_set.html.markdown index d6e7b04ab6e..372c49cdfbb 100644 --- a/website/docs/r/wafregional_geo_match_set.html.markdown +++ b/website/docs/r/wafregional_geo_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_geo_match_set" description: |- diff --git a/website/docs/r/wafregional_ipset.html.markdown b/website/docs/r/wafregional_ipset.html.markdown index a37e840e54d..ec2735d7d6f 100644 --- a/website/docs/r/wafregional_ipset.html.markdown +++ b/website/docs/r/wafregional_ipset.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_ipset" description: |- diff --git a/website/docs/r/wafregional_rate_based_rule.html.markdown b/website/docs/r/wafregional_rate_based_rule.html.markdown index e0faeadf083..bca2206b2a3 100644 --- a/website/docs/r/wafregional_rate_based_rule.html.markdown +++ b/website/docs/r/wafregional_rate_based_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_rate_based_rule" description: |- diff --git a/website/docs/r/wafregional_regex_match_set.html.markdown b/website/docs/r/wafregional_regex_match_set.html.markdown index a1ff5295624..a61f75b5733 100644 --- a/website/docs/r/wafregional_regex_match_set.html.markdown +++ b/website/docs/r/wafregional_regex_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_regex_match_set" description: |- diff --git a/website/docs/r/wafregional_regex_pattern_set.html.markdown b/website/docs/r/wafregional_regex_pattern_set.html.markdown index 53890dfeba4..b1074dd779c 100644 --- a/website/docs/r/wafregional_regex_pattern_set.html.markdown +++ b/website/docs/r/wafregional_regex_pattern_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_regex_pattern_set" description: |- diff --git a/website/docs/r/wafregional_rule.html.markdown b/website/docs/r/wafregional_rule.html.markdown index a80485d1062..3c7eff003b7 100644 --- a/website/docs/r/wafregional_rule.html.markdown +++ b/website/docs/r/wafregional_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_rule" description: |- diff --git a/website/docs/r/wafregional_rule_group.html.markdown b/website/docs/r/wafregional_rule_group.html.markdown index 54c710c720b..17049bee2fa 100644 --- a/website/docs/r/wafregional_rule_group.html.markdown +++ b/website/docs/r/wafregional_rule_group.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_rule_group" description: |- diff --git a/website/docs/r/wafregional_size_constraint_set.html.markdown b/website/docs/r/wafregional_size_constraint_set.html.markdown index 882031ffc0c..f3a1f2dab92 100644 --- a/website/docs/r/wafregional_size_constraint_set.html.markdown +++ b/website/docs/r/wafregional_size_constraint_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_size_constraint_set" description: |- diff --git a/website/docs/r/wafregional_sql_injection_match_set.html.markdown b/website/docs/r/wafregional_sql_injection_match_set.html.markdown index 7e65593cf3f..6780264e456 100644 --- a/website/docs/r/wafregional_sql_injection_match_set.html.markdown +++ b/website/docs/r/wafregional_sql_injection_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_sql_injection_match_set" description: |- diff --git a/website/docs/r/wafregional_web_acl.html.markdown b/website/docs/r/wafregional_web_acl.html.markdown index 992c96fc73e..3899775e402 100644 --- a/website/docs/r/wafregional_web_acl.html.markdown +++ b/website/docs/r/wafregional_web_acl.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_web_acl" description: |- diff --git a/website/docs/r/wafregional_web_acl_association.html.markdown b/website/docs/r/wafregional_web_acl_association.html.markdown index 6bb17fd9108..a37e4d835d9 100644 --- a/website/docs/r/wafregional_web_acl_association.html.markdown +++ b/website/docs/r/wafregional_web_acl_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_web_acl_association" description: |- diff --git a/website/docs/r/wafregional_xss_match_set.html.markdown b/website/docs/r/wafregional_xss_match_set.html.markdown index c7d48a71ecd..8893ae86d49 100644 --- a/website/docs/r/wafregional_xss_match_set.html.markdown +++ b/website/docs/r/wafregional_xss_match_set.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WAF Regional" layout: "aws" page_title: "AWS: aws_wafregional_xss_match_set" description: |- diff --git a/website/docs/r/worklink_fleet.html.markdown b/website/docs/r/worklink_fleet.html.markdown index de95f595141..1ccf365e404 100644 --- a/website/docs/r/worklink_fleet.html.markdown +++ b/website/docs/r/worklink_fleet.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WorkLink" layout: "aws" page_title: "AWS: aws_worklink_fleet" description: |- diff --git a/website/docs/r/worklink_website_certificate_authority_association.html.markdown b/website/docs/r/worklink_website_certificate_authority_association.html.markdown index 2c63559524a..70d88748116 100644 --- a/website/docs/r/worklink_website_certificate_authority_association.html.markdown +++ b/website/docs/r/worklink_website_certificate_authority_association.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "WorkLink" layout: "aws" page_title: "AWS: aws_worklink_website_certificate_authority_association" description: |- diff --git a/website/docs/r/xray_sampling_rule.html.markdown b/website/docs/r/xray_sampling_rule.html.markdown index c7cab6451f7..3c84b72d9f3 100644 --- a/website/docs/r/xray_sampling_rule.html.markdown +++ b/website/docs/r/xray_sampling_rule.html.markdown @@ -1,4 +1,5 @@ --- +subcategory: "XRay" layout: "aws" page_title: "AWS: aws_xray_sampling_rule" description: |- From 6720d593bb02c848382b6a0f37dcf450607f9cc6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Nov 2019 20:48:11 -0500 Subject: [PATCH 25/46] aws_ebs_volume: Refactor tagging logic to keyvaluetags package. (#10778) Output from acceptance testing: ``` --- PASS: TestAccAWSEBSVolume_withTags (22.85s) --- PASS: TestAccAWSEbsVolumeDataSource_basic (23.47s) --- PASS: TestAccAWSEBSVolume_NoIops (24.20s) --- PASS: TestAccAWSEBSVolume_basic (24.24s) --- PASS: TestAccAWSEbsVolumeDataSource_multipleFilters (24.38s) --- PASS: TestAccAWSEBSVolume_updateType (39.55s) --- PASS: TestAccAWSEBSVolume_updateSize (40.22s) --- PASS: TestAccAWSEBSVolume_updateIops (41.02s) --- PASS: TestAccAWSEBSVolume_kmsKey (43.46s) --- PASS: TestAccAWSEBSVolume_updateAttachedEbsVolume (149.67s) ``` --- aws/data_source_aws_ebs_volume.go | 8 ++++++-- aws/resource_aws_ebs_volume.go | 27 ++++++++++++--------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/aws/data_source_aws_ebs_volume.go b/aws/data_source_aws_ebs_volume.go index 72322ea7847..df47570a16a 100644 --- a/aws/data_source_aws_ebs_volume.go +++ b/aws/data_source_aws_ebs_volume.go @@ -8,6 +8,7 @@ import ( "github.com/aws/aws-sdk-go/aws/arn" "github.com/aws/aws-sdk-go/service/ec2" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func dataSourceAwsEbsVolume() *schema.Resource { @@ -141,6 +142,9 @@ func volumeDescriptionAttributes(d *schema.ResourceData, client *AWSClient, volu d.Set("snapshot_id", volume.SnapshotId) d.Set("volume_type", volume.VolumeType) - err := d.Set("tags", tagsToMap(volume.Tags)) - return err + if err := d.Set("tags", keyvaluetags.Ec2KeyValueTags(volume.Tags).IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) + } + + return nil } diff --git a/aws/resource_aws_ebs_volume.go b/aws/resource_aws_ebs_volume.go index 76ae339aef7..89add9e1a8b 100644 --- a/aws/resource_aws_ebs_volume.go +++ b/aws/resource_aws_ebs_volume.go @@ -12,6 +12,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsEbsVolume() *schema.Resource { @@ -80,7 +81,8 @@ func resourceAwsEbsVolumeCreate(d *schema.ResourceData, meta interface{}) error conn := meta.(*AWSClient).ec2conn request := &ec2.CreateVolumeInput{ - AvailabilityZone: aws.String(d.Get("availability_zone").(string)), + AvailabilityZone: aws.String(d.Get("availability_zone").(string)), + TagSpecifications: ec2TagSpecificationsFromMap(d.Get("tags").(map[string]interface{}), ec2.ResourceTypeVolume), } if value, ok := d.GetOk("encrypted"); ok { request.Encrypted = aws.Bool(value.(bool)) @@ -94,14 +96,6 @@ func resourceAwsEbsVolumeCreate(d *schema.ResourceData, meta interface{}) error if value, ok := d.GetOk("snapshot_id"); ok { request.SnapshotId = aws.String(value.(string)) } - if value, ok := d.GetOk("tags"); ok { - request.TagSpecifications = []*ec2.TagSpecification{ - { - ResourceType: aws.String(ec2.ResourceTypeVolume), - Tags: tagsFromMap(value.(map[string]interface{})), - }, - } - } // IOPs are only valid, and required for, storage type io1. The current minimu // is 100. Instead of a hard validation we we only apply the IOPs to the @@ -154,11 +148,6 @@ func resourceAwsEbsVolumeCreate(d *schema.ResourceData, meta interface{}) error func resourceAWSEbsVolumeUpdate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).ec2conn - if _, ok := d.GetOk("tags"); ok { - if err := setTags(conn, d); err != nil { - return fmt.Errorf("Error updating tags for EBS Volume: %s", err) - } - } requestUpdate := false params := &ec2.ModifyVolumeInput{ @@ -203,6 +192,14 @@ func resourceAWSEbsVolumeUpdate(d *schema.ResourceData, meta interface{}) error } } + if d.HasChange("tags") { + o, n := d.GetChange("tags") + + if err := keyvaluetags.Ec2UpdateTags(conn, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating tags: %s", err) + } + } + return resourceAwsEbsVolumeRead(d, meta) } @@ -268,7 +265,7 @@ func resourceAwsEbsVolumeRead(d *schema.ResourceData, meta interface{}) error { d.Set("size", aws.Int64Value(volume.Size)) d.Set("snapshot_id", aws.StringValue(volume.SnapshotId)) - if err := d.Set("tags", tagsToMap(volume.Tags)); err != nil { + if err := d.Set("tags", keyvaluetags.Ec2KeyValueTags(volume.Tags).IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } From fb404a819a9c7e67a1734793f9367fd4fe04adfd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Nov 2019 21:03:14 -0500 Subject: [PATCH 26/46] r/aws_ec2_capacity_reservation: Refactor tagging logic to keyvaluetags package. (#10775) Output from acceptance testing: ``` --- SKIP: TestAccAWSEc2CapacityReservation_tenancy (0.00s) --- PASS: TestAccAWSEc2CapacityReservation_ephemeralStorage (11.85s) --- PASS: TestAccAWSEc2CapacityReservation_ebsOptimized (12.03s) --- PASS: TestAccAWSEc2CapacityReservation_instanceMatchCriteria (13.00s) --- PASS: TestAccAWSEc2CapacityReservation_basic (13.05s) --- PASS: TestAccAWSEc2CapacityReservation_instanceCount (18.59s) --- PASS: TestAccAWSEc2CapacityReservation_endDate (19.48s) --- PASS: TestAccAWSEc2CapacityReservation_instanceType (19.68s) --- PASS: TestAccAWSEc2CapacityReservation_tags (24.69s) --- PASS: TestAccAWSEc2CapacityReservation_endDateType (24.72s) ``` --- aws/resource_aws_ec2_capacity_reservation.go | 50 ++++++++----------- ...ource_aws_ec2_capacity_reservation_test.go | 5 +- 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/aws/resource_aws_ec2_capacity_reservation.go b/aws/resource_aws_ec2_capacity_reservation.go index b4e6ca5707c..dc0f734c74d 100644 --- a/aws/resource_aws_ec2_capacity_reservation.go +++ b/aws/resource_aws_ec2_capacity_reservation.go @@ -9,6 +9,12 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" +) + +const ( + // There is no constant in the SDK for this resource type + ec2ResourceTypeCapacityReservation = "capacity-reservation" ) func resourceAwsEc2CapacityReservation() *schema.Resource { @@ -106,11 +112,12 @@ func resourceAwsEc2CapacityReservationCreate(d *schema.ResourceData, meta interf conn := meta.(*AWSClient).ec2conn opts := &ec2.CreateCapacityReservationInput{ - AvailabilityZone: aws.String(d.Get("availability_zone").(string)), - EndDateType: aws.String(d.Get("end_date_type").(string)), - InstanceCount: aws.Int64(int64(d.Get("instance_count").(int))), - InstancePlatform: aws.String(d.Get("instance_platform").(string)), - InstanceType: aws.String(d.Get("instance_type").(string)), + AvailabilityZone: aws.String(d.Get("availability_zone").(string)), + EndDateType: aws.String(d.Get("end_date_type").(string)), + InstanceCount: aws.Int64(int64(d.Get("instance_count").(int))), + InstancePlatform: aws.String(d.Get("instance_platform").(string)), + InstanceType: aws.String(d.Get("instance_type").(string)), + TagSpecifications: ec2TagSpecificationsFromMap(d.Get("tags").(map[string]interface{}), ec2ResourceTypeCapacityReservation), } if v, ok := d.GetOk("ebs_optimized"); ok { @@ -137,16 +144,6 @@ func resourceAwsEc2CapacityReservationCreate(d *schema.ResourceData, meta interf opts.Tenancy = aws.String(v.(string)) } - if v, ok := d.GetOk("tags"); ok && len(v.(map[string]interface{})) > 0 { - opts.TagSpecifications = []*ec2.TagSpecification{ - { - // There is no constant in the SDK for this resource type - ResourceType: aws.String("capacity-reservation"), - Tags: tagsFromMap(v.(map[string]interface{})), - }, - } - } - log.Printf("[DEBUG] Capacity reservation: %s", opts) out, err := conn.CreateCapacityReservation(opts) @@ -200,7 +197,7 @@ func resourceAwsEc2CapacityReservationRead(d *schema.ResourceData, meta interfac d.Set("instance_platform", reservation.InstancePlatform) d.Set("instance_type", reservation.InstanceType) - if err := d.Set("tags", tagsToMap(reservation.Tags)); err != nil { + if err := d.Set("tags", keyvaluetags.Ec2KeyValueTags(reservation.Tags).IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } @@ -212,18 +209,6 @@ func resourceAwsEc2CapacityReservationRead(d *schema.ResourceData, meta interfac func resourceAwsEc2CapacityReservationUpdate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).ec2conn - d.Partial(true) - - if d.HasChange("tags") { - if err := setTags(conn, d); err != nil { - return err - } else { - d.SetPartial("tags") - } - } - - d.Partial(false) - opts := &ec2.ModifyCapacityReservationInput{ CapacityReservationId: aws.String(d.Id()), EndDateType: aws.String(d.Get("end_date_type").(string)), @@ -244,6 +229,15 @@ func resourceAwsEc2CapacityReservationUpdate(d *schema.ResourceData, meta interf if err != nil { return fmt.Errorf("Error modifying EC2 Capacity Reservation: %s", err) } + + if d.HasChange("tags") { + o, n := d.GetChange("tags") + + if err := keyvaluetags.Ec2UpdateTags(conn, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating tags: %s", err) + } + } + return resourceAwsEc2CapacityReservationRead(d, meta) } diff --git a/aws/resource_aws_ec2_capacity_reservation_test.go b/aws/resource_aws_ec2_capacity_reservation_test.go index 5bcba8b29c2..09e3c7f5a53 100644 --- a/aws/resource_aws_ec2_capacity_reservation_test.go +++ b/aws/resource_aws_ec2_capacity_reservation_test.go @@ -162,6 +162,7 @@ func TestAccAWSEc2CapacityReservation_endDate(t *testing.T) { func TestAccAWSEc2CapacityReservation_endDateType(t *testing.T) { var cr ec2.CapacityReservation + endDate := time.Now().UTC().Add(12 * time.Hour).Format(time.RFC3339) resourceName := "aws_ec2_capacity_reservation.test" resource.ParallelTest(t, resource.TestCase{ @@ -182,10 +183,10 @@ func TestAccAWSEc2CapacityReservation_endDateType(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccEc2CapacityReservationConfig_endDate("2019-10-31T07:39:57Z"), + Config: testAccEc2CapacityReservationConfig_endDate(endDate), Check: resource.ComposeTestCheckFunc( testAccCheckEc2CapacityReservationExists(resourceName, &cr), - resource.TestCheckResourceAttr(resourceName, "end_date", "2019-10-31T07:39:57Z"), + resource.TestCheckResourceAttr(resourceName, "end_date", endDate), resource.TestCheckResourceAttr(resourceName, "end_date_type", "limited"), ), }, From 571f1b4da7391ddd7ca598b45bbcda176fc7a386 Mon Sep 17 00:00:00 2001 From: tf-release-bot Date: Thu, 7 Nov 2019 20:05:08 +0000 Subject: [PATCH 27/46] v2.35.0 --- CHANGELOG.md | 60 ++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2e4f0fc1be..ca9295678e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,45 +1,45 @@ -## 2.35.0 (Unreleased) +## 2.35.0 (November 07, 2019) NOTES: -* provider: New `ignore_tag_prefixes` and `ignore_tags` arguments are being tested as a public preview for ignoring tags across all resources under a provider. Support for the functionality must be added to individual resources in the codebase and is only implemented for the `aws_subnet` and `aws_vpc` resources at this time. Until a general availability announcement, no compatibility promises are made with these provider arguments and their functionality. [GH-10418] +* provider: New `ignore_tag_prefixes` and `ignore_tags` arguments are being tested as a public preview for ignoring tags across all resources under a provider. Support for the functionality must be added to individual resources in the codebase and is only implemented for the `aws_subnet` and `aws_vpc` resources at this time. Until a general availability announcement, no compatibility promises are made with these provider arguments and their functionality. ([#10418](https://github.com/terraform-providers/terraform-provider-aws/issues/10418)) FEATURES: -* **New Data Source:** `aws_qldb_ledger` [GH-10394] -* **New Resource:** `aws_qldb_ledger` [GH-10394] +* **New Data Source:** `aws_qldb_ledger` ([#10394](https://github.com/terraform-providers/terraform-provider-aws/issues/10394)) +* **New Resource:** `aws_qldb_ledger` ([#10394](https://github.com/terraform-providers/terraform-provider-aws/issues/10394)) ENHANCEMENTS: -* data-source/aws_db_cluster_snapshot: Add `tags` attribute [GH-10488] -* data-source/aws_db_instance: Add `tags` attribute [GH-10550] -* data-source/aws_vpc_endpoint: Add `filter` and `tags` arguments [GH-10503] -* provider: Add `ignore_tag_prefixes` and `ignore_tags` arguments (in public preview, see note above) [GH-10418] -* resource/aws_acmpca_certificate_authority: Support tagging on creation [GH-10736] -* resource/aws_api_gateway_api_key: Add `tags` argument and `arn` attribute [GH-10568] -* resource/aws_api_gateway_client_certificate: Add `tags` argument and `arn` attribute [GH-10569] -* resource/aws_api_gateway_domain_name: Add `tags` argument and `arn` attribute [GH-10567] -* resource/aws_api_gateway_vpc_link: Add `tags` argument and `arn` attribute [GH-10561] -* resource/aws_cloudwatch_log_group: Support tagging on creation [GH-10753] -* resource/aws_db_cluster_snapshot: Add `tags` argument [GH-10488] -* resource/aws_ec2_fleet: Support in-place `tags` updates [GH-10761] -* resource/aws_launch_template: Support tagging on creation [GH-10759] -* resource/aws_mq_broker: Support in-place `security_groups` updates [GH-10442] -* resource/aws_storagegateway_cached_iscsi_volume: Add `tags` argument [GH-10613] -* resource/aws_storagegateway_gateway: Add `tags` argument [GH-10588] -* resource/aws_storagegateway_nfs_file_share: Add `tags` argument [GH-10722] -* resource/aws_subnet: Support provider-wide ignore tags (in public preview, see note above) [GH-10418] -* resource/aws_swf_domain: Add `tags` argument and `arn` attribute [GH-10763] -* resource/aws_vpc: Support provider-wide ignore tags (in public preview, see note above) [GH-10418] -* resource/aws_waf_rate_based_rule: Add `tags` argument and `arn` attribute [GH-10479] +* data-source/aws_db_cluster_snapshot: Add `tags` attribute ([#10488](https://github.com/terraform-providers/terraform-provider-aws/issues/10488)) +* data-source/aws_db_instance: Add `tags` attribute ([#10550](https://github.com/terraform-providers/terraform-provider-aws/issues/10550)) +* data-source/aws_vpc_endpoint: Add `filter` and `tags` arguments ([#10503](https://github.com/terraform-providers/terraform-provider-aws/issues/10503)) +* provider: Add `ignore_tag_prefixes` and `ignore_tags` arguments (in public preview, see note above) ([#10418](https://github.com/terraform-providers/terraform-provider-aws/issues/10418)) +* resource/aws_acmpca_certificate_authority: Support tagging on creation ([#10736](https://github.com/terraform-providers/terraform-provider-aws/issues/10736)) +* resource/aws_api_gateway_api_key: Add `tags` argument and `arn` attribute ([#10568](https://github.com/terraform-providers/terraform-provider-aws/issues/10568)) +* resource/aws_api_gateway_client_certificate: Add `tags` argument and `arn` attribute ([#10569](https://github.com/terraform-providers/terraform-provider-aws/issues/10569)) +* resource/aws_api_gateway_domain_name: Add `tags` argument and `arn` attribute ([#10567](https://github.com/terraform-providers/terraform-provider-aws/issues/10567)) +* resource/aws_api_gateway_vpc_link: Add `tags` argument and `arn` attribute ([#10561](https://github.com/terraform-providers/terraform-provider-aws/issues/10561)) +* resource/aws_cloudwatch_log_group: Support tagging on creation ([#10753](https://github.com/terraform-providers/terraform-provider-aws/issues/10753)) +* resource/aws_db_cluster_snapshot: Add `tags` argument ([#10488](https://github.com/terraform-providers/terraform-provider-aws/issues/10488)) +* resource/aws_ec2_fleet: Support in-place `tags` updates ([#10761](https://github.com/terraform-providers/terraform-provider-aws/issues/10761)) +* resource/aws_launch_template: Support tagging on creation ([#10759](https://github.com/terraform-providers/terraform-provider-aws/issues/10759)) +* resource/aws_mq_broker: Support in-place `security_groups` updates ([#10442](https://github.com/terraform-providers/terraform-provider-aws/issues/10442)) +* resource/aws_storagegateway_cached_iscsi_volume: Add `tags` argument ([#10613](https://github.com/terraform-providers/terraform-provider-aws/issues/10613)) +* resource/aws_storagegateway_gateway: Add `tags` argument ([#10588](https://github.com/terraform-providers/terraform-provider-aws/issues/10588)) +* resource/aws_storagegateway_nfs_file_share: Add `tags` argument ([#10722](https://github.com/terraform-providers/terraform-provider-aws/issues/10722)) +* resource/aws_subnet: Support provider-wide ignore tags (in public preview, see note above) ([#10418](https://github.com/terraform-providers/terraform-provider-aws/issues/10418)) +* resource/aws_swf_domain: Add `tags` argument and `arn` attribute ([#10763](https://github.com/terraform-providers/terraform-provider-aws/issues/10763)) +* resource/aws_vpc: Support provider-wide ignore tags (in public preview, see note above) ([#10418](https://github.com/terraform-providers/terraform-provider-aws/issues/10418)) +* resource/aws_waf_rate_based_rule: Add `tags` argument and `arn` attribute ([#10479](https://github.com/terraform-providers/terraform-provider-aws/issues/10479)) BUG FIXES: -* data-source/aws_route53_resolver_rule: Do not retrieve tags for rules shared with the AWS account that owns the data source [GH-10348] -* resource/aws_api_gateway_authorizer: Set `authorizer_result_ttl_in_seconds` argument default to 300 to match API default which properly allows setting to 0 for disabling caching [GH-9605] -* resource/aws_autoscaling_group: Batch ELB attachments and detachments by 10 to prevent API and rate limiting errors [GH-10445] -* resource/aws_s3_bucket_public_access_block: Remove from Terraform state when S3 Bucket is already destroyed [GH-10534] -* resource/aws_ssm_maintenance_window_task: Prevent crashes with empty configuration blocks [GH-10713] +* data-source/aws_route53_resolver_rule: Do not retrieve tags for rules shared with the AWS account that owns the data source ([#10348](https://github.com/terraform-providers/terraform-provider-aws/issues/10348)) +* resource/aws_api_gateway_authorizer: Set `authorizer_result_ttl_in_seconds` argument default to 300 to match API default which properly allows setting to 0 for disabling caching ([#9605](https://github.com/terraform-providers/terraform-provider-aws/issues/9605)) +* resource/aws_autoscaling_group: Batch ELB attachments and detachments by 10 to prevent API and rate limiting errors ([#10445](https://github.com/terraform-providers/terraform-provider-aws/issues/10445)) +* resource/aws_s3_bucket_public_access_block: Remove from Terraform state when S3 Bucket is already destroyed ([#10534](https://github.com/terraform-providers/terraform-provider-aws/issues/10534)) +* resource/aws_ssm_maintenance_window_task: Prevent crashes with empty configuration blocks ([#10713](https://github.com/terraform-providers/terraform-provider-aws/issues/10713)) ## 2.34.0 (October 31, 2019) From 4c9bddbb7555bafc792fa865669445a554121464 Mon Sep 17 00:00:00 2001 From: tf-release-bot Date: Thu, 7 Nov 2019 20:20:17 +0000 Subject: [PATCH 28/46] Cleanup after v2.35.0 release --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca9295678e3..65d06b6dbe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +## 2.36.0 (Unreleased) ## 2.35.0 (November 07, 2019) NOTES: From 39e22344643732e7db9193e56ba6f8f00b4452e4 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 8 Nov 2019 17:24:46 +0200 Subject: [PATCH 29/46] resource/aws_sqs_queue: Refactor to use keyvaluetags package and SDK constants (#10797) Output from acceptance testing: ``` --- PASS: TestAccAWSSQSQueue_ExpectContentBasedDeduplicationError (7.85s) --- PASS: TestAccAWSSQSQueue_FIFOExpectNameError (7.97s) --- PASS: TestAccAWSSQSQueue_Encryption (12.30s) --- PASS: TestAccAWSSQSQueue_FIFO (13.44s) --- PASS: TestAccAWSSQSQueue_namePrefix_fifo (14.22s) --- PASS: TestAccAWSSQSQueue_namePrefix (14.31s) --- PASS: TestAccAWSSQSQueue_redrivePolicy (14.47s) --- PASS: TestAccAWSSQSQueuePolicy_basic (14.83s) --- PASS: TestAccAWSSQSQueue_FIFOWithContentBasedDeduplication (15.08s) --- PASS: TestAccAWSSQSQueue_Policybasic (14.99s) --- PASS: TestAccAWSSQSQueue_policy (15.18s) --- PASS: TestAccAWSSQSQueue_basic (23.56s) --- PASS: TestAccAWSSQSQueue_tags (24.21s) --- PASS: TestAccAWSSQSQueue_queueDeletedRecently (84.02s) ``` --- aws/resource_aws_sqs_queue.go | 67 +++++++-------------------- aws/resource_aws_sqs_queue_test.go | 72 +++++++++++++++++------------- 2 files changed, 56 insertions(+), 83 deletions(-) diff --git a/aws/resource_aws_sqs_queue.go b/aws/resource_aws_sqs_queue.go index f8b7d1017da..34901fedcdd 100644 --- a/aws/resource_aws_sqs_queue.go +++ b/aws/resource_aws_sqs_queue.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/structure" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) var sqsQueueAttributeMap = map[string]string{ @@ -173,7 +174,7 @@ func resourceAwsSqsQueueCreate(d *schema.ResourceData, meta interface{}) error { // Tag-on-create is currently only supported in AWS Commercial if v, ok := d.GetOk("tags"); ok && meta.(*AWSClient).partition == endpoints.AwsPartitionID { - req.Tags = tagsFromMapGeneric(v.(map[string]interface{})) + req.Tags = keyvaluetags.New(v.(map[string]interface{})).IgnoreAws().SqsTags() } attributes := make(map[string]*string) @@ -232,8 +233,12 @@ func resourceAwsSqsQueueCreate(d *schema.ResourceData, meta interface{}) error { func resourceAwsSqsQueueUpdate(d *schema.ResourceData, meta interface{}) error { sqsconn := meta.(*AWSClient).sqsconn - if err := setTagsSQS(sqsconn, d); err != nil { - return err + if d.HasChange("tags") { + o, n := d.GetChange("tags") + + if err := keyvaluetags.SqsUpdateTags(sqsconn, d.Id(), o, n); err != nil { + return fmt.Errorf("error updating SQS Queue (%s) tags: %s", d.Id(), err) + } } attributes := make(map[string]*string) @@ -281,7 +286,7 @@ func resourceAwsSqsQueueRead(d *schema.ResourceData, meta interface{}) error { if err != nil { if awsErr, ok := err.(awserr.Error); ok { log.Printf("ERROR Found %s", awsErr.Code()) - if awsErr.Code() == "AWS.SimpleQueueService.NonExistentQueue" { + if awsErr.Code() == sqs.ErrCodeQueueDoesNotExist { d.SetId("") log.Printf("[DEBUG] SQS Queue (%s) not found", d.Get("name").(string)) return nil @@ -410,21 +415,17 @@ func resourceAwsSqsQueueRead(d *schema.ResourceData, meta interface{}) error { } } - tags := make(map[string]string) - listTagsOutput, err := sqsconn.ListQueueTags(&sqs.ListQueueTagsInput{ - QueueUrl: aws.String(d.Id()), - }) + tags, err := keyvaluetags.SqsListTags(sqsconn, d.Id()) + if err != nil { - // Non-standard partitions (e.g. US Gov) and some local development - // solutions do not yet support this API call. Depending on the - // implementation it may return InvalidAction or AWS.SimpleQueueService.UnsupportedOperation if !isAWSErr(err, "InvalidAction", "") && !isAWSErr(err, sqs.ErrCodeUnsupportedOperation, "") { - return err + return fmt.Errorf("error listing tags for SQS Queue (%s): %s", d.Id(), err) } - } else { - tags = tagsToMapGeneric(listTagsOutput.Tags) } - d.Set("tags", tags) + + if err := d.Set("tags", tags.IgnoreAws().Map()); err != nil { + return fmt.Errorf("error setting tags: %s", err) + } return nil } @@ -453,39 +454,3 @@ func extractNameFromSqsQueueUrl(queue string) (string, error) { return segments[2], nil } - -func setTagsSQS(conn *sqs.SQS, d *schema.ResourceData) error { - if d.HasChange("tags") { - oraw, nraw := d.GetChange("tags") - create, remove := diffTagsGeneric(oraw.(map[string]interface{}), nraw.(map[string]interface{})) - - if len(remove) > 0 { - log.Printf("[DEBUG] Removing tags: %#v", remove) - keys := make([]*string, 0, len(remove)) - for k := range remove { - keys = append(keys, aws.String(k)) - } - - _, err := conn.UntagQueue(&sqs.UntagQueueInput{ - QueueUrl: aws.String(d.Id()), - TagKeys: keys, - }) - if err != nil { - return err - } - } - if len(create) > 0 { - log.Printf("[DEBUG] Creating tags: %#v", create) - - _, err := conn.TagQueue(&sqs.TagQueueInput{ - QueueUrl: aws.String(d.Id()), - Tags: create, - }) - if err != nil { - return err - } - } - } - - return nil -} diff --git a/aws/resource_aws_sqs_queue_test.go b/aws/resource_aws_sqs_queue_test.go index 8bb84a9095d..0e09388c28c 100644 --- a/aws/resource_aws_sqs_queue_test.go +++ b/aws/resource_aws_sqs_queue_test.go @@ -17,6 +17,7 @@ import ( func TestAccAWSSQSQueue_basic(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" queueName := fmt.Sprintf("sqs-queue-%s", acctest.RandString(10)) resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -26,12 +27,12 @@ func TestAccAWSSQSQueue_basic(t *testing.T) { { Config: testAccAWSSQSConfigWithDefaults(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ @@ -41,14 +42,14 @@ func TestAccAWSSQSQueue_basic(t *testing.T) { { Config: testAccAWSSQSConfigWithOverrides(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueOverrideAttributes(&queueAttributes), ), }, { Config: testAccAWSSQSConfigWithDefaults(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), ), }, @@ -59,6 +60,7 @@ func TestAccAWSSQSQueue_basic(t *testing.T) { func TestAccAWSSQSQueue_tags(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" queueName := fmt.Sprintf("sqs-queue-%s", acctest.RandString(10)) resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -68,14 +70,14 @@ func TestAccAWSSQSQueue_tags(t *testing.T) { { Config: testAccAWSSQSConfigWithTags(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "tags.%", "2"), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "tags.Usage", "original"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Usage", "original"), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ @@ -85,18 +87,18 @@ func TestAccAWSSQSQueue_tags(t *testing.T) { { Config: testAccAWSSQSConfigWithTagsChanged(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "tags.%", "1"), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "tags.Usage", "changed"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.Usage", "changed"), ), }, { Config: testAccAWSSQSConfigWithDefaults(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), - resource.TestCheckNoResourceAttr("aws_sqs_queue.queue", "tags"), + resource.TestCheckNoResourceAttr(resourceName, "tags"), ), }, }, @@ -106,6 +108,7 @@ func TestAccAWSSQSQueue_tags(t *testing.T) { func TestAccAWSSQSQueue_namePrefix(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" prefix := "acctest-sqs-queue" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -115,13 +118,13 @@ func TestAccAWSSQSQueue_namePrefix(t *testing.T) { { Config: testAccAWSSQSConfigWithNamePrefix(prefix), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), - resource.TestMatchResourceAttr("aws_sqs_queue.queue", "name", regexp.MustCompile(`^acctest-sqs-queue`)), + resource.TestMatchResourceAttr(resourceName, "name", regexp.MustCompile(`^acctest-sqs-queue`)), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ @@ -135,6 +138,7 @@ func TestAccAWSSQSQueue_namePrefix(t *testing.T) { func TestAccAWSSQSQueue_namePrefix_fifo(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" prefix := "acctest-sqs-queue" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -144,13 +148,13 @@ func TestAccAWSSQSQueue_namePrefix_fifo(t *testing.T) { { Config: testAccAWSSQSFifoConfigWithNamePrefix(prefix), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), - resource.TestMatchResourceAttr("aws_sqs_queue.queue", "name", regexp.MustCompile(`^acctest-sqs-queue.*\.fifo$`)), + resource.TestMatchResourceAttr(resourceName, "name", regexp.MustCompile(`^acctest-sqs-queue.*\.fifo$`)), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ @@ -198,6 +202,7 @@ func TestAccAWSSQSQueue_policy(t *testing.T) { func TestAccAWSSQSQueue_queueDeletedRecently(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" queueName := fmt.Sprintf("sqs-queue-%s", acctest.RandString(10)) resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -207,17 +212,17 @@ func TestAccAWSSQSQueue_queueDeletedRecently(t *testing.T) { { Config: testAccAWSSQSConfigWithDefaults(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), ), }, { Config: testAccAWSSQSConfigWithDefaults(queueName), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), testAccCheckAWSSQSQueueDefaultAttributes(&queueAttributes), ), - Taint: []string{"aws_sqs_queue.queue"}, + Taint: []string{resourceName}, }, }, }) @@ -283,6 +288,7 @@ func TestAccAWSSQSQueue_Policybasic(t *testing.T) { func TestAccAWSSQSQueue_FIFO(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, @@ -291,12 +297,12 @@ func TestAccAWSSQSQueue_FIFO(t *testing.T) { { Config: testAccAWSSQSConfigWithFIFO(acctest.RandString(10)), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "fifo_queue", "true"), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), + resource.TestCheckResourceAttr(resourceName, "fifo_queue", "true"), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ @@ -324,6 +330,7 @@ func TestAccAWSSQSQueue_FIFOExpectNameError(t *testing.T) { func TestAccAWSSQSQueue_FIFOWithContentBasedDeduplication(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, @@ -332,13 +339,13 @@ func TestAccAWSSQSQueue_FIFOWithContentBasedDeduplication(t *testing.T) { { Config: testAccAWSSQSConfigWithFIFOContentBasedDeduplication(acctest.RandString(10)), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "fifo_queue", "true"), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "content_based_deduplication", "true"), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), + resource.TestCheckResourceAttr(resourceName, "fifo_queue", "true"), + resource.TestCheckResourceAttr(resourceName, "content_based_deduplication", "true"), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ @@ -366,6 +373,7 @@ func TestAccAWSSQSQueue_ExpectContentBasedDeduplicationError(t *testing.T) { func TestAccAWSSQSQueue_Encryption(t *testing.T) { var queueAttributes map[string]*string + resourceName := "aws_sqs_queue.queue" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, @@ -374,12 +382,12 @@ func TestAccAWSSQSQueue_Encryption(t *testing.T) { { Config: testAccAWSSQSConfigWithEncryption(acctest.RandString(10)), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSSQSQueueExists("aws_sqs_queue.queue", &queueAttributes), - resource.TestCheckResourceAttr("aws_sqs_queue.queue", "kms_master_key_id", "alias/aws/sqs"), + testAccCheckAWSSQSQueueExists(resourceName, &queueAttributes), + resource.TestCheckResourceAttr(resourceName, "kms_master_key_id", "alias/aws/sqs"), ), }, { - ResourceName: "aws_sqs_queue.queue", + ResourceName: resourceName, ImportState: true, ImportStateVerify: true, ImportStateVerifyIgnore: []string{ From 5a24582151aec1b3cbf96acf083d2bbffcf1022d Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 10:26:00 -0500 Subject: [PATCH 30/46] resource/aws_sqs_queue: Re-add contextual comment about ignoring certain list tags errors Reference: https://github.com/terraform-providers/terraform-provider-aws/pull/10797#pullrequestreview-314258297 --- aws/resource_aws_sqs_queue.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/aws/resource_aws_sqs_queue.go b/aws/resource_aws_sqs_queue.go index 34901fedcdd..6d55747ec19 100644 --- a/aws/resource_aws_sqs_queue.go +++ b/aws/resource_aws_sqs_queue.go @@ -418,6 +418,9 @@ func resourceAwsSqsQueueRead(d *schema.ResourceData, meta interface{}) error { tags, err := keyvaluetags.SqsListTags(sqsconn, d.Id()) if err != nil { + // Non-standard partitions (e.g. US Gov) and some local development + // solutions do not yet support this API call. Depending on the + // implementation it may return InvalidAction or AWS.SimpleQueueService.UnsupportedOperation if !isAWSErr(err, "InvalidAction", "") && !isAWSErr(err, sqs.ErrCodeUnsupportedOperation, "") { return fmt.Errorf("error listing tags for SQS Queue (%s): %s", d.Id(), err) } From c5d2e232f855a66c97900cf5e61b982f92081232 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 10:50:58 -0500 Subject: [PATCH 31/46] docs/resource/aws_api_gateway_stage: Fix arn attribute indentation and alphabetize Reference: https://github.com/terraform-providers/terraform-provider-aws/pull/10570#pullrequestreview-314274599 --- website/docs/r/api_gateway_stage.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/api_gateway_stage.html.markdown b/website/docs/r/api_gateway_stage.html.markdown index b1fef7537fb..92a60bca1ec 100644 --- a/website/docs/r/api_gateway_stage.html.markdown +++ b/website/docs/r/api_gateway_stage.html.markdown @@ -124,13 +124,13 @@ For more information on configuring the log format rules visit the AWS [document In addition to all arguments above, the following attributes are exported: +* `arn` - Amazon Resource Name (ARN) * `id` - The ID of the stage * `invoke_url` - The URL to invoke the API pointing to the stage, e.g. `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod` * `execution_arn` - The execution ARN to be used in [`lambda_permission`](/docs/providers/aws/r/lambda_permission.html)'s `source_arn` when allowing API Gateway to invoke a Lambda function, e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod` - * `arn` - Amazon Resource Name (ARN) ## Import From d8ad253427f9cd742870846fe779fa580c184ee3 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 10:52:01 -0500 Subject: [PATCH 32/46] Update CHANGELOG for #10570 --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65d06b6dbe2..43786e8200c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ ## 2.36.0 (Unreleased) + +ENHANCEMENTS: + +* resource/aws_apigateway_stage: Add `tags` argument and `arn` attribute [GH-10570] + ## 2.35.0 (November 07, 2019) NOTES: From d26c499d1ed64872b603ffc142485e462fa4b181 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 10:52:36 -0500 Subject: [PATCH 33/46] Adjust CHANGELOG for #10570 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 43786e8200c..c1e4f286311 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ENHANCEMENTS: -* resource/aws_apigateway_stage: Add `tags` argument and `arn` attribute [GH-10570] +* resource/aws_apigateway_stage: Add `arn` attribute [GH-10570] ## 2.35.0 (November 07, 2019) From 50d66de3bf9a0e2dc969f98368c3042064886505 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 8 Nov 2019 18:23:09 +0200 Subject: [PATCH 34/46] Add Tag Support to API Gateway Usage Plan Resource (#10566) Output from acceptance testing: ``` --- PASS: TestAccAWSAPIGatewayUsagePlan_throttlingInitialRateLimit (42.37s) --- PASS: TestAccAWSAPIGatewayUsagePlan_basic (129.58s) --- PASS: TestAccAWSAPIGatewayUsagePlan_productCode (307.70s) --- PASS: TestAccAWSAPIGatewayUsagePlan_apiStages (342.27s) --- PASS: TestAccAWSAPIGatewayUsagePlan_description (371.72s) --- PASS: TestAccAWSAPIGatewayUsagePlan_throttling (400.19s) --- PASS: TestAccAWSAPIGatewayUsagePlan_quota (500.22s) ``` --- aws/resource_aws_api_gateway_usage_plan.go | 2 +- aws/resource_aws_api_gateway_usage_plan_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aws/resource_aws_api_gateway_usage_plan.go b/aws/resource_aws_api_gateway_usage_plan.go index 11f4d2dad5b..257e40311a6 100644 --- a/aws/resource_aws_api_gateway_usage_plan.go +++ b/aws/resource_aws_api_gateway_usage_plan.go @@ -235,7 +235,7 @@ func resourceAwsApiGatewayUsagePlanRead(d *schema.ResourceData, meta interface{} UsagePlanId: aws.String(d.Id()), }) if err != nil { - if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "NotFoundException" { + if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == apigateway.ErrCodeNotFoundException { log.Printf("[WARN] API Gateway Usage Plan (%s) not found, removing from state", d.Id()) d.SetId("") return nil diff --git a/aws/resource_aws_api_gateway_usage_plan_test.go b/aws/resource_aws_api_gateway_usage_plan_test.go index 47036795eb7..ca440e0c645 100644 --- a/aws/resource_aws_api_gateway_usage_plan_test.go +++ b/aws/resource_aws_api_gateway_usage_plan_test.go @@ -414,7 +414,7 @@ func testAccCheckAWSAPIGatewayUsagePlanDestroy(s *terraform.State) error { if !ok { return err } - if aws2err.Code() != "NotFoundException" { + if aws2err.Code() != apigateway.ErrCodeNotFoundException { return err } From 7ca2e3824a3cf1de4cb4c46f7e67b075203396d6 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 11:23:57 -0500 Subject: [PATCH 35/46] Update CHANGELOG for #10566 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1e4f286311..b926f9a8a5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ENHANCEMENTS: * resource/aws_apigateway_stage: Add `arn` attribute [GH-10570] +* resource/aws_apigateway_usage_plan: Add `tags` argument and `arn` attribute [GH-10566] ## 2.35.0 (November 07, 2019) From 1813f5f54e47420e5b6a19d2125e55f6ccb851ef Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 8 Nov 2019 18:36:55 +0200 Subject: [PATCH 36/46] resource/aws_cloudformation_stack_set: Refactor to use keyvaluetags package (#10786) Output from acceptance testing: ``` --- SKIP: TestAccAWSCloudFormationStackSet_Parameters_Default (0.00s) --- SKIP: TestAccAWSCloudFormationStackSet_Parameters_NoEcho (0.00s) --- PASS: TestAccAWSCloudFormationStackSet_Description (23.40s) --- PASS: TestAccAWSCloudFormationStackSet_Name (27.19s) --- PASS: TestAccAWSCloudFormationStackSet_Parameters (39.54s) --- PASS: TestAccAWSCloudFormationStackSet_disappears (41.55s) --- PASS: TestAccAWSCloudFormationStackSet_basic (41.82s) --- PASS: TestAccAWSCloudFormationStackSet_TemplateUrl (50.20s) --- PASS: TestAccAWSCloudFormationStackSet_TemplateBody (53.26s) --- PASS: TestAccAWSCloudFormationStackSet_ExecutionRoleName (79.36s) --- PASS: TestAccAWSCloudFormationStackSet_AdministrationRoleArn (79.94s) --- PASS: TestAccAWSCloudFormationStackSet_Tags (96.49s) ``` --- aws/resource_aws_cloudformation_stack_set.go | 13 +++++-------- aws/structure.go | 19 ------------------- 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/aws/resource_aws_cloudformation_stack_set.go b/aws/resource_aws_cloudformation_stack_set.go index 15420cf4297..0c10bff5b45 100644 --- a/aws/resource_aws_cloudformation_stack_set.go +++ b/aws/resource_aws_cloudformation_stack_set.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" + "github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags" ) func resourceAwsCloudFormationStackSet() *schema.Resource { @@ -74,11 +75,7 @@ func resourceAwsCloudFormationStackSet() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "tags": { - Type: schema.TypeMap, - Optional: true, - Elem: &schema.Schema{Type: schema.TypeString}, - }, + "tags": tagsSchema(), "template_body": { Type: schema.TypeString, Optional: true, @@ -120,7 +117,7 @@ func resourceAwsCloudFormationStackSetCreate(d *schema.ResourceData, meta interf } if v, ok := d.GetOk("tags"); ok { - input.Tags = expandCloudFormationTags(v.(map[string]interface{})) + input.Tags = keyvaluetags.New(v.(map[string]interface{})).IgnoreAws().CloudformationTags() } if v, ok := d.GetOk("template_body"); ok { @@ -186,7 +183,7 @@ func resourceAwsCloudFormationStackSetRead(d *schema.ResourceData, meta interfac d.Set("stack_set_id", stackSet.StackSetId) - if err := d.Set("tags", flattenCloudFormationTags(stackSet.Tags)); err != nil { + if err := d.Set("tags", keyvaluetags.CloudformationKeyValueTags(stackSet.Tags).IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } @@ -220,7 +217,7 @@ func resourceAwsCloudFormationStackSetUpdate(d *schema.ResourceData, meta interf } if v, ok := d.GetOk("tags"); ok { - input.Tags = expandCloudFormationTags(v.(map[string]interface{})) + input.Tags = keyvaluetags.New(v.(map[string]interface{})).IgnoreAws().CloudformationTags() } if v, ok := d.GetOk("template_url"); ok { diff --git a/aws/structure.go b/aws/structure.go index 52eaa1dce59..69c32f9c069 100644 --- a/aws/structure.go +++ b/aws/structure.go @@ -1622,25 +1622,6 @@ func flattenAllCloudFormationParameters(cfParams []*cloudformation.Parameter) ma return params } -func expandCloudFormationTags(tags map[string]interface{}) []*cloudformation.Tag { - var cfTags []*cloudformation.Tag - for k, v := range tags { - cfTags = append(cfTags, &cloudformation.Tag{ - Key: aws.String(k), - Value: aws.String(v.(string)), - }) - } - return cfTags -} - -func flattenCloudFormationTags(cfTags []*cloudformation.Tag) map[string]string { - tags := make(map[string]string, len(cfTags)) - for _, t := range cfTags { - tags[*t.Key] = *t.Value - } - return tags -} - func flattenCloudFormationOutputs(cfOutputs []*cloudformation.Output) map[string]string { outputs := make(map[string]string, len(cfOutputs)) for _, o := range cfOutputs { From 296ca65496e5f3fe5497e121768782da39e69454 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 8 Nov 2019 18:39:39 +0200 Subject: [PATCH 37/46] resource/aws_waf_rule: Add arn attribute and refactor to use keyvaluetags.WafListTags() (#10798) Output from acceptance testing: ``` --- PASS: TestAccAWSWafRule_disappears (37.44s) --- PASS: TestAccAWSWafRule_changeNameForceNew (78.08s) --- PASS: TestAccAWSWafRule_Tags (97.69s) --- PASS: TestAccAWSWafRule_basic (109.39s) --- PASS: TestAccAWSWafRule_noPredicates (120.43s) --- PASS: TestAccAWSWafRule_changePredicates (137.63s) --- PASS: TestAccAWSWafRule_geoMatchSetPredicate (171.14s) ``` --- aws/resource_aws_waf_rule.go | 38 ++++++++++++++++----------- aws/resource_aws_waf_rule_test.go | 4 ++- website/docs/r/waf_rule.html.markdown | 1 + 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/aws/resource_aws_waf_rule.go b/aws/resource_aws_waf_rule.go index a8fe22ef61c..82d8821da02 100644 --- a/aws/resource_aws_waf_rule.go +++ b/aws/resource_aws_waf_rule.go @@ -58,6 +58,10 @@ func resourceAwsWafRule() *schema.Resource { }, }, "tags": tagsSchema(), + "arn": { + Type: schema.TypeString, + Computed: true, + }, }, } } @@ -85,7 +89,17 @@ func resourceAwsWafRuleCreate(d *schema.ResourceData, meta interface{}) error { } resp := out.(*waf.CreateRuleOutput) d.SetId(*resp.Rule.RuleId) - return resourceAwsWafRuleUpdate(d, meta) + + newPredicates := d.Get("predicates").(*schema.Set).List() + if len(newPredicates) > 0 { + noPredicates := []interface{}{} + err := updateWafRuleResource(d.Id(), noPredicates, newPredicates, conn) + if err != nil { + return fmt.Errorf("Error Updating WAF Rule: %s", err) + } + } + + return resourceAwsWafRuleRead(d, meta) } func resourceAwsWafRuleRead(d *schema.ResourceData, meta interface{}) error { @@ -97,7 +111,7 @@ func resourceAwsWafRuleRead(d *schema.ResourceData, meta interface{}) error { resp, err := conn.GetRule(params) if err != nil { - if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "WAFNonexistentItemException" { + if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == waf.ErrCodeNonexistentItemException { log.Printf("[WARN] WAF Rule (%s) not found, removing from state", d.Id()) d.SetId("") return nil @@ -123,14 +137,15 @@ func resourceAwsWafRuleRead(d *schema.ResourceData, meta interface{}) error { AccountID: meta.(*AWSClient).accountid, Resource: fmt.Sprintf("rule/%s", d.Id()), }.String() + d.Set("arn", arn) + + tags, err := keyvaluetags.WafListTags(conn, arn) - tagList, err := conn.ListTagsForResource(&waf.ListTagsForResourceInput{ - ResourceARN: aws.String(arn), - }) if err != nil { - return fmt.Errorf("Failed to get WAF Rule parameter tags for %s: %s", d.Get("name"), err) + return fmt.Errorf("error listing tags for WAF Rule (%s): %s", arn, err) } - if err := d.Set("tags", keyvaluetags.WafKeyValueTags(tagList.TagInfoForResource.TagList).IgnoreAws().Map()); err != nil { + + if err := d.Set("tags", tags.IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } @@ -157,14 +172,7 @@ func resourceAwsWafRuleUpdate(d *schema.ResourceData, meta interface{}) error { if d.HasChange("tags") { o, n := d.GetChange("tags") - arn := arn.ARN{ - Partition: meta.(*AWSClient).partition, - Service: "waf", - AccountID: meta.(*AWSClient).accountid, - Resource: fmt.Sprintf("rule/%s", d.Id()), - }.String() - - if err := keyvaluetags.WafUpdateTags(conn, arn, o, n); err != nil { + if err := keyvaluetags.WafUpdateTags(conn, d.Get("arn").(string), o, n); err != nil { return fmt.Errorf("error updating tags: %s", err) } } diff --git a/aws/resource_aws_waf_rule_test.go b/aws/resource_aws_waf_rule_test.go index ea7e6054cbc..afd7aacf476 100644 --- a/aws/resource_aws_waf_rule_test.go +++ b/aws/resource_aws_waf_rule_test.go @@ -2,6 +2,7 @@ package aws import ( "fmt" + "regexp" "testing" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" @@ -30,6 +31,7 @@ func TestAccAWSWafRule_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "name", wafRuleName), resource.TestCheckResourceAttr(resourceName, "predicates.#", "1"), resource.TestCheckResourceAttr(resourceName, "metric_name", wafRuleName), + testAccMatchResourceAttrGlobalARN(resourceName, "arn", "waf", regexp.MustCompile(`rule/.+`)), ), }, { @@ -368,7 +370,7 @@ func testAccCheckAWSWafRuleDestroy(s *terraform.State) error { // Return nil if the Rule is already destroyed if awsErr, ok := err.(awserr.Error); ok { - if awsErr.Code() == "WAFNonexistentItemException" { + if awsErr.Code() == waf.ErrCodeNonexistentItemException { return nil } } diff --git a/website/docs/r/waf_rule.html.markdown b/website/docs/r/waf_rule.html.markdown index a455a7da2fd..d0f110b9773 100644 --- a/website/docs/r/waf_rule.html.markdown +++ b/website/docs/r/waf_rule.html.markdown @@ -64,6 +64,7 @@ See the [WAF Documentation](https://docs.aws.amazon.com/waf/latest/APIReference/ In addition to all arguments above, the following attributes are exported: * `id` - The ID of the WAF rule. +* `arn` - The ARN of the WAF rule. ## Import From 9176e8633916a3db85efad801d716cb9fabcbd15 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 11:40:10 -0500 Subject: [PATCH 38/46] Update CHANGELOG for #10798 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b926f9a8a5e..407e11f116a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ENHANCEMENTS: * resource/aws_apigateway_stage: Add `arn` attribute [GH-10570] * resource/aws_apigateway_usage_plan: Add `tags` argument and `arn` attribute [GH-10566] +* resource/aws_waf_rule: Add `arn` attribute [GH-10798] ## 2.35.0 (November 07, 2019) From ff2cb2183a2fbfe8a3272e58c01c935c5216f1ef Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 8 Nov 2019 19:14:37 +0200 Subject: [PATCH 39/46] resource/aws_waf_rule_group: Add arn attribute and refactor to use keyvaluetags.WafListTags() (#10799) Output from acceptance testing: ``` --- PASS: TestAccAWSWafRuleGroup_noActivatedRules (19.50s) --- PASS: TestAccAWSWafRuleGroup_basic (34.23s) --- PASS: TestAccAWSWafRuleGroup_changeNameForceNew (40.88s) --- PASS: TestAccAWSWafRuleGroup_Tags (41.96s) --- PASS: TestAccAWSWafRuleGroup_disappears (59.83s) --- PASS: TestAccAWSWafRuleGroup_changeActivatedRules (75.38s) ``` --- aws/resource_aws_waf_rule_group.go | 37 ++++++++++++--------- aws/resource_aws_waf_rule_group_test.go | 4 ++- website/docs/r/waf_rule_group.html.markdown | 1 + 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/aws/resource_aws_waf_rule_group.go b/aws/resource_aws_waf_rule_group.go index 9f15081d86e..3b2ac9aebde 100644 --- a/aws/resource_aws_waf_rule_group.go +++ b/aws/resource_aws_waf_rule_group.go @@ -68,6 +68,10 @@ func resourceAwsWafRuleGroup() *schema.Resource { }, }, "tags": tagsSchema(), + "arn": { + Type: schema.TypeString, + Computed: true, + }, }, } } @@ -95,7 +99,18 @@ func resourceAwsWafRuleGroupCreate(d *schema.ResourceData, meta interface{}) err } resp := out.(*waf.CreateRuleGroupOutput) d.SetId(*resp.RuleGroup.RuleGroupId) - return resourceAwsWafRuleGroupUpdate(d, meta) + + activatedRules := d.Get("activated_rule").(*schema.Set).List() + if len(activatedRules) > 0 { + noActivatedRules := []interface{}{} + + err := updateWafRuleGroupResource(d.Id(), noActivatedRules, activatedRules, conn) + if err != nil { + return fmt.Errorf("Error Updating WAF Rule Group: %s", err) + } + } + + return resourceAwsWafRuleGroupRead(d, meta) } func resourceAwsWafRuleGroupRead(d *schema.ResourceData, meta interface{}) error { @@ -107,7 +122,7 @@ func resourceAwsWafRuleGroupRead(d *schema.ResourceData, meta interface{}) error resp, err := conn.GetRuleGroup(params) if err != nil { - if isAWSErr(err, "WAFNonexistentItemException", "") { + if isAWSErr(err, waf.ErrCodeNonexistentItemException, "") { log.Printf("[WARN] WAF Rule Group (%s) not found, removing from state", d.Id()) d.SetId("") return nil @@ -129,14 +144,13 @@ func resourceAwsWafRuleGroupRead(d *schema.ResourceData, meta interface{}) error AccountID: meta.(*AWSClient).accountid, Resource: fmt.Sprintf("rulegroup/%s", d.Id()), }.String() + d.Set("arn", arn) - tagList, err := conn.ListTagsForResource(&waf.ListTagsForResourceInput{ - ResourceARN: aws.String(arn), - }) + tags, err := keyvaluetags.WafListTags(conn, arn) if err != nil { - return fmt.Errorf("Failed to get WAF Rule Group parameter tags for %s: %s", d.Get("name"), err) + return fmt.Errorf("error listing tags for WAF Rule Group (%s): %s", arn, err) } - if err := d.Set("tags", keyvaluetags.WafKeyValueTags(tagList.TagInfoForResource.TagList).IgnoreAws().Map()); err != nil { + if err := d.Set("tags", tags.IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } @@ -163,14 +177,7 @@ func resourceAwsWafRuleGroupUpdate(d *schema.ResourceData, meta interface{}) err if d.HasChange("tags") { o, n := d.GetChange("tags") - arn := arn.ARN{ - Partition: meta.(*AWSClient).partition, - Service: "waf", - AccountID: meta.(*AWSClient).accountid, - Resource: fmt.Sprintf("rulegroup/%s", d.Id()), - }.String() - - if err := keyvaluetags.WafUpdateTags(conn, arn, o, n); err != nil { + if err := keyvaluetags.WafUpdateTags(conn, d.Get("arn").(string), o, n); err != nil { return fmt.Errorf("error updating tags: %s", err) } } diff --git a/aws/resource_aws_waf_rule_group_test.go b/aws/resource_aws_waf_rule_group_test.go index 096d6c58e6b..886b0dd9fd0 100644 --- a/aws/resource_aws_waf_rule_group_test.go +++ b/aws/resource_aws_waf_rule_group_test.go @@ -3,6 +3,7 @@ package aws import ( "fmt" "log" + "regexp" "testing" "github.com/aws/aws-sdk-go/aws" @@ -88,6 +89,7 @@ func TestAccAWSWafRuleGroup_basic(t *testing.T) { testCheckResourceAttrWithIndexesAddr(resourceName, "activated_rule.%d.action.0.type", &idx, "COUNT"), testCheckResourceAttrWithIndexesAddr(resourceName, "activated_rule.%d.priority", &idx, "50"), testCheckResourceAttrWithIndexesAddr(resourceName, "activated_rule.%d.type", &idx, waf.WafRuleTypeRegular), + testAccMatchResourceAttrGlobalARN(resourceName, "arn", "waf", regexp.MustCompile(`rulegroup/.+`)), ), }, { @@ -385,7 +387,7 @@ func testAccCheckAWSWafRuleGroupDestroy(s *terraform.State) error { } } - if isAWSErr(err, "WAFNonexistentItemException", "") { + if isAWSErr(err, waf.ErrCodeNonexistentItemException, "") { return nil } diff --git a/website/docs/r/waf_rule_group.html.markdown b/website/docs/r/waf_rule_group.html.markdown index 19901fbf4c4..0e3f6bd56be 100644 --- a/website/docs/r/waf_rule_group.html.markdown +++ b/website/docs/r/waf_rule_group.html.markdown @@ -59,6 +59,7 @@ The following arguments are supported: In addition to all arguments above, the following attributes are exported: * `id` - The ID of the WAF rule group. +* `arn` - The ARN of the WAF rule group. ## Import From 82d72a5916ffcf586771137cab9a8c570ea61ecb Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 12:16:43 -0500 Subject: [PATCH 40/46] Update CHANGELOG for #10799 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 407e11f116a..07bd4b71ecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ENHANCEMENTS: * resource/aws_apigateway_stage: Add `arn` attribute [GH-10570] * resource/aws_apigateway_usage_plan: Add `tags` argument and `arn` attribute [GH-10566] * resource/aws_waf_rule: Add `arn` attribute [GH-10798] +* resource/aws_waf_rule_group: Add `arn` attribute [GH-10799] ## 2.35.0 (November 07, 2019) From 2b61253e0b491f51d3182196c75f83382fa63978 Mon Sep 17 00:00:00 2001 From: HIRAMATSU Kentaro Date: Sat, 9 Nov 2019 03:19:50 +0900 Subject: [PATCH 41/46] data-source/aws_iam_group: Add users attribute (#7132) Output from acceptance testing: ``` --- PASS: TestAccAWSDataSourceIAMGroup_basic (10.27s) --- PASS: TestAccAWSDataSourceIAMGroup_users (12.62s) ``` --- aws/data_source_aws_iam_group.go | 40 +++++++++++++++++++ aws/data_source_aws_iam_group_test.go | 53 +++++++++++++++++++++++++- website/docs/d/iam_group.html.markdown | 12 ++++++ 3 files changed, 103 insertions(+), 2 deletions(-) diff --git a/aws/data_source_aws_iam_group.go b/aws/data_source_aws_iam_group.go index 8749a995c9c..8cf595bdf8c 100644 --- a/aws/data_source_aws_iam_group.go +++ b/aws/data_source_aws_iam_group.go @@ -30,6 +30,30 @@ func dataSourceAwsIAMGroup() *schema.Resource { Type: schema.TypeString, Required: true, }, + "users": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "arn": { + Type: schema.TypeString, + Computed: true, + }, + "user_id": { + Type: schema.TypeString, + Computed: true, + }, + "user_name": { + Type: schema.TypeString, + Computed: true, + }, + "path": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, }, } } @@ -58,6 +82,22 @@ func dataSourceAwsIAMGroupRead(d *schema.ResourceData, meta interface{}) error { d.Set("arn", group.Arn) d.Set("path", group.Path) d.Set("group_id", group.GroupId) + if err := d.Set("users", dataSourceUsersRead(resp.Users)); err != nil { + return fmt.Errorf("error setting users: %s", err) + } return nil } + +func dataSourceUsersRead(iamUsers []*iam.User) []map[string]interface{} { + users := make([]map[string]interface{}, 0, len(iamUsers)) + for _, i := range iamUsers { + u := make(map[string]interface{}) + u["arn"] = aws.StringValue(i.Arn) + u["user_id"] = aws.StringValue(i.UserId) + u["user_name"] = aws.StringValue(i.UserName) + u["path"] = aws.StringValue(i.Path) + users = append(users, u) + } + return users +} diff --git a/aws/data_source_aws_iam_group_test.go b/aws/data_source_aws_iam_group_test.go index 143ab84ee83..e4a8f39f375 100644 --- a/aws/data_source_aws_iam_group_test.go +++ b/aws/data_source_aws_iam_group_test.go @@ -2,7 +2,6 @@ package aws import ( "fmt" - "regexp" "testing" "github.com/hashicorp/terraform-plugin-sdk/helper/acctest" @@ -22,7 +21,34 @@ func TestAccAWSDataSourceIAMGroup_basic(t *testing.T) { resource.TestCheckResourceAttrSet("data.aws_iam_group.test", "group_id"), resource.TestCheckResourceAttr("data.aws_iam_group.test", "path", "/"), resource.TestCheckResourceAttr("data.aws_iam_group.test", "group_name", groupName), - resource.TestMatchResourceAttr("data.aws_iam_group.test", "arn", regexp.MustCompile("^arn:aws:iam::[0-9]{12}:group/"+groupName)), + testAccCheckResourceAttrGlobalARN("data.aws_iam_group.test", "arn", "iam", fmt.Sprintf("group/%s", groupName)), + ), + }, + }, + }) +} + +func TestAccAWSDataSourceIAMGroup_users(t *testing.T) { + groupName := fmt.Sprintf("test-datasource-group-%d", acctest.RandInt()) + userName := fmt.Sprintf("test-datasource-user-%d", acctest.RandInt()) + groupMemberShipName := fmt.Sprintf("test-datasource-group-membership-%d", acctest.RandInt()) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccAwsIAMGroupConfigWithUser(groupName, userName, groupMemberShipName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("data.aws_iam_group.test", "group_id"), + resource.TestCheckResourceAttr("data.aws_iam_group.test", "path", "/"), + resource.TestCheckResourceAttr("data.aws_iam_group.test", "group_name", groupName), + testAccCheckResourceAttrGlobalARN("data.aws_iam_group.test", "arn", "iam", fmt.Sprintf("group/%s", groupName)), + resource.TestCheckResourceAttr("data.aws_iam_group.test", "users.#", "1"), + resource.TestCheckResourceAttrPair("data.aws_iam_group.test", "users.0.arn", "aws_iam_user.user", "arn"), + resource.TestCheckResourceAttrPair("data.aws_iam_group.test", "users.0.user_id", "aws_iam_user.user", "unique_id"), + resource.TestCheckResourceAttrPair("data.aws_iam_group.test", "users.0.user_name", "aws_iam_user.user", "name"), + resource.TestCheckResourceAttrPair("data.aws_iam_group.test", "users.0.path", "aws_iam_user.user", "path"), ), }, }, @@ -41,3 +67,26 @@ data "aws_iam_group" "test" { } `, name) } + +func testAccAwsIAMGroupConfigWithUser(groupName, userName, membershipName string) string { + return fmt.Sprintf(` +resource "aws_iam_group" "group" { + name = "%s" + path = "/" +} + +resource "aws_iam_user" "user" { + name = "%s" +} + +resource "aws_iam_group_membership" "team" { + name = "%s" + users = ["${aws_iam_user.user.name}"] + group = "${aws_iam_group.group.name}" +} + +data "aws_iam_group" "test" { + group_name = "${aws_iam_group_membership.team.group}" +} +`, groupName, userName, membershipName) +} diff --git a/website/docs/d/iam_group.html.markdown b/website/docs/d/iam_group.html.markdown index a32d41981d1..c14fde11711 100644 --- a/website/docs/d/iam_group.html.markdown +++ b/website/docs/d/iam_group.html.markdown @@ -31,3 +31,15 @@ data "aws_iam_group" "example" { * `path` - The path to the group. * `group_id` - The stable and unique string identifying the group. + +* `users` - List of objects containing group member information. See supported fields below. + +### `users` + +* `arn` - The Amazon Resource Name (ARN) specifying the iam user. + +* `user_id` - The stable and unique string identifying the iam user. + +* `user_name` - The name of the iam user. + +* `path` - The path to the iam user. \ No newline at end of file From a9e95f9db97af233b665137de686a1e265175e95 Mon Sep 17 00:00:00 2001 From: Brian Flad Date: Fri, 8 Nov 2019 13:20:26 -0500 Subject: [PATCH 42/46] Update CHANGELOG for #7132 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07bd4b71ecf..538f6102767 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ENHANCEMENTS: +* data-source/aws_iam_group: Add `users` attribute [GH-7132] * resource/aws_apigateway_stage: Add `arn` attribute [GH-10570] * resource/aws_apigateway_usage_plan: Add `tags` argument and `arn` attribute [GH-10566] * resource/aws_waf_rule: Add `arn` attribute [GH-10798] From 3bfa83844d1b5ee872de52abb4bf220b1ce27661 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 8 Nov 2019 20:24:09 +0200 Subject: [PATCH 43/46] resource/aws_waf_web_acl: Refactor to use keyvaluetags.WafListTags() (#10801) Output from acceptance testing (failure unrelated): ``` --- PASS: TestAccAWSWafWebAcl_disappears (12.41s) --- PASS: TestAccAWSWafWebAcl_basic (16.78s) --- PASS: TestAccAWSWafWebAcl_DefaultAction (27.95s) --- PASS: TestAccAWSWafWebAcl_Tags (42.49s) --- PASS: TestAccAWSWafWebAcl_changeNameForceNew (51.29s) --- FAIL: TestAccAWSWafWebAcl_Rules (61.07s) --- PASS: TestAccAWSWafWebAcl_LoggingConfiguration (109.63s) ``` --- aws/resource_aws_waf_web_acl.go | 50 +++++++++++++++++------- aws/resource_aws_waf_web_acl_test.go | 2 + website/docs/r/waf_web_acl.html.markdown | 1 + 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/aws/resource_aws_waf_web_acl.go b/aws/resource_aws_waf_web_acl.go index dbe65c2bd40..0e9df3bd4b6 100644 --- a/aws/resource_aws_waf_web_acl.go +++ b/aws/resource_aws_waf_web_acl.go @@ -178,9 +178,36 @@ func resourceAwsWafWebAclCreate(d *schema.ResourceData, meta interface{}) error Resource: fmt.Sprintf("webacl/%s", d.Id()), }.String() - // Set for update - d.Set("arn", arn) - return resourceAwsWafWebAclUpdate(d, meta) + loggingConfiguration := d.Get("logging_configuration").([]interface{}) + if len(loggingConfiguration) == 1 { + input := &waf.PutLoggingConfigurationInput{ + LoggingConfiguration: expandWAFLoggingConfiguration(loggingConfiguration, arn), + } + + log.Printf("[DEBUG] Updating WAF Web ACL (%s) Logging Configuration: %s", d.Id(), input) + if _, err := conn.PutLoggingConfiguration(input); err != nil { + return fmt.Errorf("error updating WAF Web ACL (%s) Logging Configuration: %s", d.Id(), err) + } + } + + rules := d.Get("rules").(*schema.Set).List() + if len(rules) > 0 { + wr := newWafRetryer(conn) + _, err := wr.RetryWithToken(func(token *string) (interface{}, error) { + req := &waf.UpdateWebACLInput{ + ChangeToken: token, + DefaultAction: expandWafAction(d.Get("default_action").(*schema.Set).List()), + Updates: diffWafWebAclRules([]interface{}{}, rules), + WebACLId: aws.String(d.Id()), + } + return conn.UpdateWebACL(req) + }) + if err != nil { + return fmt.Errorf("Error Updating WAF ACL: %s", err) + } + } + + return resourceAwsWafWebAclRead(d, meta) } func resourceAwsWafWebAclRead(d *schema.ResourceData, meta interface{}) error { @@ -206,13 +233,8 @@ func resourceAwsWafWebAclRead(d *schema.ResourceData, meta interface{}) error { return nil } - arn := arn.ARN{ - Partition: meta.(*AWSClient).partition, - Service: "waf", - AccountID: meta.(*AWSClient).accountid, - Resource: fmt.Sprintf("webacl/%s", d.Id()), - }.String() - d.Set("arn", arn) + d.Set("arn", resp.WebACL.WebACLArn) + arn := *resp.WebACL.WebACLArn if err := d.Set("default_action", flattenWafAction(resp.WebACL.DefaultAction)); err != nil { return fmt.Errorf("error setting default_action: %s", err) @@ -220,13 +242,11 @@ func resourceAwsWafWebAclRead(d *schema.ResourceData, meta interface{}) error { d.Set("name", resp.WebACL.Name) d.Set("metric_name", resp.WebACL.MetricName) - tagList, err := conn.ListTagsForResource(&waf.ListTagsForResourceInput{ - ResourceARN: aws.String(arn), - }) + tags, err := keyvaluetags.WafListTags(conn, arn) if err != nil { - return fmt.Errorf("Failed to get WAF ACL parameter tags for %s: %s", d.Get("name"), err) + return fmt.Errorf("error listing tags for WAF ACL (%s): %s", arn, err) } - if err := d.Set("tags", keyvaluetags.WafKeyValueTags(tagList.TagInfoForResource.TagList).IgnoreAws().Map()); err != nil { + if err := d.Set("tags", tags.IgnoreAws().Map()); err != nil { return fmt.Errorf("error setting tags: %s", err) } diff --git a/aws/resource_aws_waf_web_acl_test.go b/aws/resource_aws_waf_web_acl_test.go index 9b22ceaca64..4f98734f80f 100644 --- a/aws/resource_aws_waf_web_acl_test.go +++ b/aws/resource_aws_waf_web_acl_test.go @@ -4,6 +4,7 @@ import ( "fmt" "log" "os" + "regexp" "testing" "github.com/aws/aws-sdk-go/aws" @@ -133,6 +134,7 @@ func TestAccAWSWafWebAcl_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "name", rName), resource.TestCheckResourceAttr(resourceName, "tags.%", "0"), resource.TestCheckResourceAttr(resourceName, "rules.#", "0"), + testAccMatchResourceAttrGlobalARN(resourceName, "arn", "waf", regexp.MustCompile(`webacl/.+`)), ), }, { diff --git a/website/docs/r/waf_web_acl.html.markdown b/website/docs/r/waf_web_acl.html.markdown index f96fb0dd6e1..879f980fc49 100644 --- a/website/docs/r/waf_web_acl.html.markdown +++ b/website/docs/r/waf_web_acl.html.markdown @@ -129,6 +129,7 @@ See [docs](http://docs.aws.amazon.com/waf/latest/APIReference/API_ActivatedRule. In addition to all arguments above, the following attributes are exported: * `id` - The ID of the WAF WebACL. +* `arn` - The ARN of the WAF WebACL. ## Import From 8681bbd3f2bb61eddbf05fe729297b8421244585 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2019 14:38:31 -0500 Subject: [PATCH 44/46] Update module aws/aws-sdk-go to v1.25.30 (#10717) --- go.mod | 2 +- go.sum | 4 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 164 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/service/budgets/api.go | 73 +- .../aws/aws-sdk-go/service/budgets/errors.go | 6 + .../aws/aws-sdk-go/service/cloudtrail/api.go | 648 +- .../aws/aws-sdk-go/service/cloudtrail/doc.go | 2 +- .../aws-sdk-go/service/cloudtrail/errors.go | 8 +- .../aws/aws-sdk-go/service/codebuild/api.go | 79 +- .../aws/aws-sdk-go/service/codebuild/doc.go | 3 +- .../service/databasemigrationservice/api.go | 72 + .../aws/aws-sdk-go/service/dax/api.go | 39 +- .../aws/aws-sdk-go/service/dax/errors.go | 2 + .../aws/aws-sdk-go/service/ec2/api.go | 73 +- .../aws/aws-sdk-go/service/efs/api.go | 3 + .../aws/aws-sdk-go/service/pinpoint/api.go | 18796 +++++++++------- .../aws/aws-sdk-go/service/rds/api.go | 334 +- .../aws/aws-sdk-go/service/rds/errors.go | 4 +- vendor/modules.txt | 2 +- 20 files changed, 12340 insertions(+), 7976 deletions(-) diff --git a/go.mod b/go.mod index 5beed2eda26..da9448a8d8d 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.24 + github.com/aws/aws-sdk-go v1.25.30 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 15911b231fb..3198d136910 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.24 h1:E8b33GQlfNuMumepuWhpSX+Mw71cEQK1BQaKzVBl3js= -github.com/aws/aws-sdk-go v1.25.24/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.30 h1:I9qj6zW3mMfsg91e+GMSN/INcaX9tTFvr/l/BAHKaIY= +github.com/aws/aws-sdk-go v1.25.30/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 1d04f3dee08..ae37831890e 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 @@ -210,6 +210,7 @@ var awsPartition = partition{ "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -524,8 +525,11 @@ var awsPartition = partition{ "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -877,11 +881,12 @@ var awsPartition = partition{ Region: "ca-central-1", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "codedeploy": service{ @@ -1306,6 +1311,7 @@ var awsPartition = partition{ "ds": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2162,6 +2168,9 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2520,6 +2529,12 @@ var awsPartition = partition{ Region: "ap-southeast-2", }, }, + "ca-central-1": endpoint{ + Hostname: "rds.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, "eu-central-1": endpoint{ Hostname: "rds.eu-central-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2544,6 +2559,12 @@ var awsPartition = partition{ Region: "eu-west-2", }, }, + "me-south-1": endpoint{ + Hostname: "rds.me-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "me-south-1", + }, + }, "us-east-1": endpoint{ Hostname: "rds.us-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2564,6 +2585,65 @@ var awsPartition = partition{ }, }, }, + "oidc": service{ + + Endpoints: endpoints{ + "ap-southeast-1": endpoint{ + Hostname: "oidc.ap-southeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-1", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "oidc.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + "ca-central-1": endpoint{ + Hostname: "oidc.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoint{ + Hostname: "oidc.eu-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-central-1", + }, + }, + "eu-west-1": endpoint{ + Hostname: "oidc.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "eu-west-2": endpoint{ + Hostname: "oidc.eu-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-2", + }, + }, + "us-east-1": endpoint{ + Hostname: "oidc.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{ + Hostname: "oidc.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-2": endpoint{ + Hostname: "oidc.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, "opsworks": service{ Endpoints: endpoints{ @@ -2647,6 +2727,65 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "portal.sso": service{ + + Endpoints: endpoints{ + "ap-southeast-1": endpoint{ + Hostname: "portal.sso.ap-southeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-1", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "portal.sso.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + "ca-central-1": endpoint{ + Hostname: "portal.sso.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoint{ + Hostname: "portal.sso.eu-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-central-1", + }, + }, + "eu-west-1": endpoint{ + Hostname: "portal.sso.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "eu-west-2": endpoint{ + Hostname: "portal.sso.eu-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-2", + }, + }, + "us-east-1": endpoint{ + Hostname: "portal.sso.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{ + Hostname: "portal.sso.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-2": endpoint{ + Hostname: "portal.sso.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, "projects.iot1click": service{ Endpoints: endpoints{ @@ -3125,6 +3264,19 @@ var awsPartition = partition{ }, }, }, + "savingsplans": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "savingsplans.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, "sdb": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -3732,6 +3884,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, @@ -3741,6 +3894,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{}, 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 f0a9efc8471..31787f59a1d 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.24" +const SDKVersion = "1.25.30" diff --git a/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go b/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go index f4c58fb3bb6..575051caca2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go @@ -85,6 +85,9 @@ func (c *Budgets) CreateBudgetRequest(input *CreateBudgetInput) (req *request.Re // * ErrCodeDuplicateRecordException "DuplicateRecordException" // The budget name already exists. Budget names must be unique within an account. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) CreateBudget(input *CreateBudgetInput) (*CreateBudgetOutput, error) { req, out := c.CreateBudgetRequest(input) return out, req.Send() @@ -177,6 +180,9 @@ func (c *Budgets) CreateNotificationRequest(input *CreateNotificationInput) (req // * ErrCodeDuplicateRecordException "DuplicateRecordException" // The budget name already exists. Budget names must be unique within an account. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) CreateNotification(input *CreateNotificationInput) (*CreateNotificationOutput, error) { req, out := c.CreateNotificationRequest(input) return out, req.Send() @@ -269,6 +275,9 @@ func (c *Budgets) CreateSubscriberRequest(input *CreateSubscriberInput) (req *re // * ErrCodeNotFoundException "NotFoundException" // We can’t locate the resource that you specified. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) CreateSubscriber(input *CreateSubscriberInput) (*CreateSubscriberOutput, error) { req, out := c.CreateSubscriberRequest(input) return out, req.Send() @@ -357,6 +366,9 @@ func (c *Budgets) DeleteBudgetRequest(input *DeleteBudgetInput) (req *request.Re // * ErrCodeNotFoundException "NotFoundException" // We can’t locate the resource that you specified. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DeleteBudget(input *DeleteBudgetInput) (*DeleteBudgetOutput, error) { req, out := c.DeleteBudgetRequest(input) return out, req.Send() @@ -445,6 +457,9 @@ func (c *Budgets) DeleteNotificationRequest(input *DeleteNotificationInput) (req // * ErrCodeNotFoundException "NotFoundException" // We can’t locate the resource that you specified. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DeleteNotification(input *DeleteNotificationInput) (*DeleteNotificationOutput, error) { req, out := c.DeleteNotificationRequest(input) return out, req.Send() @@ -532,6 +547,9 @@ func (c *Budgets) DeleteSubscriberRequest(input *DeleteSubscriberInput) (req *re // * ErrCodeNotFoundException "NotFoundException" // We can’t locate the resource that you specified. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DeleteSubscriber(input *DeleteSubscriberInput) (*DeleteSubscriberOutput, error) { req, out := c.DeleteSubscriberRequest(input) return out, req.Send() @@ -620,6 +638,9 @@ func (c *Budgets) DescribeBudgetRequest(input *DescribeBudgetInput) (req *reques // * ErrCodeNotFoundException "NotFoundException" // We can’t locate the resource that you specified. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DescribeBudget(input *DescribeBudgetInput) (*DescribeBudgetOutput, error) { req, out := c.DescribeBudgetRequest(input) return out, req.Send() @@ -711,6 +732,9 @@ func (c *Budgets) DescribeBudgetPerformanceHistoryRequest(input *DescribeBudgetP // * ErrCodeExpiredNextTokenException "ExpiredNextTokenException" // The pagination token expired. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DescribeBudgetPerformanceHistory(input *DescribeBudgetPerformanceHistoryInput) (*DescribeBudgetPerformanceHistoryOutput, error) { req, out := c.DescribeBudgetPerformanceHistoryRequest(input) return out, req.Send() @@ -805,6 +829,9 @@ func (c *Budgets) DescribeBudgetsRequest(input *DescribeBudgetsInput) (req *requ // * ErrCodeExpiredNextTokenException "ExpiredNextTokenException" // The pagination token expired. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DescribeBudgets(input *DescribeBudgetsInput) (*DescribeBudgetsOutput, error) { req, out := c.DescribeBudgetsRequest(input) return out, req.Send() @@ -895,6 +922,9 @@ func (c *Budgets) DescribeNotificationsForBudgetRequest(input *DescribeNotificat // * ErrCodeExpiredNextTokenException "ExpiredNextTokenException" // The pagination token expired. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DescribeNotificationsForBudget(input *DescribeNotificationsForBudgetInput) (*DescribeNotificationsForBudgetOutput, error) { req, out := c.DescribeNotificationsForBudgetRequest(input) return out, req.Send() @@ -985,6 +1015,9 @@ func (c *Budgets) DescribeSubscribersForNotificationRequest(input *DescribeSubsc // * ErrCodeExpiredNextTokenException "ExpiredNextTokenException" // The pagination token expired. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) DescribeSubscribersForNotification(input *DescribeSubscribersForNotificationInput) (*DescribeSubscribersForNotificationOutput, error) { req, out := c.DescribeSubscribersForNotificationRequest(input) return out, req.Send() @@ -1077,6 +1110,9 @@ func (c *Budgets) UpdateBudgetRequest(input *UpdateBudgetInput) (req *request.Re // * ErrCodeNotFoundException "NotFoundException" // We can’t locate the resource that you specified. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) UpdateBudget(input *UpdateBudgetInput) (*UpdateBudgetOutput, error) { req, out := c.UpdateBudgetRequest(input) return out, req.Send() @@ -1165,6 +1201,9 @@ func (c *Budgets) UpdateNotificationRequest(input *UpdateNotificationInput) (req // * ErrCodeDuplicateRecordException "DuplicateRecordException" // The budget name already exists. Budget names must be unique within an account. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) UpdateNotification(input *UpdateNotificationInput) (*UpdateNotificationOutput, error) { req, out := c.UpdateNotificationRequest(input) return out, req.Send() @@ -1253,6 +1292,9 @@ func (c *Budgets) UpdateSubscriberRequest(input *UpdateSubscriberInput) (req *re // * ErrCodeDuplicateRecordException "DuplicateRecordException" // The budget name already exists. Budget names must be unique within an account. // +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You are not authorized to use this operation with the given parameters. +// func (c *Budgets) UpdateSubscriber(input *UpdateSubscriberInput) (*UpdateSubscriberOutput, error) { req, out := c.UpdateSubscriberRequest(input) return out, req.Send() @@ -1284,14 +1326,14 @@ func (c *Budgets) UpdateSubscriberWithContext(ctx aws.Context, input *UpdateSubs type Budget struct { _ struct{} `type:"structure"` - // The total amount of cost, usage, RI utilization, or RI coverage that you - // want to track with your budget. + // The total amount of cost, usage, RI utilization, RI coverage, Savings Plans + // utilization, or Savings Plans coverage that you want to track with your budget. // - // BudgetLimit is required for cost or usage budgets, but optional for RI utilization - // or coverage budgets. RI utilization or coverage budgets default to 100, which - // is the only valid value for RI utilization or coverage budgets. You can't - // use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget - // actions. + // BudgetLimit is required for cost or usage budgets, but optional for RI or + // Savings Plans utilization or coverage budgets. RI and Savings Plans utilization + // or coverage budgets default to 100, which is the only valid value for RI + // or Savings Plans utilization or coverage budgets. You can't use BudgetLimit + // with PlannedBudgetLimits for CreateBudget and UpdateBudget actions. BudgetLimit *Spend `type:"structure"` // The name of a budget. The name must be unique within an account. The : and @@ -1300,7 +1342,8 @@ type Budget struct { // BudgetName is a required field BudgetName *string `min:"1" type:"string" required:"true"` - // Whether this budget tracks costs, usage, RI utilization, or RI coverage. + // Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings + // Plans utilization, or Savings Plans coverage. // // BudgetType is a required field BudgetType *string `type:"string" required:"true" enum:"BudgetType"` @@ -1325,7 +1368,8 @@ type Budget struct { // The types of costs that are included in this COST budget. // - // USAGE, RI_UTILIZATION, and RI_COVERAGE budgets do not have CostTypes. + // USAGE, RI_UTILIZATION, RI_COVERAGE, Savings_Plans_Utilization, and Savings_Plans_Coverage + // budgets do not have CostTypes. CostTypes *CostTypes `type:"structure"` // The last time that you updated this budget. @@ -1383,7 +1427,8 @@ type Budget struct { TimePeriod *TimePeriod `type:"structure"` // The length of time until a budget resets the actual and forecasted spend. - // DAILY is available only for RI_UTILIZATION and RI_COVERAGE budgets. + // DAILY is available only for RI_UTILIZATION, RI_COVERAGE, Savings_Plans_Utilization, + // and Savings_Plans_Coverage budgets. // // TimeUnit is a required field TimeUnit *string `type:"string" required:"true" enum:"TimeUnit"` @@ -3263,7 +3308,7 @@ type Subscriber struct { // The address that AWS sends budget notifications to, either an SNS topic or // an email. // - // AWS validates the address for a CreateSubscriber request with the .* regex. + // When you create a subscriber, the value of Address can't contain line breaks. // // Address is a required field Address *string `min:"1" type:"string" required:"true" sensitive:"true"` @@ -3699,6 +3744,12 @@ const ( // BudgetTypeRiCoverage is a BudgetType enum value BudgetTypeRiCoverage = "RI_COVERAGE" + + // BudgetTypeSavingsPlansUtilization is a BudgetType enum value + BudgetTypeSavingsPlansUtilization = "SAVINGS_PLANS_UTILIZATION" + + // BudgetTypeSavingsPlansCoverage is a BudgetType enum value + BudgetTypeSavingsPlansCoverage = "SAVINGS_PLANS_COVERAGE" ) // The comparison operator of a notification. Currently the service supports diff --git a/vendor/github.com/aws/aws-sdk-go/service/budgets/errors.go b/vendor/github.com/aws/aws-sdk-go/service/budgets/errors.go index 8737c2daa53..a67e8ecc41e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/budgets/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/budgets/errors.go @@ -4,6 +4,12 @@ package budgets const ( + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You are not authorized to use this operation with the given parameters. + ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeCreationLimitExceededException for service response error code // "CreationLimitExceededException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go index 7ddffc705c3..10b9bbdc42d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go @@ -58,12 +58,13 @@ func (c *CloudTrail) AddTagsRequest(input *AddTagsInput) (req *request.Request, // AddTags API operation for AWS CloudTrail. // -// Adds one or more tags to a trail, up to a limit of 50. Tags must be unique -// per trail. Overwrites an existing tag's value when a new value is specified -// for an existing tag key. If you specify a key without a value, the tag will -// be created with the specified key and a value of null. You can tag a trail -// that applies to all regions only from the region in which the trail was created -// (that is, from its home region). +// Adds one or more tags to a trail, up to a limit of 50. Overwrites an existing +// tag's value when a new value is specified for an existing tag key. Tag key +// names must be unique for a trail; you cannot have two keys with the same +// name but different values. If you specify a key without a value, the tag +// will be created with the specified key and a value of null. You can tag a +// trail that applies to all AWS Regions only from the Region in which the trail +// was created (also known as its home region). // // 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 @@ -107,8 +108,8 @@ func (c *CloudTrail) AddTagsRequest(input *AddTagsInput) (req *request.Request, // * Not be in IP address format (for example, 192.168.5.4) // // * ErrCodeInvalidTagParameterException "InvalidTagParameterException" -// This exception is thrown when the key or value specified for the tag does -// not match the regular expression ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$. +// This exception is thrown when the specified tag key or values are not valid. +// It can also occur if there are duplicate tags or too many tags on the resource. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // This exception is thrown when the requested operation is not supported. @@ -189,8 +190,7 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // CreateTrail API operation for AWS CloudTrail. // // Creates a trail that specifies the settings for delivery of log data to an -// Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective -// of the region in which they were created. +// Amazon S3 bucket. // // 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 @@ -248,7 +248,7 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // * Not be in IP address format (for example, 192.168.5.4) // // * ErrCodeTrailNotProvidedException "TrailNotProvidedException" -// This exception is deprecated. +// This exception is no longer in use. // // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" // This exception is thrown when the combination of parameters provided is not @@ -259,7 +259,7 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // bucket and the KMS key are not in the same region. // // * ErrCodeKmsKeyDisabledException "KmsKeyDisabledException" -// This exception is deprecated. +// This exception is no longer in use. // // * ErrCodeKmsException "KmsException" // This exception is thrown when there is an issue with the specified KMS key @@ -274,6 +274,10 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // * ErrCodeCloudWatchLogsDeliveryUnavailableException "CloudWatchLogsDeliveryUnavailableException" // Cannot set a CloudWatch Logs delivery for this region. // +// * ErrCodeInvalidTagParameterException "InvalidTagParameterException" +// This exception is thrown when the specified tag key or values are not valid. +// It can also occur if there are duplicate tags or too many tags on the resource. +// // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // This exception is thrown when the requested operation is not supported. // @@ -495,8 +499,8 @@ func (c *CloudTrail) DescribeTrailsRequest(input *DescribeTrailsInput) (req *req // DescribeTrails API operation for AWS CloudTrail. // -// Retrieves settings for the trail associated with the current region for your -// account. +// Retrieves settings for one or more trails associated with the current region +// for your 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 @@ -589,7 +593,7 @@ func (c *CloudTrail) GetEventSelectorsRequest(input *GetEventSelectorsInput) (re // * If your event selector includes data events, the Amazon S3 objects or // AWS Lambda functions that you are logging for data events. // -// For more information, see Logging Data and Management Events for Trails (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) +// For more information, see Logging Data and Management Events for Trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) // in the AWS CloudTrail User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -647,6 +651,107 @@ func (c *CloudTrail) GetEventSelectorsWithContext(ctx aws.Context, input *GetEve return out, req.Send() } +const opGetTrail = "GetTrail" + +// GetTrailRequest generates a "aws/request.Request" representing the +// client's request for the GetTrail 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 GetTrail for more information on using the GetTrail +// 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 GetTrailRequest method. +// req, resp := client.GetTrailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetTrail +func (c *CloudTrail) GetTrailRequest(input *GetTrailInput) (req *request.Request, output *GetTrailOutput) { + op := &request.Operation{ + Name: opGetTrail, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTrailInput{} + } + + output = &GetTrailOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTrail API operation for AWS CloudTrail. +// +// Returns settings information for a specified trail. +// +// 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 CloudTrail's +// API operation GetTrail for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTrailNotFoundException "TrailNotFoundException" +// This exception is thrown when the trail with the given name is not found. +// +// * ErrCodeInvalidTrailNameException "InvalidTrailNameException" +// This exception is thrown when the provided trail name is not valid. Trail +// names must meet the following requirements: +// +// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores +// (_), or dashes (-) +// +// * Start with a letter or number, and end with a letter or number +// +// * Be between 3 and 128 characters +// +// * Have no adjacent periods, underscores or dashes. Names like my-_namespace +// and my--namespace are invalid. +// +// * Not be in IP address format (for example, 192.168.5.4) +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// This exception is thrown when the requested operation is not supported. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// This exception is thrown when the requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetTrail +func (c *CloudTrail) GetTrail(input *GetTrailInput) (*GetTrailOutput, error) { + req, out := c.GetTrailRequest(input) + return out, req.Send() +} + +// GetTrailWithContext is the same as GetTrail with the addition of +// the ability to pass a context and additional request options. +// +// See GetTrail 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 *CloudTrail) GetTrailWithContext(ctx aws.Context, input *GetTrailInput, opts ...request.Option) (*GetTrailOutput, error) { + req, out := c.GetTrailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetTrailStatus = "GetTrailStatus" // GetTrailStatusRequest generates a "aws/request.Request" representing the @@ -777,6 +882,12 @@ func (c *CloudTrail) ListPublicKeysRequest(input *ListPublicKeysInput) (req *req Name: opListPublicKeys, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -842,6 +953,56 @@ func (c *CloudTrail) ListPublicKeysWithContext(ctx aws.Context, input *ListPubli return out, req.Send() } +// ListPublicKeysPages iterates over the pages of a ListPublicKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPublicKeys 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 ListPublicKeys operation. +// pageNum := 0 +// err := client.ListPublicKeysPages(params, +// func(page *cloudtrail.ListPublicKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudTrail) ListPublicKeysPages(input *ListPublicKeysInput, fn func(*ListPublicKeysOutput, bool) bool) error { + return c.ListPublicKeysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPublicKeysPagesWithContext same as ListPublicKeysPages 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 *CloudTrail) ListPublicKeysPagesWithContext(ctx aws.Context, input *ListPublicKeysInput, fn func(*ListPublicKeysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPublicKeysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPublicKeysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPublicKeysOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the @@ -873,6 +1034,12 @@ func (c *CloudTrail) ListTagsRequest(input *ListTagsInput) (req *request.Request Name: opListTags, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -956,6 +1123,194 @@ func (c *CloudTrail) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, return out, req.Send() } +// ListTagsPages iterates over the pages of a ListTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTags 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 ListTags operation. +// pageNum := 0 +// err := client.ListTagsPages(params, +// func(page *cloudtrail.ListTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudTrail) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error { + return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsPagesWithContext same as ListTagsPages 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 *CloudTrail) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTrails = "ListTrails" + +// ListTrailsRequest generates a "aws/request.Request" representing the +// client's request for the ListTrails 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 ListTrails for more information on using the ListTrails +// 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 ListTrailsRequest method. +// req, resp := client.ListTrailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTrails +func (c *CloudTrail) ListTrailsRequest(input *ListTrailsInput) (req *request.Request, output *ListTrailsOutput) { + op := &request.Operation{ + Name: opListTrails, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrailsInput{} + } + + output = &ListTrailsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrails API operation for AWS CloudTrail. +// +// Lists trails that are in the current 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 AWS CloudTrail's +// API operation ListTrails for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// This exception is thrown when the requested operation is not supported. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// This exception is thrown when the requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTrails +func (c *CloudTrail) ListTrails(input *ListTrailsInput) (*ListTrailsOutput, error) { + req, out := c.ListTrailsRequest(input) + return out, req.Send() +} + +// ListTrailsWithContext is the same as ListTrails with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrails 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 *CloudTrail) ListTrailsWithContext(ctx aws.Context, input *ListTrailsInput, opts ...request.Option) (*ListTrailsOutput, error) { + req, out := c.ListTrailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrailsPages iterates over the pages of a ListTrails operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrails 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 ListTrails operation. +// pageNum := 0 +// err := client.ListTrailsPages(params, +// func(page *cloudtrail.ListTrailsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudTrail) ListTrailsPages(input *ListTrailsInput, fn func(*ListTrailsOutput, bool) bool) error { + return c.ListTrailsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrailsPagesWithContext same as ListTrailsPages 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 *CloudTrail) ListTrailsPagesWithContext(ctx aws.Context, input *ListTrailsInput, fn func(*ListTrailsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrailsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrailsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTrailsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opLookupEvents = "LookupEvents" // LookupEventsRequest generates a "aws/request.Request" representing the @@ -1007,8 +1362,8 @@ func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request // LookupEvents API operation for AWS CloudTrail. // // Looks up management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-management-events) -// captured by CloudTrail. Events for a region can be looked up in that region -// during the last 90 days. Lookup supports the following attributes: +// captured by CloudTrail. You can look up events that occurred in a region +// within the last 90 days. Lookup supports the following attributes: // // * AWS access key // @@ -1203,7 +1558,7 @@ func (c *CloudTrail) PutEventSelectorsRequest(input *PutEventSelectorsInput) (re // trail was created; otherwise, an InvalidHomeRegionException is thrown. // // You can configure up to five event selectors for each trail. For more information, -// see Logging Data and Management Events for Trails (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) +// see Logging Data and Management Events for Trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) // and Limits in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) // in the AWS CloudTrail User Guide. // @@ -1384,8 +1739,8 @@ func (c *CloudTrail) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Req // * Not be in IP address format (for example, 192.168.5.4) // // * ErrCodeInvalidTagParameterException "InvalidTagParameterException" -// This exception is thrown when the key or value specified for the tag does -// not match the regular expression ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$. +// This exception is thrown when the specified tag key or values are not valid. +// It can also occur if there are duplicate tags or too many tags on the resource. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // This exception is thrown when the requested operation is not supported. @@ -1771,7 +2126,7 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // * Not be in IP address format (for example, 192.168.5.4) // // * ErrCodeTrailNotProvidedException "TrailNotProvidedException" -// This exception is deprecated. +// This exception is no longer in use. // // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" // This exception is thrown when the combination of parameters provided is not @@ -1786,7 +2141,7 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // bucket and the KMS key are not in the same region. // // * ErrCodeKmsKeyDisabledException "KmsKeyDisabledException" -// This exception is deprecated. +// This exception is no longer in use. // // * ErrCodeKmsException "KmsException" // This exception is thrown when there is an issue with the specified KMS key @@ -1966,7 +2321,9 @@ type CreateTrailInput struct { IncludeGlobalServiceEvents *bool `type:"boolean"` // Specifies whether the trail is created in the current region or in all regions. - // The default is false. + // The default is false, which creates a trail only in the region where you + // are signed in. As a best practice, consider creating trails that log events + // in all regions. IsMultiRegionTrail *bool `type:"boolean"` // Specifies whether the trail is created for all accounts in an organization @@ -2008,20 +2365,23 @@ type CreateTrailInput struct { Name *string `type:"string" required:"true"` // Specifies the name of the Amazon S3 bucket designated for publishing log - // files. See Amazon S3 Bucket Naming Requirements (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html). + // files. See Amazon S3 Bucket Naming Requirements (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html). // // S3BucketName is a required field S3BucketName *string `type:"string" required:"true"` // Specifies the Amazon S3 key prefix that comes after the name of the bucket // you have designated for log file delivery. For more information, see Finding - // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). + // Your CloudTrail Log Files (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). // The maximum length is 200 characters. S3KeyPrefix *string `type:"string"` // Specifies the name of the Amazon SNS topic defined for notification of log // file delivery. The maximum length is 256 characters. SnsTopicName *string `type:"string"` + + // A list of tags. + TagsList []*Tag `type:"list"` } // String returns the string representation @@ -2043,6 +2403,16 @@ func (s *CreateTrailInput) Validate() error { if s.S3BucketName == nil { invalidParams.Add(request.NewErrParamRequired("S3BucketName")) } + if s.TagsList != nil { + for i, v := range s.TagsList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagsList", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2116,6 +2486,12 @@ func (s *CreateTrailInput) SetSnsTopicName(v string) *CreateTrailInput { return s } +// SetTagsList sets the TagsList field's value. +func (s *CreateTrailInput) SetTagsList(v []*Tag) *CreateTrailInput { + s.TagsList = v + return s +} + // Returns the objects or data listed below if successful. Otherwise, returns // an error. type CreateTrailOutput struct { @@ -2157,7 +2533,7 @@ type CreateTrailOutput struct { // Specifies the Amazon S3 key prefix that comes after the name of the bucket // you have designated for log file delivery. For more information, see Finding - // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). + // Your CloudTrail Log Files (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). S3KeyPrefix *string `type:"string"` // Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications @@ -2166,7 +2542,7 @@ type CreateTrailOutput struct { // arn:aws:sns:us-east-2:123456789012:MyTopic SnsTopicARN *string `type:"string"` - // This field is deprecated. Use SnsTopicARN. + // This field is no longer in use. Use SnsTopicARN. // // Deprecated: SnsTopicName has been deprecated SnsTopicName *string `deprecated:"true" type:"string"` @@ -2278,7 +2654,7 @@ func (s *CreateTrailOutput) SetTrailARN(v string) *CreateTrailOutput { // // The following example demonstrates how logging works when you configure logging // of all data events for an S3 bucket named bucket-1. In this example, the -// CloudTrail user spcified an empty prefix, and the option to log both Read +// CloudTrail user specified an empty prefix, and the option to log both Read // and Write data events. // // A user uploads an image file to bucket-1. @@ -2326,11 +2702,6 @@ type DataResource struct { // even if that activity is performed on a bucket that belongs to another // AWS account. // - // * To log data events for all objects in all S3 buckets that include my-bucket - // in their names, specify the prefix as aws:s3:::my-bucket. The trail logs - // data events for all objects in all buckets whose name contains a match - // for my-bucket. - // // * To log data events for all objects in an S3 bucket, specify the bucket // and an empty object prefix such as arn:aws:s3:::bucket-1/. The trail logs // data events for all objects in this S3 bucket. @@ -2344,10 +2715,10 @@ type DataResource struct { // performed by any user or role in your AWS account, even if that activity // is performed on a function that belongs to another AWS account. // - // * To log data eents for a specific Lambda function, specify the function - // ARN. Lambda function ARNs are exact. Unlike S3, you cannot use matching. - // For example, if you specify a function ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld, - // data events will only be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld. + // * To log data events for a specific Lambda function, specify the function + // ARN. Lambda function ARNs are exact. For example, if you specify a function + // ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld, data events + // will only be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld. // They will not be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld2. Values []*string `type:"list"` } @@ -2629,7 +3000,7 @@ type EventSelector struct { // selectors in a trail. This limit does not apply if you configure resource // logging for all data events. // - // For more information, see Data Events (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-data-events) + // For more information, see Data Events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-data-events) // and Limits in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) // in the AWS CloudTrail User Guide. DataResources []*DataResource `type:"list"` @@ -2637,7 +3008,7 @@ type EventSelector struct { // Specify if you want your event selector to include management events for // your trail. // - // For more information, see Management Events (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-management-events) + // For more information, see Management Events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-management-events) // in the AWS CloudTrail User Guide. // // By default, the value is true. @@ -2766,6 +3137,68 @@ func (s *GetEventSelectorsOutput) SetTrailARN(v string) *GetEventSelectorsOutput return s } +type GetTrailInput struct { + _ struct{} `type:"structure"` + + // The name or the Amazon Resource Name (ARN) of the trail for which you want + // to retrieve settings information. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTrailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTrailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTrailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTrailInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetTrailInput) SetName(v string) *GetTrailInput { + s.Name = &v + return s +} + +type GetTrailOutput struct { + _ struct{} `type:"structure"` + + // The settings for a trail. + Trail *Trail `type:"structure"` +} + +// String returns the string representation +func (s GetTrailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTrailOutput) GoString() string { + return s.String() +} + +// SetTrail sets the Trail field's value. +func (s *GetTrailOutput) SetTrail(v *Trail) *GetTrailOutput { + s.Trail = v + return s +} + // The name of a trail about which you want the current status. type GetTrailStatusInput struct { _ struct{} `type:"structure"` @@ -2825,15 +3258,15 @@ type GetTrailStatusOutput struct { // CloudWatch Logs. LatestCloudWatchLogsDeliveryTime *time.Time `type:"timestamp"` - // This field is deprecated. + // This field is no longer in use. LatestDeliveryAttemptSucceeded *string `type:"string"` - // This field is deprecated. + // This field is no longer in use. LatestDeliveryAttemptTime *string `type:"string"` // Displays any Amazon S3 error that CloudTrail encountered when attempting // to deliver log files to the designated bucket. For more information see the - // topic Error Responses (http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html) + // topic Error Responses (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html) // in the Amazon S3 API Reference. // // This error occurs only when there is a problem with the destination S3 bucket @@ -2848,7 +3281,7 @@ type GetTrailStatusOutput struct { // Displays any Amazon S3 error that CloudTrail encountered when attempting // to deliver a digest file to the designated bucket. For more information see - // the topic Error Responses (http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html) + // the topic Error Responses (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html) // in the Amazon S3 API Reference. // // This error occurs only when there is a problem with the destination S3 bucket @@ -2861,15 +3294,15 @@ type GetTrailStatusOutput struct { // to an account's Amazon S3 bucket. LatestDigestDeliveryTime *time.Time `type:"timestamp"` - // This field is deprecated. + // This field is no longer in use. LatestNotificationAttemptSucceeded *string `type:"string"` - // This field is deprecated. + // This field is no longer in use. LatestNotificationAttemptTime *string `type:"string"` // Displays any Amazon SNS error that CloudTrail encountered when attempting // to send a notification. For more information about Amazon SNS errors, see - // the Amazon SNS Developer Guide (http://docs.aws.amazon.com/sns/latest/dg/welcome.html). + // the Amazon SNS Developer Guide (https://docs.aws.amazon.com/sns/latest/dg/welcome.html). LatestNotificationError *string `type:"string"` // Specifies the date and time of the most recent Amazon SNS notification that @@ -2884,10 +3317,10 @@ type GetTrailStatusOutput struct { // API calls for an AWS account. StopLoggingTime *time.Time `type:"timestamp"` - // This field is deprecated. + // This field is no longer in use. TimeLoggingStarted *string `type:"string"` - // This field is deprecated. + // This field is no longer in use. TimeLoggingStopped *string `type:"string"` } @@ -3169,6 +3602,59 @@ func (s *ListTagsOutput) SetResourceTagList(v []*ResourceTag) *ListTagsOutput { return s } +type ListTrailsInput struct { + _ struct{} `type:"structure"` + + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListTrailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTrailsInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrailsInput) SetNextToken(v string) *ListTrailsInput { + s.NextToken = &v + return s +} + +type ListTrailsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `type:"string"` + + // Returns the name, ARN, and home region of trails in the current account. + Trails []*TrailInfo `type:"list"` +} + +// String returns the string representation +func (s ListTrailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTrailsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrailsOutput) SetNextToken(v string) *ListTrailsOutput { + s.NextToken = &v + return s +} + +// SetTrails sets the Trails field's value. +func (s *ListTrailsOutput) SetTrails(v []*TrailInfo) *ListTrailsOutput { + s.Trails = v + return s +} + // Specifies an attribute and value that filter the events returned. type LookupAttribute struct { _ struct{} `type:"structure"` @@ -3602,8 +4088,8 @@ type Resource struct { // The type of a resource referenced by the event returned. When the resource // type cannot be determined, null is returned. Some examples of resource types // are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey - // for IAM. For a list of resource types supported for event lookup, see Resource - // Types Supported for Event Lookup (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/lookup_supported_resourcetypes.html). + // for IAM. To learn more about how to look up and filter events by the resource + // types supported for a service, see Filtering CloudTrail Events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html#filtering-cloudtrail-events). ResourceType *string `type:"string"` } @@ -3851,7 +4337,7 @@ type Trail struct { // Otherwise, False. IncludeGlobalServiceEvents *bool `type:"boolean"` - // Specifies whether the trail belongs only to one region or exists in all regions. + // Specifies whether the trail exists only in one region or exists in all regions. IsMultiRegionTrail *bool `type:"boolean"` // Specifies whether the trail is an organization trail. @@ -3870,12 +4356,12 @@ type Trail struct { Name *string `type:"string"` // Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. - // See Amazon S3 Bucket Naming Requirements (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html). + // See Amazon S3 Bucket Naming Requirements (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html). S3BucketName *string `type:"string"` // Specifies the Amazon S3 key prefix that comes after the name of the bucket // you have designated for log file delivery. For more information, see Finding - // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).The + // Your CloudTrail Log Files (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).The // maximum length is 200 characters. S3KeyPrefix *string `type:"string"` @@ -3885,7 +4371,7 @@ type Trail struct { // arn:aws:sns:us-east-2:123456789012:MyTopic SnsTopicARN *string `type:"string"` - // This field is deprecated. Use SnsTopicARN. + // This field is no longer in use. Use SnsTopicARN. // // Deprecated: SnsTopicName has been deprecated SnsTopicName *string `deprecated:"true" type:"string"` @@ -3996,6 +4482,49 @@ func (s *Trail) SetTrailARN(v string) *Trail { return s } +// Information about a CloudTrail trail, including the trail's name, home region, +// and Amazon Resource Name (ARN). +type TrailInfo struct { + _ struct{} `type:"structure"` + + // The AWS region in which a trail was created. + HomeRegion *string `type:"string"` + + // The name of a trail. + Name *string `type:"string"` + + // The ARN of a trail. + TrailARN *string `type:"string"` +} + +// String returns the string representation +func (s TrailInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrailInfo) GoString() string { + return s.String() +} + +// SetHomeRegion sets the HomeRegion field's value. +func (s *TrailInfo) SetHomeRegion(v string) *TrailInfo { + s.HomeRegion = &v + return s +} + +// SetName sets the Name field's value. +func (s *TrailInfo) SetName(v string) *TrailInfo { + s.Name = &v + return s +} + +// SetTrailARN sets the TrailARN field's value. +func (s *TrailInfo) SetTrailARN(v string) *TrailInfo { + s.TrailARN = &v + return s +} + // Specifies settings to update for the trail. type UpdateTrailInput struct { _ struct{} `type:"structure"` @@ -4030,7 +4559,8 @@ type UpdateTrailInput struct { // and this value is set to true, shadow trails (replications of the trail) // will be created in the other regions. If the trail exists in all regions // and this value is set to false, the trail will remain in the region where - // it was created, and its shadow trails in other regions will be deleted. + // it was created, and its shadow trails in other regions will be deleted. As + // a best practice, consider using trails that log events in all regions. IsMultiRegionTrail *bool `type:"boolean"` // Specifies whether the trail is applied to all accounts in an organization @@ -4082,12 +4612,12 @@ type UpdateTrailInput struct { Name *string `type:"string" required:"true"` // Specifies the name of the Amazon S3 bucket designated for publishing log - // files. See Amazon S3 Bucket Naming Requirements (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html). + // files. See Amazon S3 Bucket Naming Requirements (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html). S3BucketName *string `type:"string"` // Specifies the Amazon S3 key prefix that comes after the name of the bucket // you have designated for log file delivery. For more information, see Finding - // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). + // Your CloudTrail Log Files (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). // The maximum length is 200 characters. S3KeyPrefix *string `type:"string"` @@ -4226,7 +4756,7 @@ type UpdateTrailOutput struct { // Specifies the Amazon S3 key prefix that comes after the name of the bucket // you have designated for log file delivery. For more information, see Finding - // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). + // Your CloudTrail Log Files (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). S3KeyPrefix *string `type:"string"` // Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications @@ -4235,7 +4765,7 @@ type UpdateTrailOutput struct { // arn:aws:sns:us-east-2:123456789012:MyTopic SnsTopicARN *string `type:"string"` - // This field is deprecated. Use SnsTopicARN. + // This field is no longer in use. Use SnsTopicARN. // // Deprecated: SnsTopicName has been deprecated SnsTopicName *string `deprecated:"true" type:"string"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go index 8226ac8b068..d2b23643d38 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go @@ -21,7 +21,7 @@ // to download and install them, see the Tools for Amazon Web Services page // (http://aws.amazon.com/tools/). // -// See the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) +// See the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) // for information about the data that is included with each AWS API call listed // in the log files. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go index 4fdd9a37b55..69720a1927f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go @@ -152,8 +152,8 @@ const ( // ErrCodeInvalidTagParameterException for service response error code // "InvalidTagParameterException". // - // This exception is thrown when the key or value specified for the tag does - // not match the regular expression ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$. + // This exception is thrown when the specified tag key or values are not valid. + // It can also occur if there are duplicate tags or too many tags on the resource. ErrCodeInvalidTagParameterException = "InvalidTagParameterException" // ErrCodeInvalidTimeRangeException for service response error code @@ -198,7 +198,7 @@ const ( // ErrCodeKmsKeyDisabledException for service response error code // "KmsKeyDisabledException". // - // This exception is deprecated. + // This exception is no longer in use. ErrCodeKmsKeyDisabledException = "KmsKeyDisabledException" // ErrCodeKmsKeyNotFoundException for service response error code @@ -287,7 +287,7 @@ const ( // ErrCodeTrailNotProvidedException for service response error code // "TrailNotProvidedException". // - // This exception is deprecated. + // This exception is no longer in use. ErrCodeTrailNotProvidedException = "TrailNotProvidedException" // ErrCodeUnsupportedOperationException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index dd4e19bf8f7..1b2174a993f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go @@ -1814,6 +1814,11 @@ type Build struct { // Whether the build is complete. True if complete; otherwise, false. BuildComplete *bool `locationName:"buildComplete" type:"boolean"` + // The number of the build. For each project, the buildNumber of its first build + // is 1. The buildNumber of each subsequent build is incremented by 1. If a + // build is deleted, the buildNumber of other builds does not change. + BuildNumber *int64 `locationName:"buildNumber" type:"long"` + // The current status of the build. Valid values include: // // * FAILED: The build failed. @@ -1851,6 +1856,9 @@ type Build struct { // Information about the build environment for this build. Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + // A list of exported environment variables for this build. + ExportedEnvironmentVariables []*ExportedEnvironmentVariable `locationName:"exportedEnvironmentVariables" type:"list"` + // The unique ID for the build. Id *string `locationName:"id" min:"1" type:"string"` @@ -1975,6 +1983,12 @@ func (s *Build) SetBuildComplete(v bool) *Build { return s } +// SetBuildNumber sets the BuildNumber field's value. +func (s *Build) SetBuildNumber(v int64) *Build { + s.BuildNumber = &v + return s +} + // SetBuildStatus sets the BuildStatus field's value. func (s *Build) SetBuildStatus(v string) *Build { s.BuildStatus = &v @@ -2011,6 +2025,12 @@ func (s *Build) SetEnvironment(v *ProjectEnvironment) *Build { return s } +// SetExportedEnvironmentVariables sets the ExportedEnvironmentVariables field's value. +func (s *Build) SetExportedEnvironmentVariables(v []*ExportedEnvironmentVariable) *Build { + s.ExportedEnvironmentVariables = v + return s +} + // SetId sets the Id field's value. func (s *Build) SetId(v string) *Build { s.Id = &v @@ -3158,6 +3178,8 @@ type EnvironmentVariable struct { // Manager Parameter Store. // // * PLAINTEXT: An environment variable in plaintext format. + // + // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` // The value of the environment variable. @@ -3218,6 +3240,44 @@ func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { return s } +// Information about an exported environment variable. +type ExportedEnvironmentVariable struct { + _ struct{} `type:"structure"` + + // The name of this exported environment variable. + Name *string `locationName:"name" min:"1" type:"string"` + + // The value assigned to this exported environment variable. + // + // During a build, the value of a variable is available starting with the install + // phase. It can be updated between the start of the install phase and the end + // of the post_build phase. After the post_build phase ends, the value of exported + // variables cannot change. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s ExportedEnvironmentVariable) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportedEnvironmentVariable) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { + s.Value = &v + return s +} + // Information about the Git submodules configuration for an AWS CodeBuild build // project. type GitSubmodulesConfig struct { @@ -4360,7 +4420,7 @@ type ProjectArtifacts struct { // The type of build output artifact. Valid values include: // // * CODEPIPELINE: The build project has build output generated through AWS - // CodePipeline. + // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts. // // * NO_ARTIFACTS: The build project does not produce any build output. // @@ -4595,6 +4655,9 @@ type ProjectEnvironment struct { // // * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds. // + // For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) + // in the AWS CodeBuild User Guide. + // // ComputeType is a required field ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"` @@ -4632,7 +4695,8 @@ type ProjectEnvironment struct { // Enables running the Docker daemon inside a Docker container. Set to true // only if the build project is used to build Docker images. Otherwise, a build - // that attempts to interact with the Docker daemon fails. + // that attempts to interact with the Docker daemon fails. The default setting + // is false. // // You can initialize the Docker daemon during the install phase of your build // by adding one of the following sets of commands to the install phase of your @@ -4831,6 +4895,9 @@ type ProjectSource struct { // provider. This option is valid only when your source provider is GitHub, // GitHub Enterprise, or Bitbucket. If this is set and you use a different source // provider, an invalidInputException is thrown. + // + // The status of a build triggered by a webhook is always reported to your source + // provider. ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"` // An identifier for this project source. @@ -4848,6 +4915,8 @@ type ProjectSource struct { // // * GITHUB: The source code is in a GitHub repository. // + // * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise repository. + // // * NO_SOURCE: The project does not have input source code. // // * S3: The source code is in an Amazon Simple Storage Service (Amazon S3) @@ -5344,6 +5413,9 @@ type StartBuildInput struct { // Set to true to report to your source provider the status of a build's start // and completion. If you use this option with a source provider other than // GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown. + // + // The status of a build triggered by a webhook is always reported to your source + // provider. ReportBuildStatusOverride *bool `locationName:"reportBuildStatusOverride" type:"boolean"` // An array of ProjectArtifacts objects. @@ -6623,6 +6695,9 @@ const ( // EnvironmentVariableTypeParameterStore is a EnvironmentVariableType enum value EnvironmentVariableTypeParameterStore = "PARAMETER_STORE" + + // EnvironmentVariableTypeSecretsManager is a EnvironmentVariableType enum value + EnvironmentVariableTypeSecretsManager = "SECRETS_MANAGER" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go index ac6bf62871f..880ee966667 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go @@ -11,7 +11,8 @@ // Maven, Gradle, and more. You can also fully customize build environments // in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically // to meet peak build requests. You pay only for the build time you consume. -// For more information about AWS CodeBuild, see the AWS CodeBuild User Guide. +// For more information about AWS CodeBuild, see the AWS CodeBuild User Guide +// (https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html). // // AWS CodeBuild supports these operations: // diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go index ca10a582512..d78ce3f7a38 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go @@ -441,6 +441,13 @@ func (c *DatabaseMigrationService) CreateReplicationInstanceRequest(input *Creat // // Creates the replication instance using the specified parameters. // +// AWS DMS requires that your account have certain roles with appropriate permissions +// before you can create a replication instance. For information on the required +// roles, see Creating the IAM Roles to Use With the AWS CLI and AWS DMS API +// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.APIRole.html). +// For information on the required permissions, see IAM Permissions Needed to +// Use AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.IAMPermissions.html). +// // 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. @@ -6131,6 +6138,12 @@ type CreateReplicationTaskInput struct { // Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" // // LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” + // + // When you use this task setting with a source PostgreSQL database, a logical + // replication slot should already be created and associated with the source + // endpoint. You can verify this by setting the slotName extra connection attribute + // to the name of this logical replication slot. For more information, see Extra + // Connection Attributes When Using PostgreSQL as a Source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib). CdcStartPosition *string `type:"string"` // Indicates the start time for a change data capture (CDC) operation. Use either @@ -10114,6 +10127,12 @@ type ModifyReplicationTaskInput struct { // Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" // // LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” + // + // When you use this task setting with a source PostgreSQL database, a logical + // replication slot should already be created and associated with the source + // endpoint. You can verify this by setting the slotName extra connection attribute + // to the name of this logical replication slot. For more information, see Extra + // Connection Attributes When Using PostgreSQL as a Source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib). CdcStartPosition *string `type:"string"` // Indicates the start time for a change data capture (CDC) operation. Use either @@ -11925,9 +11944,26 @@ type ReplicationTaskStats struct { // The elapsed time of the task, in milliseconds. ElapsedTimeMillis *int64 `type:"long"` + // The date the replication task was started either with a fresh start or a + // target reload. + FreshStartDate *time.Time `type:"timestamp"` + + // The date the replication task full load was completed. + FullLoadFinishDate *time.Time `type:"timestamp"` + // The percent complete for the full load migration task. FullLoadProgressPercent *int64 `type:"integer"` + // The date the the replication task full load was started. + FullLoadStartDate *time.Time `type:"timestamp"` + + // The date the replication task was started either with a fresh start or a + // resume. For more information, see StartReplicationTaskType (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType). + StartDate *time.Time `type:"timestamp"` + + // The date the replication task was stopped. + StopDate *time.Time `type:"timestamp"` + // The number of errors that have occurred during this task. TablesErrored *int64 `type:"integer"` @@ -11957,12 +11993,42 @@ func (s *ReplicationTaskStats) SetElapsedTimeMillis(v int64) *ReplicationTaskSta return s } +// SetFreshStartDate sets the FreshStartDate field's value. +func (s *ReplicationTaskStats) SetFreshStartDate(v time.Time) *ReplicationTaskStats { + s.FreshStartDate = &v + return s +} + +// SetFullLoadFinishDate sets the FullLoadFinishDate field's value. +func (s *ReplicationTaskStats) SetFullLoadFinishDate(v time.Time) *ReplicationTaskStats { + s.FullLoadFinishDate = &v + return s +} + // SetFullLoadProgressPercent sets the FullLoadProgressPercent field's value. func (s *ReplicationTaskStats) SetFullLoadProgressPercent(v int64) *ReplicationTaskStats { s.FullLoadProgressPercent = &v return s } +// SetFullLoadStartDate sets the FullLoadStartDate field's value. +func (s *ReplicationTaskStats) SetFullLoadStartDate(v time.Time) *ReplicationTaskStats { + s.FullLoadStartDate = &v + return s +} + +// SetStartDate sets the StartDate field's value. +func (s *ReplicationTaskStats) SetStartDate(v time.Time) *ReplicationTaskStats { + s.StartDate = &v + return s +} + +// SetStopDate sets the StopDate field's value. +func (s *ReplicationTaskStats) SetStopDate(v time.Time) *ReplicationTaskStats { + s.StopDate = &v + return s +} + // SetTablesErrored sets the TablesErrored field's value. func (s *ReplicationTaskStats) SetTablesErrored(v int64) *ReplicationTaskStats { s.TablesErrored = &v @@ -12435,6 +12501,12 @@ type StartReplicationTaskInput struct { // Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" // // LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” + // + // When you use this task setting with a source PostgreSQL database, a logical + // replication slot should already be created and associated with the source + // endpoint. You can verify this by setting the slotName extra connection attribute + // to the name of this logical replication slot. For more information, see Extra + // Connection Attributes When Using PostgreSQL as a Source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib). CdcStartPosition *string `type:"string"` // Indicates the start time for a change data capture (CDC) operation. Use either diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/api.go b/vendor/github.com/aws/aws-sdk-go/service/dax/api.go index 4b836d462bd..d58a11c5464 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dax/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/api.go @@ -101,6 +101,7 @@ func (c *DAX) CreateClusterRequest(input *CreateClusterInput) (req *request.Requ // You have exceeded the maximum number of tags for this DAX cluster. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -195,6 +196,7 @@ func (c *DAX) CreateParameterGroupRequest(input *CreateParameterGroupInput) (req // One or more parameters in a parameter group are in an invalid state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -293,6 +295,7 @@ func (c *DAX) CreateSubnetGroupRequest(input *CreateSubnetGroupInput) (req *requ // An invalid subnet identifier was specified. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroup func (c *DAX) CreateSubnetGroup(input *CreateSubnetGroupInput) (*CreateSubnetGroupOutput, error) { @@ -383,6 +386,7 @@ func (c *DAX) DecreaseReplicationFactorRequest(input *DecreaseReplicationFactorI // The requested DAX cluster is not in the available state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -476,6 +480,7 @@ func (c *DAX) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Requ // The requested DAX cluster is not in the available state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -567,6 +572,7 @@ func (c *DAX) DeleteParameterGroupRequest(input *DeleteParameterGroupInput) (req // The specified parameter group does not exist. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -659,6 +665,7 @@ func (c *DAX) DeleteSubnetGroupRequest(input *DeleteSubnetGroupInput) (req *requ // The requested subnet group name does not refer to an existing subnet group. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroup func (c *DAX) DeleteSubnetGroup(input *DeleteSubnetGroupInput) (*DeleteSubnetGroupOutput, error) { @@ -756,6 +763,7 @@ func (c *DAX) DescribeClustersRequest(input *DescribeClustersInput) (req *reques // The requested cluster ID does not refer to an existing DAX cluster. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -840,6 +848,7 @@ func (c *DAX) DescribeDefaultParametersRequest(input *DescribeDefaultParametersI // // Returned Error Codes: // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -917,7 +926,7 @@ func (c *DAX) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Re // events specific to a particular DAX cluster or parameter group by providing // the name as a parameter. // -// By default, only the events occurring within the last hour are returned; +// By default, only the events occurring within the last 24 hours are returned; // however, you can retrieve up to 14 days' worth of events if necessary. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -929,6 +938,7 @@ func (c *DAX) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Re // // Returned Error Codes: // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1017,6 +1027,7 @@ func (c *DAX) DescribeParameterGroupsRequest(input *DescribeParameterGroupsInput // The specified parameter group does not exist. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1104,6 +1115,7 @@ func (c *DAX) DescribeParametersRequest(input *DescribeParametersInput) (req *re // The specified parameter group does not exist. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1192,6 +1204,7 @@ func (c *DAX) DescribeSubnetGroupsRequest(input *DescribeSubnetGroupsInput) (req // The requested subnet group name does not refer to an existing subnet group. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroups func (c *DAX) DescribeSubnetGroups(input *DescribeSubnetGroupsInput) (*DescribeSubnetGroupsOutput, error) { @@ -1289,6 +1302,7 @@ func (c *DAX) IncreaseReplicationFactorRequest(input *IncreaseReplicationFactorI // You have attempted to exceed the maximum number of nodes for your AWS account. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1383,6 +1397,7 @@ func (c *DAX) ListTagsRequest(input *ListTagsInput) (req *request.Request, outpu // The requested DAX cluster is not in the available state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1459,6 +1474,9 @@ func (c *DAX) RebootNodeRequest(input *RebootNodeInput) (req *request.Request, o // Reboots a single node of a DAX cluster. The reboot action takes place as // soon as possible. During the reboot, the node status is set to REBOOTING. // +// RebootNode restarts the DAX engine process and does not remove the contents +// of the cache. +// // 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. @@ -1477,6 +1495,7 @@ func (c *DAX) RebootNodeRequest(input *RebootNodeInput) (req *request.Request, o // The requested DAX cluster is not in the available state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1574,6 +1593,7 @@ func (c *DAX) TagResourceRequest(input *TagResourceInput) (req *request.Request, // The requested DAX cluster is not in the available state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1671,6 +1691,7 @@ func (c *DAX) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // The requested DAX cluster is not in the available state. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1769,6 +1790,7 @@ func (c *DAX) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Requ // The specified parameter group does not exist. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1860,6 +1882,7 @@ func (c *DAX) UpdateParameterGroupRequest(input *UpdateParameterGroupInput) (req // The specified parameter group does not exist. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // The value for a parameter is invalid. @@ -1957,6 +1980,7 @@ func (c *DAX) UpdateSubnetGroupRequest(input *UpdateSubnetGroupInput) (req *requ // An invalid subnet identifier was specified. // // * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" +// The specified service linked role (SLR) was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroup func (c *DAX) UpdateSubnetGroup(input *UpdateSubnetGroupInput) (*UpdateSubnetGroupOutput, error) { @@ -2163,9 +2187,10 @@ func (s *Cluster) SetTotalNodes(v int64) *Cluster { type CreateClusterInput struct { _ struct{} `type:"structure"` - // The Availability Zones (AZs) in which the cluster nodes will be created. - // All nodes belonging to the cluster are placed in these Availability Zones. - // Use this parameter if you want to distribute the nodes across multiple AZs. + // The Availability Zones (AZs) in which the cluster nodes will reside after + // the cluster has been created or updated. If provided, the length of this + // list must equal the ReplicationFactor parameter. If you omit this parameter, + // DAX will spread the nodes across Availability Zones for the highest availability. AvailabilityZones []*string `type:"list"` // The cluster identifier. This parameter is stored as a lowercase string. @@ -2234,7 +2259,9 @@ type CreateClusterInput struct { // The number of nodes in the DAX cluster. A replication factor of 1 will create // a single-node cluster, without any read replicas. For additional fault tolerance, // you can create a multiple node cluster with one or more read replicas. To - // do this, set ReplicationFactor to 2 or more. + // do this, set ReplicationFactor to a number between 3 (one primary and two + // read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones + // parameter is provided, its length must equal the ReplicationFactor. // // AWS recommends that you have at least two read replicas per cluster. // @@ -4170,7 +4197,7 @@ func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { type Subnet struct { _ struct{} `type:"structure"` - // The Availability Zone (AZ) for subnet subnet. + // The Availability Zone (AZ) for the subnet. SubnetAvailabilityZone *string `type:"string"` // The system-assigned identifier for the subnet. diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go b/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go index f5ef87e87a0..20b67ab768a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go @@ -110,6 +110,8 @@ const ( // ErrCodeServiceLinkedRoleNotFoundFault for service response error code // "ServiceLinkedRoleNotFoundFault". + // + // The specified service linked role (SLR) was not found. ErrCodeServiceLinkedRoleNotFoundFault = "ServiceLinkedRoleNotFoundFault" // ErrCodeSubnetGroupAlreadyExistsFault for service response error code 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 3df136f884d..17131a9bd30 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 @@ -5619,7 +5619,7 @@ func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request. // Creates crash-consistent snapshots of multiple EBS volumes and stores the // data in S3. Volumes are chosen by specifying an instance. Any attached volumes // will produce one snapshot each that is crash-consistent across the instance. -// Boot volumes can be excluded by changing the paramaters. +// Boot volumes can be excluded by changing the parameters. // // 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 @@ -5958,8 +5958,10 @@ func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterI // A Traffic Mirror filter is a set of rules that defines the traffic to mirror. // // By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm) // to add Traffic Mirror rules to the filter. The rules you add define what // traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html) // to mirror supported network services. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6034,7 +6036,7 @@ func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFil // CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud. // -// Creates a Traffic Mirror rule. +// Creates a Traffic Mirror filter rule. // // A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror. // @@ -6122,8 +6124,8 @@ func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessio // can be in the same VPC, or in a different VPC connected via VPC peering or // a transit gateway. // -// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create -// filter rules that specify the traffic to mirror. +// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm) +// to create filter rules that specify the traffic to mirror. // // 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 @@ -6206,7 +6208,8 @@ func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetI // // A Traffic Mirror target can be a network interface, or a Network Load Balancer. // -// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession. +// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm). // // 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 @@ -26180,10 +26183,10 @@ func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, // // To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches // the additional Spot Instances according to the allocation strategy for the -// EC2 Fleet request. If the allocation strategy is lowestPrice, the EC2 Fleet +// EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet // launches instances using the Spot Instance pool with the lowest price. If // the allocation strategy is diversified, the EC2 Fleet distributes the instances -// across the Spot Instance pools. If the allocation strategy is capacityOptimized, +// across the Spot Instance pools. If the allocation strategy is capacity-optimized, // EC2 Fleet launches instances from Spot Instance pools with optimal capacity // for the number of instances that are launching. // @@ -26191,11 +26194,11 @@ func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, // Fleet cancels any open requests that exceed the new target capacity. You // can request that the EC2 Fleet terminate Spot Instances until the size of // the fleet no longer exceeds the new target capacity. If the allocation strategy -// is lowestPrice, the EC2 Fleet terminates the instances with the highest price -// per unit. If the allocation strategy is capacityOptimized, the EC2 Fleet -// terminates the instances in the Spot Instance pools that have the least available -// Spot Instance capacity. If the allocation strategy is diversified, the EC2 -// Fleet terminates instances across the Spot Instance pools. Alternatively, +// is lowest-price, the EC2 Fleet terminates the instances with the highest +// price per unit. If the allocation strategy is capacity-optimized, the EC2 +// Fleet terminates the instances in the Spot Instance pools that have the least +// available Spot Instance capacity. If the allocation strategy is diversified, +// the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively, // you can request that the EC2 Fleet keep the fleet at its current size, but // not replace any Spot Instances that are interrupted or that you terminate // manually. @@ -27624,7 +27627,7 @@ func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTraff // to mirror network services, use RemoveNetworkServices to remove the network // services from the Traffic Mirror filter. // -// FFor information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html#traffic-mirroring-network-services) +// For information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) // in the Traffic Mirroring User Guide . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -41196,7 +41199,7 @@ type CreateKeyPairOutput struct { KeyFingerprint *string `locationName:"keyFingerprint" type:"string"` // An unencrypted PEM encoded RSA private key. - KeyMaterial *string `locationName:"keyMaterial" type:"string"` + KeyMaterial *string `locationName:"keyMaterial" type:"string" sensitive:"true"` // The name of the key pair. KeyName *string `locationName:"keyName" type:"string"` @@ -43392,9 +43395,8 @@ type CreateTrafficMirrorSessionInput struct { // The number of bytes in each packet to mirror. These are bytes after the VXLAN // header. Do not specify this parameter when you want to mirror the entire // packet. To mirror a subset of the packet, set this to the length (in bytes) - // that you want to mirror. For example, if you set this value to 1network0, - // then the first 100 bytes that meet the filter criteria are copied to the - // target. + // that you want to mirror. For example, if you set this value to 100, then + // the first 100 bytes that meet the filter criteria are copied to the target. // // If you do not want to mirror the entire packet, use the PacketLength parameter // to specify the number of bytes in each packet to mirror. @@ -66863,8 +66865,7 @@ func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { // Indicates whether your instance is configured for hibernation. This parameter // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// Hibernation is currently supported only for Amazon Linux. For more information, -// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptions struct { _ struct{} `type:"structure"` @@ -66892,8 +66893,7 @@ func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions { // Indicates whether your instance is configured for hibernation. This parameter // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// Hibernation is currently supported only for Amazon Linux. For more information, -// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -68673,7 +68673,7 @@ type ImportInstanceLaunchSpecification struct { SubnetId *string `locationName:"subnetId" type:"string"` // The Base64-encoded user data to make available to the instance. - UserData *UserData `locationName:"userData" type:"structure"` + UserData *UserData `locationName:"userData" type:"structure" sensitive:"true"` } // String returns the string representation @@ -72302,7 +72302,6 @@ func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplate // Indicates whether the instance is configured for hibernation. This parameter // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// Hibernation is currently supported only for Amazon Linux. type LaunchTemplateHibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -80630,7 +80629,8 @@ type PurchaseReservedInstancesOfferingInput struct { // prices. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"` - // The time at which to purchase the Reserved Instance. + // The time at which to purchase the Reserved Instance, in UTC format (for example, + // YYYY-MM-DDTHH:MM:SSZ). PurchaseTime *time.Time `type:"timestamp"` // The ID of the Reserved Instance offering to purchase. @@ -82377,8 +82377,7 @@ type RequestLaunchTemplateData struct { // Indicates whether an instance is enabled for hibernation. This parameter // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). - // Hibernation is currently supported only for Amazon Linux. For more information, - // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"` @@ -89470,14 +89469,14 @@ type SpotOptions struct { // Indicates how to allocate the target Spot Instance capacity across the Spot // Instance pools specified by the EC2 Fleet. // - // If the allocation strategy is lowestPrice, EC2 Fleet launches instances from - // the Spot Instance pools with the lowest price. This is the default allocation + // If the allocation strategy is lowest-price, EC2 Fleet launches instances + // from the Spot Instance pools with the lowest price. This is the default allocation // strategy. // // If the allocation strategy is diversified, EC2 Fleet launches instances from // all the Spot Instance pools that you specify. // - // If the allocation strategy is capacityOptimized, EC2 Fleet launches instances + // If the allocation strategy is capacity-optimized, EC2 Fleet launches instances // from Spot Instance pools with optimal capacity for the number of instances // that are launching. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"` @@ -89486,7 +89485,7 @@ type SpotOptions struct { InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"` // The number of Spot pools across which to allocate your target Spot capacity. - // Valid only when AllocationStrategy is set to lowestPrice. EC2 Fleet selects + // Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects // the cheapest Spot pools and evenly allocates your target Spot capacity across // the number of Spot pools that you specify. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"` @@ -89566,14 +89565,14 @@ type SpotOptionsRequest struct { // Indicates how to allocate the target Spot Instance capacity across the Spot // Instance pools specified by the EC2 Fleet. // - // If the allocation strategy is lowestPrice, EC2 Fleet launches instances from - // the Spot Instance pools with the lowest price. This is the default allocation + // If the allocation strategy is lowest-price, EC2 Fleet launches instances + // from the Spot Instance pools with the lowest price. This is the default allocation // strategy. // // If the allocation strategy is diversified, EC2 Fleet launches instances from // all the Spot Instance pools that you specify. // - // If the allocation strategy is capacityOptimized, EC2 Fleet launches instances + // If the allocation strategy is capacity-optimized, EC2 Fleet launches instances // from Spot Instance pools with optimal capacity for the number of instances // that are launching. AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"` @@ -93413,7 +93412,7 @@ func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails { // Describes the user data for an instance. type UserData struct { - _ struct{} `type:"structure"` + _ struct{} `type:"structure" sensitive:"true"` // The user data. If you are using an AWS SDK or command line tool, Base64-encoding // is performed for you, and you can load the text from a file. Otherwise, you @@ -97183,6 +97182,12 @@ const ( // InstanceTypeU12tb1Metal is a InstanceType enum value InstanceTypeU12tb1Metal = "u-12tb1.metal" + // InstanceTypeU18tb1Metal is a InstanceType enum value + InstanceTypeU18tb1Metal = "u-18tb1.metal" + + // InstanceTypeU24tb1Metal is a InstanceType enum value + InstanceTypeU24tb1Metal = "u-24tb1.metal" + // InstanceTypeA1Medium is a InstanceType enum value InstanceTypeA1Medium = "a1.medium" diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go index bc4815e74e8..47c2ce00664 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go @@ -3414,6 +3414,9 @@ const ( ) const ( + // TransitionToIARulesAfter7Days is a TransitionToIARules enum value + TransitionToIARulesAfter7Days = "AFTER_7_DAYS" + // TransitionToIARulesAfter14Days is a TransitionToIARules enum value TransitionToIARulesAfter14Days = "AFTER_14_DAYS" 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 0f7892008fd..291da014496 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 @@ -482,6 +482,100 @@ func (c *Pinpoint) CreateImportJobWithContext(ctx aws.Context, input *CreateImpo return out, req.Send() } +const opCreateJourney = "CreateJourney" + +// CreateJourneyRequest generates a "aws/request.Request" representing the +// client's request for the CreateJourney 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 CreateJourney for more information on using the CreateJourney +// 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 CreateJourneyRequest method. +// req, resp := client.CreateJourneyRequest(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/CreateJourney +func (c *Pinpoint) CreateJourneyRequest(input *CreateJourneyInput) (req *request.Request, output *CreateJourneyOutput) { + op := &request.Operation{ + Name: opCreateJourney, + HTTPMethod: "POST", + HTTPPath: "/v1/apps/{application-id}/journeys", + } + + if input == nil { + input = &CreateJourneyInput{} + } + + output = &CreateJourneyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateJourney API operation for Amazon Pinpoint. +// +// Creates a journey 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 CreateJourney 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/CreateJourney +func (c *Pinpoint) CreateJourney(input *CreateJourneyInput) (*CreateJourneyOutput, error) { + req, out := c.CreateJourneyRequest(input) + return out, req.Send() +} + +// CreateJourneyWithContext is the same as CreateJourney with the addition of +// the ability to pass a context and additional request options. +// +// See CreateJourney 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) CreateJourneyWithContext(ctx aws.Context, input *CreateJourneyInput, opts ...request.Option) (*CreateJourneyOutput, error) { + req, out := c.CreateJourneyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePushTemplate = "CreatePushTemplate" // CreatePushTemplateRequest generates a "aws/request.Request" representing the @@ -1992,6 +2086,100 @@ func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcm return out, req.Send() } +const opDeleteJourney = "DeleteJourney" + +// DeleteJourneyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteJourney 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 DeleteJourney for more information on using the DeleteJourney +// 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 DeleteJourneyRequest method. +// req, resp := client.DeleteJourneyRequest(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/DeleteJourney +func (c *Pinpoint) DeleteJourneyRequest(input *DeleteJourneyInput) (req *request.Request, output *DeleteJourneyOutput) { + op := &request.Operation{ + Name: opDeleteJourney, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}", + } + + if input == nil { + input = &DeleteJourneyInput{} + } + + output = &DeleteJourneyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteJourney API operation for Amazon Pinpoint. +// +// Deletes a journey 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 DeleteJourney 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/DeleteJourney +func (c *Pinpoint) DeleteJourney(input *DeleteJourneyInput) (*DeleteJourneyOutput, error) { + req, out := c.DeleteJourneyRequest(input) + return out, req.Send() +} + +// DeleteJourneyWithContext is the same as DeleteJourney with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteJourney 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) DeleteJourneyWithContext(ctx aws.Context, input *DeleteJourneyInput, opts ...request.Option) (*DeleteJourneyOutput, error) { + req, out := c.DeleteJourneyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeletePushTemplate = "DeletePushTemplate" // DeletePushTemplateRequest generates a "aws/request.Request" representing the @@ -3646,7 +3834,7 @@ func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInpu // GetCampaignActivities API operation for Amazon Pinpoint. // -// Retrieves information about the activity performed by a campaign. +// Retrieves information about all the activities for a campaign. // // 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 @@ -3931,7 +4119,7 @@ func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) ( // GetCampaignVersions API operation for Amazon Pinpoint. // // Retrieves information about the status, configuration, and other settings -// for all versions of a specific campaign. +// for all versions of a campaign. // // 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 @@ -5025,59 +5213,59 @@ func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJob return out, req.Send() } -const opGetPushTemplate = "GetPushTemplate" +const opGetJourney = "GetJourney" -// GetPushTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetPushTemplate operation. The "output" return +// GetJourneyRequest generates a "aws/request.Request" representing the +// client's request for the GetJourney 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 +// See GetJourney for more information on using the GetJourney // 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) +// // Example sending a request using the GetJourneyRequest method. +// req, resp := client.GetJourneyRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney +func (c *Pinpoint) GetJourneyRequest(input *GetJourneyInput) (req *request.Request, output *GetJourneyOutput) { op := &request.Operation{ - Name: opGetPushTemplate, + Name: opGetJourney, HTTPMethod: "GET", - HTTPPath: "/v1/templates/{template-name}/push", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}", } if input == nil { - input = &GetPushTemplateInput{} + input = &GetJourneyInput{} } - output = &GetPushTemplateOutput{} + output = &GetJourneyOutput{} req = c.newRequest(op, input, output) return } -// GetPushTemplate API operation for Amazon Pinpoint. +// GetJourney 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. +// Retrieves information about the status, configuration, and other settings +// for a journey. // // 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. +// API operation GetJourney for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5098,81 +5286,81 @@ func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *req // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney +func (c *Pinpoint) GetJourney(input *GetJourneyInput) (*GetJourneyOutput, error) { + req, out := c.GetJourneyRequest(input) return out, req.Send() } -// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of +// GetJourneyWithContext is the same as GetJourney 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. +// See GetJourney 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) +func (c *Pinpoint) GetJourneyWithContext(ctx aws.Context, input *GetJourneyInput, opts ...request.Option) (*GetJourneyOutput, error) { + req, out := c.GetJourneyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegment = "GetSegment" +const opGetJourneyDateRangeKpi = "GetJourneyDateRangeKpi" -// GetSegmentRequest generates a "aws/request.Request" representing the -// client's request for the GetSegment operation. The "output" return +// GetJourneyDateRangeKpiRequest generates a "aws/request.Request" representing the +// client's request for the GetJourneyDateRangeKpi 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 GetSegment for more information on using the GetSegment +// See GetJourneyDateRangeKpi for more information on using the GetJourneyDateRangeKpi // 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 GetSegmentRequest method. -// req, resp := client.GetSegmentRequest(params) +// // Example sending a request using the GetJourneyDateRangeKpiRequest method. +// req, resp := client.GetJourneyDateRangeKpiRequest(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/GetSegment -func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi +func (c *Pinpoint) GetJourneyDateRangeKpiRequest(input *GetJourneyDateRangeKpiInput) (req *request.Request, output *GetJourneyDateRangeKpiOutput) { op := &request.Operation{ - Name: opGetSegment, + Name: opGetJourneyDateRangeKpi, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}", } if input == nil { - input = &GetSegmentInput{} + input = &GetJourneyDateRangeKpiInput{} } - output = &GetSegmentOutput{} + output = &GetJourneyDateRangeKpiOutput{} req = c.newRequest(op, input, output) return } -// GetSegment API operation for Amazon Pinpoint. +// GetJourneyDateRangeKpi API operation for Amazon Pinpoint. // -// Retrieves information about the configuration, dimension, and other settings -// for a specific segment that's associated with an application. +// Retrieves (queries) pre-aggregated data for a standard engagement metric +// that applies to a journey. // // 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 GetSegment for usage and error information. +// API operation GetJourneyDateRangeKpi for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5193,81 +5381,81 @@ func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Reque // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment -func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) { - req, out := c.GetSegmentRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi +func (c *Pinpoint) GetJourneyDateRangeKpi(input *GetJourneyDateRangeKpiInput) (*GetJourneyDateRangeKpiOutput, error) { + req, out := c.GetJourneyDateRangeKpiRequest(input) return out, req.Send() } -// GetSegmentWithContext is the same as GetSegment with the addition of +// GetJourneyDateRangeKpiWithContext is the same as GetJourneyDateRangeKpi with the addition of // the ability to pass a context and additional request options. // -// See GetSegment for details on how to use this API operation. +// See GetJourneyDateRangeKpi 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) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) { - req, out := c.GetSegmentRequest(input) +func (c *Pinpoint) GetJourneyDateRangeKpiWithContext(ctx aws.Context, input *GetJourneyDateRangeKpiInput, opts ...request.Option) (*GetJourneyDateRangeKpiOutput, error) { + req, out := c.GetJourneyDateRangeKpiRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentExportJobs = "GetSegmentExportJobs" +const opGetJourneyExecutionActivityMetrics = "GetJourneyExecutionActivityMetrics" -// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentExportJobs operation. The "output" return +// GetJourneyExecutionActivityMetricsRequest generates a "aws/request.Request" representing the +// client's request for the GetJourneyExecutionActivityMetrics 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 GetSegmentExportJobs for more information on using the GetSegmentExportJobs +// See GetJourneyExecutionActivityMetrics for more information on using the GetJourneyExecutionActivityMetrics // 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 GetSegmentExportJobsRequest method. -// req, resp := client.GetSegmentExportJobsRequest(params) +// // Example sending a request using the GetJourneyExecutionActivityMetricsRequest method. +// req, resp := client.GetJourneyExecutionActivityMetricsRequest(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/GetSegmentExportJobs -func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics +func (c *Pinpoint) GetJourneyExecutionActivityMetricsRequest(input *GetJourneyExecutionActivityMetricsInput) (req *request.Request, output *GetJourneyExecutionActivityMetricsOutput) { op := &request.Operation{ - Name: opGetSegmentExportJobs, + Name: opGetJourneyExecutionActivityMetrics, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics", } if input == nil { - input = &GetSegmentExportJobsInput{} + input = &GetJourneyExecutionActivityMetricsInput{} } - output = &GetSegmentExportJobsOutput{} + output = &GetJourneyExecutionActivityMetricsOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentExportJobs API operation for Amazon Pinpoint. +// GetJourneyExecutionActivityMetrics API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the export jobs for -// a segment. +// Retrieves (queries) pre-aggregated data for a standard execution metric that +// applies to a journey activity. // // 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 GetSegmentExportJobs for usage and error information. +// API operation GetJourneyExecutionActivityMetrics for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5288,81 +5476,81 @@ func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs -func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) { - req, out := c.GetSegmentExportJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics +func (c *Pinpoint) GetJourneyExecutionActivityMetrics(input *GetJourneyExecutionActivityMetricsInput) (*GetJourneyExecutionActivityMetricsOutput, error) { + req, out := c.GetJourneyExecutionActivityMetricsRequest(input) return out, req.Send() } -// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of +// GetJourneyExecutionActivityMetricsWithContext is the same as GetJourneyExecutionActivityMetrics with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentExportJobs for details on how to use this API operation. +// See GetJourneyExecutionActivityMetrics 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) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) { - req, out := c.GetSegmentExportJobsRequest(input) +func (c *Pinpoint) GetJourneyExecutionActivityMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionActivityMetricsInput, opts ...request.Option) (*GetJourneyExecutionActivityMetricsOutput, error) { + req, out := c.GetJourneyExecutionActivityMetricsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentImportJobs = "GetSegmentImportJobs" +const opGetJourneyExecutionMetrics = "GetJourneyExecutionMetrics" -// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentImportJobs operation. The "output" return +// GetJourneyExecutionMetricsRequest generates a "aws/request.Request" representing the +// client's request for the GetJourneyExecutionMetrics 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 GetSegmentImportJobs for more information on using the GetSegmentImportJobs +// See GetJourneyExecutionMetrics for more information on using the GetJourneyExecutionMetrics // 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 GetSegmentImportJobsRequest method. -// req, resp := client.GetSegmentImportJobsRequest(params) +// // Example sending a request using the GetJourneyExecutionMetricsRequest method. +// req, resp := client.GetJourneyExecutionMetricsRequest(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/GetSegmentImportJobs -func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics +func (c *Pinpoint) GetJourneyExecutionMetricsRequest(input *GetJourneyExecutionMetricsInput) (req *request.Request, output *GetJourneyExecutionMetricsOutput) { op := &request.Operation{ - Name: opGetSegmentImportJobs, + Name: opGetJourneyExecutionMetrics, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics", } if input == nil { - input = &GetSegmentImportJobsInput{} + input = &GetJourneyExecutionMetricsInput{} } - output = &GetSegmentImportJobsOutput{} + output = &GetJourneyExecutionMetricsOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentImportJobs API operation for Amazon Pinpoint. +// GetJourneyExecutionMetrics API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the import jobs for -// a segment. +// Retrieves (queries) pre-aggregated data for a standard execution metric that +// applies to a journey. // // 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 GetSegmentImportJobs for usage and error information. +// API operation GetJourneyExecutionMetrics for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5383,81 +5571,81 @@ func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs -func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) { - req, out := c.GetSegmentImportJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics +func (c *Pinpoint) GetJourneyExecutionMetrics(input *GetJourneyExecutionMetricsInput) (*GetJourneyExecutionMetricsOutput, error) { + req, out := c.GetJourneyExecutionMetricsRequest(input) return out, req.Send() } -// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of +// GetJourneyExecutionMetricsWithContext is the same as GetJourneyExecutionMetrics with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentImportJobs for details on how to use this API operation. +// See GetJourneyExecutionMetrics 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) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) { - req, out := c.GetSegmentImportJobsRequest(input) +func (c *Pinpoint) GetJourneyExecutionMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionMetricsInput, opts ...request.Option) (*GetJourneyExecutionMetricsOutput, error) { + req, out := c.GetJourneyExecutionMetricsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentVersion = "GetSegmentVersion" +const opGetPushTemplate = "GetPushTemplate" -// GetSegmentVersionRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentVersion operation. The "output" return +// 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 GetSegmentVersion for more information on using the GetSegmentVersion +// 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 GetSegmentVersionRequest method. -// req, resp := client.GetSegmentVersionRequest(params) +// // 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/GetSegmentVersion -func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) { +// 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: opGetSegmentVersion, + Name: opGetPushTemplate, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", + HTTPPath: "/v1/templates/{template-name}/push", } if input == nil { - input = &GetSegmentVersionInput{} + input = &GetPushTemplateInput{} } - output = &GetSegmentVersionOutput{} + output = &GetPushTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentVersion API operation for Amazon Pinpoint. +// GetPushTemplate API operation for Amazon Pinpoint. // -// Retrieves information about the configuration, dimension, and other settings -// for a specific version of a segment that's associated with an application. +// 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 GetSegmentVersion for usage and error information. +// API operation GetPushTemplate for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5478,81 +5666,81 @@ func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion -func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) { - req, out := c.GetSegmentVersionRequest(input) +// 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() } -// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of +// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentVersion for details on how to use this API operation. +// 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) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) { - req, out := c.GetSegmentVersionRequest(input) +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 opGetSegmentVersions = "GetSegmentVersions" +const opGetSegment = "GetSegment" -// GetSegmentVersionsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentVersions operation. The "output" return +// GetSegmentRequest generates a "aws/request.Request" representing the +// client's request for the GetSegment 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 GetSegmentVersions for more information on using the GetSegmentVersions +// See GetSegment for more information on using the GetSegment // 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 GetSegmentVersionsRequest method. -// req, resp := client.GetSegmentVersionsRequest(params) +// // Example sending a request using the GetSegmentRequest method. +// req, resp := client.GetSegmentRequest(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/GetSegmentVersions -func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment +func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) { op := &request.Operation{ - Name: opGetSegmentVersions, + Name: opGetSegment, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}", } if input == nil { - input = &GetSegmentVersionsInput{} + input = &GetSegmentInput{} } - output = &GetSegmentVersionsOutput{} + output = &GetSegmentOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentVersions API operation for Amazon Pinpoint. +// GetSegment API operation for Amazon Pinpoint. // // Retrieves information about the configuration, dimension, and other settings -// for all versions of a specific segment that's associated with an application. +// for a specific segment that's associated with 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 GetSegmentVersions for usage and error information. +// API operation GetSegment for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5573,81 +5761,81 @@ func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (re // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions -func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) { - req, out := c.GetSegmentVersionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment +func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) { + req, out := c.GetSegmentRequest(input) return out, req.Send() } -// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of +// GetSegmentWithContext is the same as GetSegment with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentVersions for details on how to use this API operation. +// See GetSegment 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) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) { - req, out := c.GetSegmentVersionsRequest(input) +func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) { + req, out := c.GetSegmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegments = "GetSegments" +const opGetSegmentExportJobs = "GetSegmentExportJobs" -// GetSegmentsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegments operation. The "output" return +// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentExportJobs 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 GetSegments for more information on using the GetSegments +// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs // 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 GetSegmentsRequest method. -// req, resp := client.GetSegmentsRequest(params) +// // Example sending a request using the GetSegmentExportJobsRequest method. +// req, resp := client.GetSegmentExportJobsRequest(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/GetSegments -func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs +func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) { op := &request.Operation{ - Name: opGetSegments, + Name: opGetSegmentExportJobs, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", } if input == nil { - input = &GetSegmentsInput{} + input = &GetSegmentExportJobsInput{} } - output = &GetSegmentsOutput{} + output = &GetSegmentExportJobsOutput{} req = c.newRequest(op, input, output) return } -// GetSegments API operation for Amazon Pinpoint. +// GetSegmentExportJobs API operation for Amazon Pinpoint. // -// Retrieves information about the configuration, dimension, and other settings -// for all the segments that are associated with an application. +// Retrieves information about the status and settings of the export jobs for +// a 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegments for usage and error information. +// API operation GetSegmentExportJobs for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5668,81 +5856,81 @@ func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Req // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments -func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) { - req, out := c.GetSegmentsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs +func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) { + req, out := c.GetSegmentExportJobsRequest(input) return out, req.Send() } -// GetSegmentsWithContext is the same as GetSegments with the addition of +// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of // the ability to pass a context and additional request options. // -// See GetSegments for details on how to use this API operation. +// See GetSegmentExportJobs 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) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) { - req, out := c.GetSegmentsRequest(input) +func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) { + req, out := c.GetSegmentExportJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSmsChannel = "GetSmsChannel" +const opGetSegmentImportJobs = "GetSegmentImportJobs" -// GetSmsChannelRequest generates a "aws/request.Request" representing the -// client's request for the GetSmsChannel operation. The "output" return +// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentImportJobs 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 GetSmsChannel for more information on using the GetSmsChannel +// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs // 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 GetSmsChannelRequest method. -// req, resp := client.GetSmsChannelRequest(params) +// // Example sending a request using the GetSegmentImportJobsRequest method. +// req, resp := client.GetSegmentImportJobsRequest(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/GetSmsChannel -func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs +func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) { op := &request.Operation{ - Name: opGetSmsChannel, + Name: opGetSegmentImportJobs, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/channels/sms", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", } if input == nil { - input = &GetSmsChannelInput{} + input = &GetSegmentImportJobsInput{} } - output = &GetSmsChannelOutput{} + output = &GetSegmentImportJobsOutput{} req = c.newRequest(op, input, output) return } -// GetSmsChannel API operation for Amazon Pinpoint. +// GetSegmentImportJobs API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the SMS channel for -// an application. +// Retrieves information about the status and settings of the import jobs for +// a 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSmsChannel for usage and error information. +// API operation GetSegmentImportJobs for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5763,81 +5951,81 @@ func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel -func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) { - req, out := c.GetSmsChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs +func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) { + req, out := c.GetSegmentImportJobsRequest(input) return out, req.Send() } -// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of +// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of // the ability to pass a context and additional request options. // -// See GetSmsChannel for details on how to use this API operation. +// See GetSegmentImportJobs 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) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) { - req, out := c.GetSmsChannelRequest(input) +func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) { + req, out := c.GetSegmentImportJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSmsTemplate = "GetSmsTemplate" +const opGetSegmentVersion = "GetSegmentVersion" -// GetSmsTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetSmsTemplate operation. The "output" return +// GetSegmentVersionRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentVersion 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 +// See GetSegmentVersion for more information on using the GetSegmentVersion // 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) +// // Example sending a request using the GetSegmentVersionRequest method. +// req, resp := client.GetSegmentVersionRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion +func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) { op := &request.Operation{ - Name: opGetSmsTemplate, + Name: opGetSegmentVersion, HTTPMethod: "GET", - HTTPPath: "/v1/templates/{template-name}/sms", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", } if input == nil { - input = &GetSmsTemplateInput{} + input = &GetSegmentVersionInput{} } - output = &GetSmsTemplateOutput{} + output = &GetSegmentVersionOutput{} req = c.newRequest(op, input, output) return } -// GetSmsTemplate API operation for Amazon Pinpoint. +// GetSegmentVersion 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. +// Retrieves information about the configuration, dimension, and other settings +// for a specific version of a segment that's associated with 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 GetSmsTemplate for usage and error information. +// API operation GetSegmentVersion for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5858,81 +6046,81 @@ func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (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/GetSmsTemplate -func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) { - req, out := c.GetSmsTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion +func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) { + req, out := c.GetSegmentVersionRequest(input) return out, req.Send() } -// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of +// GetSegmentVersionWithContext is the same as GetSegmentVersion 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. +// See GetSegmentVersion 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) +func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) { + req, out := c.GetSegmentVersionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetUserEndpoints = "GetUserEndpoints" +const opGetSegmentVersions = "GetSegmentVersions" -// GetUserEndpointsRequest generates a "aws/request.Request" representing the -// client's request for the GetUserEndpoints operation. The "output" return +// GetSegmentVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentVersions 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 GetUserEndpoints for more information on using the GetUserEndpoints +// See GetSegmentVersions for more information on using the GetSegmentVersions // 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 GetUserEndpointsRequest method. -// req, resp := client.GetUserEndpointsRequest(params) +// // Example sending a request using the GetSegmentVersionsRequest method. +// req, resp := client.GetSegmentVersionsRequest(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/GetUserEndpoints -func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions +func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) { op := &request.Operation{ - Name: opGetUserEndpoints, + Name: opGetSegmentVersions, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/users/{user-id}", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions", } if input == nil { - input = &GetUserEndpointsInput{} + input = &GetSegmentVersionsInput{} } - output = &GetUserEndpointsOutput{} + output = &GetSegmentVersionsOutput{} req = c.newRequest(op, input, output) return } -// GetUserEndpoints API operation for Amazon Pinpoint. +// GetSegmentVersions API operation for Amazon Pinpoint. // -// Retrieves information about all the endpoints that are associated with a -// specific user ID. +// Retrieves information about the configuration, dimension, and other settings +// for all versions of a specific segment that's associated with 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 GetUserEndpoints for usage and error information. +// API operation GetSegmentVersions for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -5953,81 +6141,81 @@ func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *r // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints -func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) { - req, out := c.GetUserEndpointsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions +func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) { + req, out := c.GetSegmentVersionsRequest(input) return out, req.Send() } -// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of +// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of // the ability to pass a context and additional request options. // -// See GetUserEndpoints for details on how to use this API operation. +// See GetSegmentVersions 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) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) { - req, out := c.GetUserEndpointsRequest(input) +func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) { + req, out := c.GetSegmentVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetVoiceChannel = "GetVoiceChannel" +const opGetSegments = "GetSegments" -// GetVoiceChannelRequest generates a "aws/request.Request" representing the -// client's request for the GetVoiceChannel operation. The "output" return +// GetSegmentsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegments 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 GetVoiceChannel for more information on using the GetVoiceChannel +// See GetSegments for more information on using the GetSegments // 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 GetVoiceChannelRequest method. -// req, resp := client.GetVoiceChannelRequest(params) +// // Example sending a request using the GetSegmentsRequest method. +// req, resp := client.GetSegmentsRequest(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/GetVoiceChannel -func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments +func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) { op := &request.Operation{ - Name: opGetVoiceChannel, + Name: opGetSegments, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/channels/voice", + HTTPPath: "/v1/apps/{application-id}/segments", } if input == nil { - input = &GetVoiceChannelInput{} + input = &GetSegmentsInput{} } - output = &GetVoiceChannelOutput{} + output = &GetSegmentsOutput{} req = c.newRequest(op, input, output) return } -// GetVoiceChannel API operation for Amazon Pinpoint. +// GetSegments API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the voice channel -// for an application. +// Retrieves information about the configuration, dimension, and other settings +// for all the segments that are associated with 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 GetVoiceChannel for usage and error information. +// API operation GetSegments for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -6048,247 +6236,271 @@ func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *req // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel -func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) { - req, out := c.GetVoiceChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments +func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) { + req, out := c.GetSegmentsRequest(input) return out, req.Send() } -// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of +// GetSegmentsWithContext is the same as GetSegments with the addition of // the ability to pass a context and additional request options. // -// See GetVoiceChannel for details on how to use this API operation. +// See GetSegments 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) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) { - req, out := c.GetVoiceChannelRequest(input) +func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) { + req, out := c.GetSegmentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTagsForResource = "ListTagsForResource" +const opGetSmsChannel = "GetSmsChannel" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// GetSmsChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetSmsChannel 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 ListTagsForResource for more information on using the ListTagsForResource +// See GetSmsChannel for more information on using the GetSmsChannel // 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 ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the GetSmsChannelRequest method. +// req, resp := client.GetSmsChannelRequest(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/ListTagsForResource -func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel +func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opGetSmsChannel, HTTPMethod: "GET", - HTTPPath: "/v1/tags/{resource-arn}", + HTTPPath: "/v1/apps/{application-id}/channels/sms", } if input == nil { - input = &ListTagsForResourceInput{} + input = &GetSmsChannelInput{} } - output = &ListTagsForResourceOutput{} + output = &GetSmsChannelOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon Pinpoint. +// GetSmsChannel API operation for Amazon Pinpoint. // -// Retrieves all the tags (keys and values) that are associated with an application, -// campaign, message template, or segment. +// Retrieves information about 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation ListTagsForResource for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource -func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// API operation GetSmsChannel 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/GetSmsChannel +func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) { + req, out := c.GetSmsChannelRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See GetSmsChannel 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) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) { + req, out := c.GetSmsChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTemplates = "ListTemplates" +const opGetSmsTemplate = "GetSmsTemplate" -// ListTemplatesRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplates operation. The "output" return +// 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 ListTemplates for more information on using the ListTemplates +// 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 ListTemplatesRequest method. -// req, resp := client.ListTemplatesRequest(params) +// // 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/ListTemplates -func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { +// 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: opListTemplates, + Name: opGetSmsTemplate, HTTPMethod: "GET", - HTTPPath: "/v1/templates", + HTTPPath: "/v1/templates/{template-name}/sms", } if input == nil { - input = &ListTemplatesInput{} + input = &GetSmsTemplateInput{} } - output = &ListTemplatesOutput{} + output = &GetSmsTemplateOutput{} req = c.newRequest(op, input, output) return } -// ListTemplates API operation for Amazon Pinpoint. +// GetSmsTemplate API operation for Amazon Pinpoint. // -// Retrieves information about all the message templates that are associated -// with your Amazon Pinpoint account. +// 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 ListTemplates for usage and error information. +// API operation GetSmsTemplate for usage and error information. // // Returned Error Codes: -// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// * ErrCodeBadRequestException "BadRequestException" // Provides information about an API request or response. // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// * ErrCodeInternalServerErrorException "InternalServerErrorException" // Provides information about an API request or response. // -// * ErrCodeBadRequestException "BadRequestException" +// * ErrCodeForbiddenException "ForbiddenException" // Provides information about an API request or response. // -// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// * ErrCodeNotFoundException "NotFoundException" // Provides information about an API request or response. // -// * ErrCodeForbiddenException "ForbiddenException" +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" // 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) +// * 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() } -// ListTemplatesWithContext is the same as ListTemplates with the addition of +// GetSmsTemplateWithContext is the same as GetSmsTemplate 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. +// 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) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { - req, out := c.ListTemplatesRequest(input) +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 opPhoneNumberValidate = "PhoneNumberValidate" +const opGetUserEndpoints = "GetUserEndpoints" -// PhoneNumberValidateRequest generates a "aws/request.Request" representing the -// client's request for the PhoneNumberValidate operation. The "output" return +// GetUserEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the GetUserEndpoints 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 GetUserEndpoints for more information on using the GetUserEndpoints // 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 GetUserEndpointsRequest method. +// req, resp := client.GetUserEndpointsRequest(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/GetUserEndpoints +func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) { op := &request.Operation{ - Name: opPhoneNumberValidate, - HTTPMethod: "POST", - HTTPPath: "/v1/phone/number/validate", + Name: opGetUserEndpoints, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/users/{user-id}", } if input == nil { - input = &PhoneNumberValidateInput{} + input = &GetUserEndpointsInput{} } - output = &PhoneNumberValidateOutput{} + output = &GetUserEndpointsOutput{} req = c.newRequest(op, input, output) return } -// PhoneNumberValidate API operation for Amazon Pinpoint. +// GetUserEndpoints API operation for Amazon Pinpoint. // -// Retrieves information about a phone number. +// Retrieves information about all the endpoints that are associated with a +// specific user ID. // // 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 GetUserEndpoints for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -6309,81 +6521,81 @@ func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) ( // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate -func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) { - req, out := c.PhoneNumberValidateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints +func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) { + req, out := c.GetUserEndpointsRequest(input) return out, req.Send() } -// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of +// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of // the ability to pass a context and additional request options. // -// See PhoneNumberValidate for details on how to use this API operation. +// See GetUserEndpoints 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) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) { - req, out := c.PhoneNumberValidateRequest(input) +func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) { + req, out := c.GetUserEndpointsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutEventStream = "PutEventStream" +const opGetVoiceChannel = "GetVoiceChannel" -// PutEventStreamRequest generates a "aws/request.Request" representing the -// client's request for the PutEventStream operation. The "output" return +// GetVoiceChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetVoiceChannel 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 PutEventStream for more information on using the PutEventStream +// See GetVoiceChannel for more information on using the GetVoiceChannel // 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 PutEventStreamRequest method. -// req, resp := client.PutEventStreamRequest(params) +// // Example sending a request using the GetVoiceChannelRequest method. +// req, resp := client.GetVoiceChannelRequest(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/PutEventStream -func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel +func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) { op := &request.Operation{ - Name: opPutEventStream, - HTTPMethod: "POST", - HTTPPath: "/v1/apps/{application-id}/eventstream", + Name: opGetVoiceChannel, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/channels/voice", } if input == nil { - input = &PutEventStreamInput{} + input = &GetVoiceChannelInput{} } - output = &PutEventStreamOutput{} + output = &GetVoiceChannelOutput{} req = c.newRequest(op, input, output) return } -// PutEventStream API operation for Amazon Pinpoint. +// GetVoiceChannel API operation for Amazon Pinpoint. // -// Creates a new event stream for an application or updates the settings of -// an existing event stream for an application. +// Retrieves information about 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 PutEventStream for usage and error information. +// API operation GetVoiceChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -6404,81 +6616,81 @@ func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (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/PutEventStream -func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) { - req, out := c.PutEventStreamRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel +func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) { + req, out := c.GetVoiceChannelRequest(input) return out, req.Send() } -// PutEventStreamWithContext is the same as PutEventStream with the addition of +// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of // the ability to pass a context and additional request options. // -// See PutEventStream for details on how to use this API operation. +// See GetVoiceChannel 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) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) { - req, out := c.PutEventStreamRequest(input) +func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) { + req, out := c.GetVoiceChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutEvents = "PutEvents" +const opListJourneys = "ListJourneys" -// PutEventsRequest generates a "aws/request.Request" representing the -// client's request for the PutEvents operation. The "output" return +// ListJourneysRequest generates a "aws/request.Request" representing the +// client's request for the ListJourneys 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 PutEvents for more information on using the PutEvents +// See ListJourneys for more information on using the ListJourneys // 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 PutEventsRequest method. -// req, resp := client.PutEventsRequest(params) +// // Example sending a request using the ListJourneysRequest method. +// req, resp := client.ListJourneysRequest(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/PutEvents -func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys +func (c *Pinpoint) ListJourneysRequest(input *ListJourneysInput) (req *request.Request, output *ListJourneysOutput) { op := &request.Operation{ - Name: opPutEvents, - HTTPMethod: "POST", - HTTPPath: "/v1/apps/{application-id}/events", + Name: opListJourneys, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/journeys", } if input == nil { - input = &PutEventsInput{} + input = &ListJourneysInput{} } - output = &PutEventsOutput{} + output = &ListJourneysOutput{} req = c.newRequest(op, input, output) return } -// PutEvents API operation for Amazon Pinpoint. +// ListJourneys API operation for Amazon Pinpoint. // -// Creates a new event to record for endpoints, or creates or updates endpoint -// data that existing events are associated with. +// Retrieves information about the status, configuration, and other settings +// for all the journeys that are associated with 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 PutEvents for usage and error information. +// API operation ListJourneys for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -6499,269 +6711,247 @@ func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents -func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) { - req, out := c.PutEventsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys +func (c *Pinpoint) ListJourneys(input *ListJourneysInput) (*ListJourneysOutput, error) { + req, out := c.ListJourneysRequest(input) return out, req.Send() } -// PutEventsWithContext is the same as PutEvents with the addition of +// ListJourneysWithContext is the same as ListJourneys with the addition of // the ability to pass a context and additional request options. // -// See PutEvents for details on how to use this API operation. +// See ListJourneys 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) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) { - req, out := c.PutEventsRequest(input) +func (c *Pinpoint) ListJourneysWithContext(ctx aws.Context, input *ListJourneysInput, opts ...request.Option) (*ListJourneysOutput, error) { + req, out := c.ListJourneysRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRemoveAttributes = "RemoveAttributes" +const opListTagsForResource = "ListTagsForResource" -// RemoveAttributesRequest generates a "aws/request.Request" representing the -// client's request for the RemoveAttributes operation. The "output" return +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 RemoveAttributes for more information on using the RemoveAttributes +// See ListTagsForResource for more information on using the ListTagsForResource // 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 RemoveAttributesRequest method. -// req, resp := client.RemoveAttributesRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(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/RemoveAttributes -func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource +func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opRemoveAttributes, - HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/attributes/{attribute-type}", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/v1/tags/{resource-arn}", } if input == nil { - input = &RemoveAttributesInput{} + input = &ListTagsForResourceInput{} } - output = &RemoveAttributesOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// RemoveAttributes API operation for Amazon Pinpoint. +// ListTagsForResource API operation for Amazon Pinpoint. // -// Removes one or more attributes, of the same attribute type, from all the -// endpoints that are associated with an application. +// Retrieves all the tags (keys and values) that are associated with an application, +// campaign, journey, 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation RemoveAttributes 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/RemoveAttributes -func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) { - req, out := c.RemoveAttributesRequest(input) +// API operation ListTagsForResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource +func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See RemoveAttributes for details on how to use this API operation. +// See ListTagsForResource 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) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) { - req, out := c.RemoveAttributesRequest(input) +func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSendMessages = "SendMessages" +const opListTemplates = "ListTemplates" -// SendMessagesRequest generates a "aws/request.Request" representing the -// client's request for the SendMessages 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 SendMessages for more information on using the SendMessages +// 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 SendMessagesRequest method. -// req, resp := client.SendMessagesRequest(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/SendMessages -func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) { +// 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: opSendMessages, - HTTPMethod: "POST", - HTTPPath: "/v1/apps/{application-id}/messages", + Name: opListTemplates, + HTTPMethod: "GET", + HTTPPath: "/v1/templates", } if input == nil { - input = &SendMessagesInput{} + input = &ListTemplatesInput{} } - output = &SendMessagesOutput{} + output = &ListTemplatesOutput{} req = c.newRequest(op, input, output) return } -// SendMessages API operation for Amazon Pinpoint. +// ListTemplates API operation for Amazon Pinpoint. // -// Creates and sends a direct message. +// 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 SendMessages for usage and error information. +// API operation ListTemplates for usage and error information. // // Returned Error Codes: -// * ErrCodeBadRequestException "BadRequestException" -// Provides information about an API request or response. -// -// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" // Provides information about an API request or response. // -// * ErrCodeForbiddenException "ForbiddenException" +// * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// * ErrCodeNotFoundException "NotFoundException" +// * ErrCodeBadRequestException "BadRequestException" // Provides information about an API request or response. // -// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// * ErrCodeInternalServerErrorException "InternalServerErrorException" // Provides information about an API request or response. // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// * ErrCodeForbiddenException "ForbiddenException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages -func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) { - req, out := c.SendMessagesRequest(input) +// 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() } -// SendMessagesWithContext is the same as SendMessages with the addition of +// ListTemplatesWithContext is the same as ListTemplates with the addition of // the ability to pass a context and additional request options. // -// See SendMessages for details on how to use this API operation. +// 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) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) { - req, out := c.SendMessagesRequest(input) +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 opSendUsersMessages = "SendUsersMessages" +const opPhoneNumberValidate = "PhoneNumberValidate" -// SendUsersMessagesRequest generates a "aws/request.Request" representing the -// client's request for the SendUsersMessages operation. The "output" return +// 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 SendUsersMessages for more information on using the SendUsersMessages +// 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 SendUsersMessagesRequest method. -// req, resp := client.SendUsersMessagesRequest(params) +// // 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/SendUsersMessages -func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) { +// 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: opSendUsersMessages, + Name: opPhoneNumberValidate, HTTPMethod: "POST", - HTTPPath: "/v1/apps/{application-id}/users-messages", + HTTPPath: "/v1/phone/number/validate", } if input == nil { - input = &SendUsersMessagesInput{} + input = &PhoneNumberValidateInput{} } - output = &SendUsersMessagesOutput{} + output = &PhoneNumberValidateOutput{} req = c.newRequest(op, input, output) return } -// SendUsersMessages API operation for Amazon Pinpoint. +// PhoneNumberValidate API operation for Amazon Pinpoint. // -// Creates and sends a message to a list of users. +// 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 SendUsersMessages for usage and error information. +// API operation PhoneNumberValidate for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -6782,233 +6972,176 @@ func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages -func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) { - req, out := c.SendUsersMessagesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate +func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) { + req, out := c.PhoneNumberValidateRequest(input) return out, req.Send() } -// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of +// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of // the ability to pass a context and additional request options. // -// See SendUsersMessages for details on how to use this API operation. +// See PhoneNumberValidate 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) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) { - req, out := c.SendUsersMessagesRequest(input) +func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) { + req, out := c.PhoneNumberValidateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opPutEventStream = "PutEventStream" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// PutEventStreamRequest generates a "aws/request.Request" representing the +// client's request for the PutEventStream 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 TagResource for more information on using the TagResource +// See PutEventStream for more information on using the PutEventStream // 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 TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the PutEventStreamRequest method. +// req, resp := client.PutEventStreamRequest(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/TagResource -func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream +func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opPutEventStream, HTTPMethod: "POST", - HTTPPath: "/v1/tags/{resource-arn}", + HTTPPath: "/v1/apps/{application-id}/eventstream", } if input == nil { - input = &TagResourceInput{} + input = &PutEventStreamInput{} } - output = &TagResourceOutput{} + output = &PutEventStreamOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Amazon Pinpoint. +// PutEventStream API operation for Amazon Pinpoint. // -// Adds one or more tags (keys and values) to an application, campaign, message -// template, or segment. +// Creates a new event stream for an application or updates the settings of +// an existing 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation TagResource for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource -func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) - return out, req.Send() -} - -// TagResourceWithContext is the same as TagResource with the addition of -// the ability to pass a context and additional request options. +// API operation PutEventStream for usage and error information. // -// See TagResource for details on how to use this API operation. +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Provides information about an API request or response. // -// 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) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUntagResource = "UntagResource" - -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource -// 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// Provides information about an API request or response. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// * ErrCodeForbiddenException "ForbiddenException" +// Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource -func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { - op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/v1/tags/{resource-arn}", - } - - if input == nil { - input = &UntagResourceInput{} - } - - output = &UntagResourceOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// UntagResource API operation for Amazon Pinpoint. +// * ErrCodeNotFoundException "NotFoundException" +// Provides information about an API request or response. // -// Removes one or more tags (keys and values) from an application, campaign, -// message template, or segment. +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// Provides information about an API request or response. // -// 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. +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Provides information about an API request or response. // -// See the AWS API reference guide for Amazon Pinpoint's -// API operation UntagResource for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource -func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream +func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) { + req, out := c.PutEventStreamRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// PutEventStreamWithContext is the same as PutEventStream with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See PutEventStream 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) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) { + req, out := c.PutEventStreamRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAdmChannel = "UpdateAdmChannel" +const opPutEvents = "PutEvents" -// UpdateAdmChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAdmChannel operation. The "output" return +// PutEventsRequest generates a "aws/request.Request" representing the +// client's request for the PutEvents 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 UpdateAdmChannel for more information on using the UpdateAdmChannel +// See PutEvents for more information on using the PutEvents // 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 UpdateAdmChannelRequest method. -// req, resp := client.UpdateAdmChannelRequest(params) +// // Example sending a request using the PutEventsRequest method. +// req, resp := client.PutEventsRequest(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/UpdateAdmChannel -func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents +func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) { op := &request.Operation{ - Name: opUpdateAdmChannel, - HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/adm", + Name: opPutEvents, + HTTPMethod: "POST", + HTTPPath: "/v1/apps/{application-id}/events", } if input == nil { - input = &UpdateAdmChannelInput{} + input = &PutEventsInput{} } - output = &UpdateAdmChannelOutput{} + output = &PutEventsOutput{} req = c.newRequest(op, input, output) return } -// UpdateAdmChannel API operation for Amazon Pinpoint. +// PutEvents API operation for Amazon Pinpoint. // -// Enables the ADM channel for an application or updates the status and settings -// of the ADM channel for an application. +// Creates a new event to record for endpoints, or creates or updates endpoint +// data that existing events are associated with. // // 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 UpdateAdmChannel for usage and error information. +// API operation PutEvents for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7029,81 +7162,81 @@ func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *r // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel -func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) { - req, out := c.UpdateAdmChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents +func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) { + req, out := c.PutEventsRequest(input) return out, req.Send() } -// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of +// PutEventsWithContext is the same as PutEvents with the addition of // the ability to pass a context and additional request options. // -// See UpdateAdmChannel for details on how to use this API operation. +// See PutEvents 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) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) { - req, out := c.UpdateAdmChannelRequest(input) +func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) { + req, out := c.PutEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateApnsChannel = "UpdateApnsChannel" +const opRemoveAttributes = "RemoveAttributes" -// UpdateApnsChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApnsChannel operation. The "output" return +// RemoveAttributesRequest generates a "aws/request.Request" representing the +// client's request for the RemoveAttributes 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 UpdateApnsChannel for more information on using the UpdateApnsChannel +// See RemoveAttributes for more information on using the RemoveAttributes // 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 UpdateApnsChannelRequest method. -// req, resp := client.UpdateApnsChannelRequest(params) +// // Example sending a request using the RemoveAttributesRequest method. +// req, resp := client.RemoveAttributesRequest(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/UpdateApnsChannel -func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes +func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) { op := &request.Operation{ - Name: opUpdateApnsChannel, + Name: opRemoveAttributes, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/apns", + HTTPPath: "/v1/apps/{application-id}/attributes/{attribute-type}", } if input == nil { - input = &UpdateApnsChannelInput{} + input = &RemoveAttributesInput{} } - output = &UpdateApnsChannelOutput{} + output = &RemoveAttributesOutput{} req = c.newRequest(op, input, output) return } -// UpdateApnsChannel API operation for Amazon Pinpoint. +// RemoveAttributes API operation for Amazon Pinpoint. // -// Enables the APNs channel for an application or updates the status and settings -// of the APNs channel for an application. +// Removes one or more attributes, of the same attribute type, from all the +// endpoints that are associated with 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 UpdateApnsChannel for usage and error information. +// API operation RemoveAttributes for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7124,81 +7257,80 @@ func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel -func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) { - req, out := c.UpdateApnsChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes +func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) { + req, out := c.RemoveAttributesRequest(input) return out, req.Send() } -// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of +// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of // the ability to pass a context and additional request options. // -// See UpdateApnsChannel for details on how to use this API operation. +// See RemoveAttributes 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) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) { - req, out := c.UpdateApnsChannelRequest(input) +func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) { + req, out := c.RemoveAttributesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel" +const opSendMessages = "SendMessages" -// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApnsSandboxChannel operation. The "output" return +// SendMessagesRequest generates a "aws/request.Request" representing the +// client's request for the SendMessages 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 UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel +// See SendMessages for more information on using the SendMessages // 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 UpdateApnsSandboxChannelRequest method. -// req, resp := client.UpdateApnsSandboxChannelRequest(params) +// // Example sending a request using the SendMessagesRequest method. +// req, resp := client.SendMessagesRequest(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/UpdateApnsSandboxChannel -func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages +func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) { op := &request.Operation{ - Name: opUpdateApnsSandboxChannel, - HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/apns_sandbox", + Name: opSendMessages, + HTTPMethod: "POST", + HTTPPath: "/v1/apps/{application-id}/messages", } if input == nil { - input = &UpdateApnsSandboxChannelInput{} + input = &SendMessagesInput{} } - output = &UpdateApnsSandboxChannelOutput{} + output = &SendMessagesOutput{} req = c.newRequest(op, input, output) return } -// UpdateApnsSandboxChannel API operation for Amazon Pinpoint. +// SendMessages API operation for Amazon Pinpoint. // -// Enables the APNs sandbox channel for an application or updates the status -// and settings of the APNs sandbox channel for an application. +// Creates and sends a direct message. // // 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 UpdateApnsSandboxChannel for usage and error information. +// API operation SendMessages for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7219,81 +7351,80 @@ func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChann // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel -func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) { - req, out := c.UpdateApnsSandboxChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages +func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) { + req, out := c.SendMessagesRequest(input) return out, req.Send() } -// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of +// SendMessagesWithContext is the same as SendMessages with the addition of // the ability to pass a context and additional request options. // -// See UpdateApnsSandboxChannel for details on how to use this API operation. +// See SendMessages 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) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) { - req, out := c.UpdateApnsSandboxChannelRequest(input) +func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) { + req, out := c.SendMessagesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel" +const opSendUsersMessages = "SendUsersMessages" -// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApnsVoipChannel operation. The "output" return +// SendUsersMessagesRequest generates a "aws/request.Request" representing the +// client's request for the SendUsersMessages 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 UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel +// See SendUsersMessages for more information on using the SendUsersMessages // 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 UpdateApnsVoipChannelRequest method. -// req, resp := client.UpdateApnsVoipChannelRequest(params) +// // Example sending a request using the SendUsersMessagesRequest method. +// req, resp := client.SendUsersMessagesRequest(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/UpdateApnsVoipChannel -func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages +func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) { op := &request.Operation{ - Name: opUpdateApnsVoipChannel, - HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/apns_voip", + Name: opSendUsersMessages, + HTTPMethod: "POST", + HTTPPath: "/v1/apps/{application-id}/users-messages", } if input == nil { - input = &UpdateApnsVoipChannelInput{} + input = &SendUsersMessagesInput{} } - output = &UpdateApnsVoipChannelOutput{} + output = &SendUsersMessagesOutput{} req = c.newRequest(op, input, output) return } -// UpdateApnsVoipChannel API operation for Amazon Pinpoint. +// SendUsersMessages API operation for Amazon Pinpoint. // -// Enables the APNs VoIP channel for an application or updates the status and -// settings of the APNs VoIP channel for an application. +// Creates and sends a message to a list of users. // // 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 UpdateApnsVoipChannel for usage and error information. +// API operation SendUsersMessages for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7314,270 +7445,233 @@ func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInpu // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel -func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) { - req, out := c.UpdateApnsVoipChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages +func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) { + req, out := c.SendUsersMessagesRequest(input) return out, req.Send() } -// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of +// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of // the ability to pass a context and additional request options. // -// See UpdateApnsVoipChannel for details on how to use this API operation. +// See SendUsersMessages 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) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) { - req, out := c.UpdateApnsVoipChannelRequest(input) +func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) { + req, out := c.SendUsersMessagesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel" +const opTagResource = "TagResource" -// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel +// See TagResource for more information on using the TagResource // 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 UpdateApnsVoipSandboxChannelRequest method. -// req, resp := client.UpdateApnsVoipSandboxChannelRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(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/UpdateApnsVoipSandboxChannel -func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource +func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateApnsVoipSandboxChannel, - HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/apns_voip_sandbox", + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/v1/tags/{resource-arn}", } if input == nil { - input = &UpdateApnsVoipSandboxChannelInput{} + input = &TagResourceInput{} } - output = &UpdateApnsVoipSandboxChannelOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint. +// TagResource API operation for Amazon Pinpoint. // -// Enables the APNs VoIP sandbox channel for an application or updates the status -// and settings of the APNs VoIP sandbox channel for an application. +// Adds one or more tags (keys and values) to an application, campaign, journey, +// 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateApnsVoipSandboxChannel 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/UpdateApnsVoipSandboxChannel -func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) { - req, out := c.UpdateApnsVoipSandboxChannelRequest(input) +// API operation TagResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource +func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateApnsVoipSandboxChannel for details on how to use this API operation. +// See TagResource 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) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) { - req, out := c.UpdateApnsVoipSandboxChannelRequest(input) +func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateApplicationSettings = "UpdateApplicationSettings" +const opUntagResource = "UntagResource" -// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApplicationSettings operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UpdateApplicationSettings for more information on using the UpdateApplicationSettings +// See UntagResource for more information on using the UntagResource // 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 UpdateApplicationSettingsRequest method. -// req, resp := client.UpdateApplicationSettingsRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(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/UpdateApplicationSettings -func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource +func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateApplicationSettings, - HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/settings", + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/v1/tags/{resource-arn}", } if input == nil { - input = &UpdateApplicationSettingsInput{} + input = &UntagResourceInput{} } - output = &UpdateApplicationSettingsOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateApplicationSettings API operation for Amazon Pinpoint. +// UntagResource API operation for Amazon Pinpoint. // -// Updates the settings for an application. +// Removes one or more tags (keys and values) from an application, campaign, +// journey, 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateApplicationSettings 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/UpdateApplicationSettings -func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) { - req, out := c.UpdateApplicationSettingsRequest(input) +// API operation UntagResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource +func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateApplicationSettings for details on how to use this API operation. +// See UntagResource 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) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) { - req, out := c.UpdateApplicationSettingsRequest(input) +func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateBaiduChannel = "UpdateBaiduChannel" +const opUpdateAdmChannel = "UpdateAdmChannel" -// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateBaiduChannel operation. The "output" return +// UpdateAdmChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAdmChannel 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 UpdateBaiduChannel for more information on using the UpdateBaiduChannel +// See UpdateAdmChannel for more information on using the UpdateAdmChannel // 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 UpdateBaiduChannelRequest method. -// req, resp := client.UpdateBaiduChannelRequest(params) +// // Example sending a request using the UpdateAdmChannelRequest method. +// req, resp := client.UpdateAdmChannelRequest(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/UpdateBaiduChannel -func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel +func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) { op := &request.Operation{ - Name: opUpdateBaiduChannel, + Name: opUpdateAdmChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/baidu", + HTTPPath: "/v1/apps/{application-id}/channels/adm", } if input == nil { - input = &UpdateBaiduChannelInput{} + input = &UpdateAdmChannelInput{} } - output = &UpdateBaiduChannelOutput{} + output = &UpdateAdmChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateBaiduChannel API operation for Amazon Pinpoint. +// UpdateAdmChannel API operation for Amazon Pinpoint. // -// Enables the Baidu channel for an application or updates the status and settings -// of the Baidu channel 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateBaiduChannel for usage and error information. +// API operation UpdateAdmChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7598,80 +7692,81 @@ func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (re // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel -func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) { - req, out := c.UpdateBaiduChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel +func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) { + req, out := c.UpdateAdmChannelRequest(input) return out, req.Send() } -// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of +// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateBaiduChannel for details on how to use this API operation. +// See UpdateAdmChannel 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) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) { - req, out := c.UpdateBaiduChannelRequest(input) +func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) { + req, out := c.UpdateAdmChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateCampaign = "UpdateCampaign" +const opUpdateApnsChannel = "UpdateApnsChannel" -// UpdateCampaignRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCampaign operation. The "output" return +// UpdateApnsChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApnsChannel 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 UpdateCampaign for more information on using the UpdateCampaign +// See UpdateApnsChannel for more information on using the UpdateApnsChannel // 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 UpdateCampaignRequest method. -// req, resp := client.UpdateCampaignRequest(params) +// // Example sending a request using the UpdateApnsChannelRequest method. +// req, resp := client.UpdateApnsChannelRequest(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/UpdateCampaign -func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel +func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) { op := &request.Operation{ - Name: opUpdateCampaign, + Name: opUpdateApnsChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/campaigns/{campaign-id}", + HTTPPath: "/v1/apps/{application-id}/channels/apns", } if input == nil { - input = &UpdateCampaignInput{} + input = &UpdateApnsChannelInput{} } - output = &UpdateCampaignOutput{} + output = &UpdateApnsChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateCampaign API operation for Amazon Pinpoint. +// UpdateApnsChannel API operation for Amazon Pinpoint. // -// Updates the settings for a campaign. +// 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateCampaign for usage and error information. +// API operation UpdateApnsChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7692,81 +7787,81 @@ func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (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/UpdateCampaign -func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) { - req, out := c.UpdateCampaignRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel +func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) { + req, out := c.UpdateApnsChannelRequest(input) return out, req.Send() } -// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of +// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateCampaign for details on how to use this API operation. +// See UpdateApnsChannel 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) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) { - req, out := c.UpdateCampaignRequest(input) +func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) { + req, out := c.UpdateApnsChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEmailChannel = "UpdateEmailChannel" +const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel" -// UpdateEmailChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEmailChannel operation. The "output" return +// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApnsSandboxChannel 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 UpdateEmailChannel for more information on using the UpdateEmailChannel +// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel // 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 UpdateEmailChannelRequest method. -// req, resp := client.UpdateEmailChannelRequest(params) +// // Example sending a request using the UpdateApnsSandboxChannelRequest method. +// req, resp := client.UpdateApnsSandboxChannelRequest(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/UpdateEmailChannel -func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel +func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) { op := &request.Operation{ - Name: opUpdateEmailChannel, + Name: opUpdateApnsSandboxChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/email", + HTTPPath: "/v1/apps/{application-id}/channels/apns_sandbox", } if input == nil { - input = &UpdateEmailChannelInput{} + input = &UpdateApnsSandboxChannelInput{} } - output = &UpdateEmailChannelOutput{} + output = &UpdateApnsSandboxChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateEmailChannel API operation for Amazon Pinpoint. +// UpdateApnsSandboxChannel API operation for Amazon Pinpoint. // -// Enables the email channel for an application or updates the status and settings -// of the email channel 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateEmailChannel for usage and error information. +// API operation UpdateApnsSandboxChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7787,81 +7882,81 @@ func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (re // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel -func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) { - req, out := c.UpdateEmailChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel +func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) { + req, out := c.UpdateApnsSandboxChannelRequest(input) return out, req.Send() } -// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of +// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateEmailChannel for details on how to use this API operation. +// See UpdateApnsSandboxChannel 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) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) { - req, out := c.UpdateEmailChannelRequest(input) +func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) { + req, out := c.UpdateApnsSandboxChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEmailTemplate = "UpdateEmailTemplate" +const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel" -// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEmailTemplate operation. The "output" return +// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApnsVoipChannel 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 +// See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel // 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) +// // Example sending a request using the UpdateApnsVoipChannelRequest method. +// req, resp := client.UpdateApnsVoipChannelRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel +func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) { op := &request.Operation{ - Name: opUpdateEmailTemplate, + Name: opUpdateApnsVoipChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/templates/{template-name}/email", + HTTPPath: "/v1/apps/{application-id}/channels/apns_voip", } if input == nil { - input = &UpdateEmailTemplateInput{} + input = &UpdateApnsVoipChannelInput{} } - output = &UpdateEmailTemplateOutput{} + output = &UpdateApnsVoipChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateEmailTemplate API operation for Amazon Pinpoint. +// UpdateApnsVoipChannel API operation for Amazon Pinpoint. // -// Updates an existing message template that you can use in messages that are -// sent through the email channel. +// 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateEmailTemplate for usage and error information. +// API operation UpdateApnsVoipChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7882,83 +7977,81 @@ func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) ( // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel +func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) { + req, out := c.UpdateApnsVoipChannelRequest(input) return out, req.Send() } -// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of +// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel 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. +// See UpdateApnsVoipChannel 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) +func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) { + req, out := c.UpdateApnsVoipChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEndpoint = "UpdateEndpoint" +const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel" -// UpdateEndpointRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEndpoint operation. The "output" return +// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApnsVoipSandboxChannel 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 UpdateEndpoint for more information on using the UpdateEndpoint +// See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel // 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 UpdateEndpointRequest method. -// req, resp := client.UpdateEndpointRequest(params) +// // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method. +// req, resp := client.UpdateApnsVoipSandboxChannelRequest(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/UpdateEndpoint -func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel +func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) { op := &request.Operation{ - Name: opUpdateEndpoint, + Name: opUpdateApnsVoipSandboxChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/endpoints/{endpoint-id}", + HTTPPath: "/v1/apps/{application-id}/channels/apns_voip_sandbox", } if input == nil { - input = &UpdateEndpointInput{} + input = &UpdateApnsVoipSandboxChannelInput{} } - output = &UpdateEndpointOutput{} + output = &UpdateApnsVoipSandboxChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateEndpoint API operation for Amazon Pinpoint. +// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint. // -// Creates a new endpoint for an application or updates the settings and attributes -// of an existing endpoint for an application. You can also use this operation -// to define custom attributes (Attributes, Metrics, and UserAttributes properties) -// for an endpoint. +// 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateEndpoint for usage and error information. +// API operation UpdateApnsVoipSandboxChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -7979,83 +8072,80 @@ func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (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/UpdateEndpoint -func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) { - req, out := c.UpdateEndpointRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel +func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) { + req, out := c.UpdateApnsVoipSandboxChannelRequest(input) return out, req.Send() } -// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of +// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateEndpoint for details on how to use this API operation. +// See UpdateApnsVoipSandboxChannel 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) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) { - req, out := c.UpdateEndpointRequest(input) +func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) { + req, out := c.UpdateApnsVoipSandboxChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEndpointsBatch = "UpdateEndpointsBatch" +const opUpdateApplicationSettings = "UpdateApplicationSettings" -// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEndpointsBatch operation. The "output" return +// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplicationSettings 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 UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch +// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings // 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 UpdateEndpointsBatchRequest method. -// req, resp := client.UpdateEndpointsBatchRequest(params) +// // Example sending a request using the UpdateApplicationSettingsRequest method. +// req, resp := client.UpdateApplicationSettingsRequest(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/UpdateEndpointsBatch -func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings +func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) { op := &request.Operation{ - Name: opUpdateEndpointsBatch, + Name: opUpdateApplicationSettings, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/endpoints", + HTTPPath: "/v1/apps/{application-id}/settings", } if input == nil { - input = &UpdateEndpointsBatchInput{} + input = &UpdateApplicationSettingsInput{} } - output = &UpdateEndpointsBatchOutput{} + output = &UpdateApplicationSettingsOutput{} req = c.newRequest(op, input, output) return } -// UpdateEndpointsBatch API operation for Amazon Pinpoint. +// UpdateApplicationSettings API operation for Amazon Pinpoint. // -// Creates a new batch of endpoints for an application or updates the settings -// and attributes of a batch of existing endpoints for an application. You can -// also use this operation to define custom attributes (Attributes, Metrics, -// and UserAttributes properties) for a batch of endpoints. +// Updates the settings 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 UpdateEndpointsBatch for usage and error information. +// API operation UpdateApplicationSettings for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8076,81 +8166,81 @@ func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch -func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) { - req, out := c.UpdateEndpointsBatchRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings +func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) { + req, out := c.UpdateApplicationSettingsRequest(input) return out, req.Send() } -// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of +// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of // the ability to pass a context and additional request options. // -// See UpdateEndpointsBatch for details on how to use this API operation. +// See UpdateApplicationSettings 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) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) { - req, out := c.UpdateEndpointsBatchRequest(input) +func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) { + req, out := c.UpdateApplicationSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGcmChannel = "UpdateGcmChannel" +const opUpdateBaiduChannel = "UpdateBaiduChannel" -// UpdateGcmChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGcmChannel operation. The "output" return +// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBaiduChannel 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 UpdateGcmChannel for more information on using the UpdateGcmChannel +// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel // 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 UpdateGcmChannelRequest method. -// req, resp := client.UpdateGcmChannelRequest(params) +// // Example sending a request using the UpdateBaiduChannelRequest method. +// req, resp := client.UpdateBaiduChannelRequest(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/UpdateGcmChannel -func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel +func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) { op := &request.Operation{ - Name: opUpdateGcmChannel, + Name: opUpdateBaiduChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/gcm", + HTTPPath: "/v1/apps/{application-id}/channels/baidu", } if input == nil { - input = &UpdateGcmChannelInput{} + input = &UpdateBaiduChannelInput{} } - output = &UpdateGcmChannelOutput{} + output = &UpdateBaiduChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateGcmChannel API operation for Amazon Pinpoint. +// UpdateBaiduChannel API operation for Amazon Pinpoint. // -// Enables the GCM channel for an application or updates the status and settings -// of the GCM 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateGcmChannel for usage and error information. +// API operation UpdateBaiduChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8171,81 +8261,80 @@ func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *r // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel -func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) { - req, out := c.UpdateGcmChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel +func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) { + req, out := c.UpdateBaiduChannelRequest(input) return out, req.Send() } -// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of +// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateGcmChannel for details on how to use this API operation. +// See UpdateBaiduChannel 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) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) { - req, out := c.UpdateGcmChannelRequest(input) +func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) { + req, out := c.UpdateBaiduChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePushTemplate = "UpdatePushTemplate" +const opUpdateCampaign = "UpdateCampaign" -// UpdatePushTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePushTemplate operation. The "output" return +// UpdateCampaignRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCampaign 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 +// See UpdateCampaign for more information on using the UpdateCampaign // 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) +// // Example sending a request using the UpdateCampaignRequest method. +// req, resp := client.UpdateCampaignRequest(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) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign +func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) { op := &request.Operation{ - Name: opUpdatePushTemplate, + Name: opUpdateCampaign, HTTPMethod: "PUT", - HTTPPath: "/v1/templates/{template-name}/push", + HTTPPath: "/v1/apps/{application-id}/campaigns/{campaign-id}", } if input == nil { - input = &UpdatePushTemplateInput{} + input = &UpdateCampaignInput{} } - output = &UpdatePushTemplateOutput{} + output = &UpdateCampaignOutput{} req = c.newRequest(op, input, output) return } -// UpdatePushTemplate API operation for Amazon Pinpoint. +// UpdateCampaign API operation for Amazon Pinpoint. // -// Updates an existing message template that you can use in messages that are -// sent through a push notification channel. +// Updates the configuration and other settings for a campaign. // // 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. +// API operation UpdateCampaign for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8266,81 +8355,81 @@ func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (re // * 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign +func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) { + req, out := c.UpdateCampaignRequest(input) return out, req.Send() } -// UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of +// UpdateCampaignWithContext is the same as UpdateCampaign 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. +// See UpdateCampaign 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) +func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) { + req, out := c.UpdateCampaignRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateSegment = "UpdateSegment" +const opUpdateEmailChannel = "UpdateEmailChannel" -// UpdateSegmentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateSegment operation. The "output" return +// UpdateEmailChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEmailChannel 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 UpdateSegment for more information on using the UpdateSegment +// See UpdateEmailChannel for more information on using the UpdateEmailChannel // 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 UpdateSegmentRequest method. -// req, resp := client.UpdateSegmentRequest(params) +// // Example sending a request using the UpdateEmailChannelRequest method. +// req, resp := client.UpdateEmailChannelRequest(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/UpdateSegment -func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel +func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) { op := &request.Operation{ - Name: opUpdateSegment, + Name: opUpdateEmailChannel, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}", + HTTPPath: "/v1/apps/{application-id}/channels/email", } if input == nil { - input = &UpdateSegmentInput{} + input = &UpdateEmailChannelInput{} } - output = &UpdateSegmentOutput{} + output = &UpdateEmailChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateSegment API operation for Amazon Pinpoint. +// UpdateEmailChannel API operation for Amazon Pinpoint. // -// Creates a new segment for an application or updates the configuration, dimension, -// and other settings for an existing segment that's associated with 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 // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation UpdateSegment for usage and error information. +// API operation UpdateEmailChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8361,81 +8450,81 @@ func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment -func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) { - req, out := c.UpdateSegmentRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel +func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) { + req, out := c.UpdateEmailChannelRequest(input) return out, req.Send() } -// UpdateSegmentWithContext is the same as UpdateSegment with the addition of +// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateSegment for details on how to use this API operation. +// See UpdateEmailChannel 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) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) { - req, out := c.UpdateSegmentRequest(input) +func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) { + req, out := c.UpdateEmailChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateSmsChannel = "UpdateSmsChannel" +const opUpdateEmailTemplate = "UpdateEmailTemplate" -// UpdateSmsChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateSmsChannel operation. The "output" return +// 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 UpdateSmsChannel for more information on using the UpdateSmsChannel +// 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 UpdateSmsChannelRequest method. -// req, resp := client.UpdateSmsChannelRequest(params) +// // 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/UpdateSmsChannel -func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) { +// 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: opUpdateSmsChannel, + Name: opUpdateEmailTemplate, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/sms", + HTTPPath: "/v1/templates/{template-name}/email", } if input == nil { - input = &UpdateSmsChannelInput{} + input = &UpdateEmailTemplateInput{} } - output = &UpdateSmsChannelOutput{} + output = &UpdateEmailTemplateOutput{} req = c.newRequest(op, input, output) return } -// UpdateSmsChannel API operation for Amazon Pinpoint. +// UpdateEmailTemplate API operation for Amazon Pinpoint. // -// Enables the SMS channel for an application or updates the status and settings -// of the SMS channel for an application. +// 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 UpdateSmsChannel for usage and error information. +// API operation UpdateEmailTemplate for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8456,81 +8545,83 @@ func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *r // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel -func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) { - req, out := c.UpdateSmsChannelRequest(input) +// 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() } -// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of +// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of // the ability to pass a context and additional request options. // -// See UpdateSmsChannel for details on how to use this API operation. +// 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) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) { - req, out := c.UpdateSmsChannelRequest(input) +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 opUpdateSmsTemplate = "UpdateSmsTemplate" +const opUpdateEndpoint = "UpdateEndpoint" -// UpdateSmsTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateSmsTemplate operation. The "output" return +// UpdateEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpoint 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 UpdateSmsTemplate for more information on using the UpdateSmsTemplate +// See UpdateEndpoint for more information on using the UpdateEndpoint // 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 UpdateSmsTemplateRequest method. -// req, resp := client.UpdateSmsTemplateRequest(params) +// // Example sending a request using the UpdateEndpointRequest method. +// req, resp := client.UpdateEndpointRequest(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/UpdateSmsTemplate -func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint +func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) { op := &request.Operation{ - Name: opUpdateSmsTemplate, + Name: opUpdateEndpoint, HTTPMethod: "PUT", - HTTPPath: "/v1/templates/{template-name}/sms", + HTTPPath: "/v1/apps/{application-id}/endpoints/{endpoint-id}", } if input == nil { - input = &UpdateSmsTemplateInput{} + input = &UpdateEndpointInput{} } - output = &UpdateSmsTemplateOutput{} + output = &UpdateEndpointOutput{} req = c.newRequest(op, input, output) return } -// UpdateSmsTemplate API operation for Amazon Pinpoint. +// UpdateEndpoint API operation for Amazon Pinpoint. // -// Updates an existing message template that you can use in messages that are -// sent through the SMS channel. +// Creates a new endpoint for an application or updates the settings and attributes +// of an existing endpoint for an application. You can also use this operation +// to define custom attributes (Attributes, Metrics, and UserAttributes properties) +// for an endpoint. // // 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 UpdateSmsTemplate for usage and error information. +// API operation UpdateEndpoint for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8551,81 +8642,83 @@ func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req // * ErrCodeTooManyRequestsException "TooManyRequestsException" // Provides information about an API request or response. // -// 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) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint +func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) { + req, out := c.UpdateEndpointRequest(input) return out, req.Send() } -// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of +// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of // the ability to pass a context and additional request options. // -// See UpdateSmsTemplate for details on how to use this API operation. +// See UpdateEndpoint 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) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) { - req, out := c.UpdateSmsTemplateRequest(input) +func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) { + req, out := c.UpdateEndpointRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateVoiceChannel = "UpdateVoiceChannel" +const opUpdateEndpointsBatch = "UpdateEndpointsBatch" -// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVoiceChannel operation. The "output" return +// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEndpointsBatch 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 UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch // 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 UpdateEndpointsBatchRequest method. +// req, resp := client.UpdateEndpointsBatchRequest(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/UpdateEndpointsBatch +func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) { op := &request.Operation{ - Name: opUpdateVoiceChannel, + Name: opUpdateEndpointsBatch, HTTPMethod: "PUT", - HTTPPath: "/v1/apps/{application-id}/channels/voice", + HTTPPath: "/v1/apps/{application-id}/endpoints", } if input == nil { - input = &UpdateVoiceChannelInput{} + input = &UpdateEndpointsBatchInput{} } - output = &UpdateVoiceChannelOutput{} + output = &UpdateEndpointsBatchOutput{} req = c.newRequest(op, input, output) return } -// UpdateVoiceChannel API operation for Amazon Pinpoint. +// UpdateEndpointsBatch 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. +// Creates a new batch of endpoints for an application or updates the settings +// and attributes of a batch of existing endpoints for an application. You can +// also use this operation to define custom attributes (Attributes, Metrics, +// and UserAttributes properties) for a batch of endpoints. // // 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 UpdateEndpointsBatch for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -8646,394 +8739,2211 @@ 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/UpdateEndpointsBatch +func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) { + req, out := c.UpdateEndpointsBatchRequest(input) return out, req.Send() } -// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of +// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch 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 UpdateEndpointsBatch 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) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) { + req, out := c.UpdateEndpointsBatchRequest(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 - ClientSecret *string `type:"string" required:"true"` +const opUpdateGcmChannel = "UpdateGcmChannel" - // Specifies whether to enable the ADM channel for the application. - Enabled *bool `type:"boolean"` -} +// UpdateGcmChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGcmChannel 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 UpdateGcmChannel for more information on using the UpdateGcmChannel +// 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 UpdateGcmChannelRequest method. +// req, resp := client.UpdateGcmChannelRequest(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/UpdateGcmChannel +func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) { + op := &request.Operation{ + Name: opUpdateGcmChannel, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/channels/gcm", + } -// String returns the string representation -func (s ADMChannelRequest) String() string { - return awsutil.Prettify(s) -} + if input == nil { + input = &UpdateGcmChannelInput{} + } -// GoString returns the string representation -func (s ADMChannelRequest) GoString() string { - return s.String() + output = &UpdateGcmChannelOutput{} + req = c.newRequest(op, input, output) + return } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ADMChannelRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"} - if s.ClientId == nil { - invalidParams.Add(request.NewErrParamRequired("ClientId")) - } - if s.ClientSecret == nil { - invalidParams.Add(request.NewErrParamRequired("ClientSecret")) +// UpdateGcmChannel API operation for Amazon Pinpoint. +// +// 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 +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdateGcmChannel 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/UpdateGcmChannel +func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) { + req, out := c.UpdateGcmChannelRequest(input) + return out, req.Send() +} + +// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGcmChannel 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) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) { + req, out := c.UpdateGcmChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateJourney = "UpdateJourney" + +// UpdateJourneyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateJourney 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 UpdateJourney for more information on using the UpdateJourney +// 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 UpdateJourneyRequest method. +// req, resp := client.UpdateJourneyRequest(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/UpdateJourney +func (c *Pinpoint) UpdateJourneyRequest(input *UpdateJourneyInput) (req *request.Request, output *UpdateJourneyOutput) { + op := &request.Operation{ + Name: opUpdateJourney, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}", + } + + if input == nil { + input = &UpdateJourneyInput{} + } + + output = &UpdateJourneyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateJourney API operation for Amazon Pinpoint. +// +// Updates the configuration and other settings for a journey. +// +// 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 UpdateJourney 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/UpdateJourney +func (c *Pinpoint) UpdateJourney(input *UpdateJourneyInput) (*UpdateJourneyOutput, error) { + req, out := c.UpdateJourneyRequest(input) + return out, req.Send() +} + +// UpdateJourneyWithContext is the same as UpdateJourney with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateJourney 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) UpdateJourneyWithContext(ctx aws.Context, input *UpdateJourneyInput, opts ...request.Option) (*UpdateJourneyOutput, error) { + req, out := c.UpdateJourneyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateJourneyState = "UpdateJourneyState" + +// UpdateJourneyStateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateJourneyState 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 UpdateJourneyState for more information on using the UpdateJourneyState +// 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 UpdateJourneyStateRequest method. +// req, resp := client.UpdateJourneyStateRequest(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/UpdateJourneyState +func (c *Pinpoint) UpdateJourneyStateRequest(input *UpdateJourneyStateInput) (req *request.Request, output *UpdateJourneyStateOutput) { + op := &request.Operation{ + Name: opUpdateJourneyState, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/state", + } + + if input == nil { + input = &UpdateJourneyStateInput{} + } + + output = &UpdateJourneyStateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateJourneyState API operation for Amazon Pinpoint. +// +// Cancels an active journey. +// +// 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 UpdateJourneyState 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/UpdateJourneyState +func (c *Pinpoint) UpdateJourneyState(input *UpdateJourneyStateInput) (*UpdateJourneyStateOutput, error) { + req, out := c.UpdateJourneyStateRequest(input) + return out, req.Send() +} + +// UpdateJourneyStateWithContext is the same as UpdateJourneyState with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateJourneyState 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) UpdateJourneyStateWithContext(ctx aws.Context, input *UpdateJourneyStateInput, opts ...request.Option) (*UpdateJourneyStateOutput, error) { + req, out := c.UpdateJourneyStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + 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{} } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + 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 +// client's request for the UpdateSegment 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 UpdateSegment for more information on using the UpdateSegment +// 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 UpdateSegmentRequest method. +// req, resp := client.UpdateSegmentRequest(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/UpdateSegment +func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) { + op := &request.Operation{ + Name: opUpdateSegment, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}", + } + + if input == nil { + input = &UpdateSegmentInput{} + } + + output = &UpdateSegmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSegment API operation for Amazon Pinpoint. +// +// Creates a new segment for an application or updates the configuration, dimension, +// and other settings for an existing segment that's associated with 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 UpdateSegment 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/UpdateSegment +func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) { + req, out := c.UpdateSegmentRequest(input) + return out, req.Send() +} + +// UpdateSegmentWithContext is the same as UpdateSegment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSegment 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) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) { + req, out := c.UpdateSegmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSmsChannel = "UpdateSmsChannel" + +// UpdateSmsChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSmsChannel 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 UpdateSmsChannel for more information on using the UpdateSmsChannel +// 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 UpdateSmsChannelRequest method. +// req, resp := client.UpdateSmsChannelRequest(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/UpdateSmsChannel +func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) { + op := &request.Operation{ + Name: opUpdateSmsChannel, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/channels/sms", + } + + if input == nil { + input = &UpdateSmsChannelInput{} + } + + output = &UpdateSmsChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSmsChannel API operation for Amazon Pinpoint. +// +// 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 +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdateSmsChannel 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/UpdateSmsChannel +func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) { + req, out := c.UpdateSmsChannelRequest(input) + return out, req.Send() +} + +// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSmsChannel 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) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) { + req, out := c.UpdateSmsChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSmsTemplate = "UpdateSmsTemplate" + +// 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 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 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/UpdateSmsTemplate +func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) { + op := &request.Operation{ + Name: opUpdateSmsTemplate, + HTTPMethod: "PUT", + HTTPPath: "/v1/templates/{template-name}/sms", + } + + if input == nil { + input = &UpdateSmsTemplateInput{} + } + + output = &UpdateSmsTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSmsTemplate API operation for Amazon Pinpoint. +// +// 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 UpdateSmsTemplate 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/UpdateSmsTemplate +func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) { + req, out := c.UpdateSmsTemplateRequest(input) + return out, req.Send() +} + +// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of +// the ability to pass a context and additional request options. +// +// 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) 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() +} + +const opUpdateVoiceChannel = "UpdateVoiceChannel" + +// 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 + ClientSecret *string `type:"string" required:"true"` + + // Specifies whether to enable the ADM channel for the application. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ADMChannelRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ADMChannelRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ADMChannelRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"} + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientSecret == nil { + invalidParams.Add(request.NewErrParamRequired("ClientSecret")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest { + s.ClientId = &v + return s +} + +// SetClientSecret sets the ClientSecret field's value. +func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest { + s.ClientSecret = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest { + s.Enabled = &v + return s +} + +// Provides information about the status and settings of the ADM (Amazon Device +// Messaging) channel for an application. +type ADMChannelResponse struct { + _ struct{} `type:"structure"` + + // The unique identifier for the application that the ADM channel applies to. + ApplicationId *string `type:"string"` + + // The date and time when the ADM channel was enabled. + CreationDate *string `type:"string"` + + // Specifies whether the ADM channel is enabled for the application. + Enabled *bool `type:"boolean"` + + // (Not used) This property is retained only for backward compatibility. + HasCredential *bool `type:"boolean"` + + // (Deprecated) An identifier for the ADM channel. This property is retained + // only for backward compatibility. + Id *string `type:"string"` + + // Specifies whether the ADM channel is archived. + IsArchived *bool `type:"boolean"` + + // The user who last modified the ADM channel. + LastModifiedBy *string `type:"string"` + + // The date and time when the ADM channel was last modified. + LastModifiedDate *string `type:"string"` + + // The type of messaging or notification platform for the channel. For the ADM + // channel, this value is ADM. + // + // Platform is a required field + Platform *string `type:"string" required:"true"` + + // The current version of the ADM channel. + Version *int64 `type:"integer"` +} + +// String returns the string representation +func (s ADMChannelResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ADMChannelResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse { + s.ApplicationId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse { + s.CreationDate = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse { + s.Enabled = &v + return s +} + +// SetHasCredential sets the HasCredential field's value. +func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse { + s.HasCredential = &v + return s +} + +// SetId sets the Id field's value. +func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse { + s.Id = &v + return s +} + +// SetIsArchived sets the IsArchived field's value. +func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse { + s.IsArchived = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse { + s.LastModifiedDate = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse { + s.Platform = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse { + s.Version = &v + return s +} + +// Specifies the settings for a one-time message that's sent directly to an +// endpoint through the ADM (Amazon Device Messaging) channel. +type ADMMessage struct { + _ struct{} `type:"structure"` + + // The action to occur if the recipient taps the push notification. 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 body of the notification message. + Body *string `type:"string"` + + // An arbitrary string that indicates that multiple messages are logically the + // same and that Amazon Device Messaging (ADM) can drop previously enqueued + // messages in favor of this message. + ConsolidationKey *string `type:"string"` + + // The JSON data payload to use for the push notification, if the notification + // is a silent push notification. This payload is added to the data.pinpoint.jsonBody + // object of the notification. + Data map[string]*string `type:"map"` + + // The amount of time, in seconds, that ADM should store the message if the + // recipient's device is offline. Amazon Pinpoint specifies this value in the + // expiresAfter parameter when it sends the notification message to ADM. + ExpiresAfter *string `type:"string"` + + // The icon image name of the asset saved in your app. + IconReference *string `type:"string"` + + // The URL of the large icon image to display in the content view of the push + // notification. + ImageIconUrl *string `type:"string"` + + // The URL of an image to display in the push notification. + ImageUrl *string `type:"string"` + + // The base64-encoded, MD5 checksum of the value specified by the Data property. + // ADM uses the MD5 value to verify the integrity of the data. + MD5 *string `type:"string"` + + // The raw, JSON-formatted string to use as the payload for the notification + // message. This value overrides the message. + 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 + // or supporting phone home functionality. + SilentPush *bool `type:"boolean"` + + // The URL of the small icon image to display in the status bar and the content + // view of the push notification. + SmallImageIconUrl *string `type:"string"` + + // The sound to play when the recipient receives the push notification. 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 default message variables to use in the notification message. You can + // override the default variables with individual address variables. + Substitutions map[string][]*string `type:"map"` + + // The title to display above the notification message on the recipient's device. + Title *string `type:"string"` + + // The URL to open in the recipient's default mobile browser, if a recipient + // taps the push notification and the value of the Action property is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s ADMMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ADMMessage) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *ADMMessage) SetAction(v string) *ADMMessage { + s.Action = &v + return s +} + +// SetBody sets the Body field's value. +func (s *ADMMessage) SetBody(v string) *ADMMessage { + s.Body = &v + return s +} + +// SetConsolidationKey sets the ConsolidationKey field's value. +func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage { + s.ConsolidationKey = &v + return s +} + +// SetData sets the Data field's value. +func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage { + s.Data = v + return s +} + +// SetExpiresAfter sets the ExpiresAfter field's value. +func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage { + s.ExpiresAfter = &v + return s +} + +// SetIconReference sets the IconReference field's value. +func (s *ADMMessage) SetIconReference(v string) *ADMMessage { + s.IconReference = &v + return s +} + +// SetImageIconUrl sets the ImageIconUrl field's value. +func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage { + s.ImageIconUrl = &v + return s +} + +// SetImageUrl sets the ImageUrl field's value. +func (s *ADMMessage) SetImageUrl(v string) *ADMMessage { + s.ImageUrl = &v + return s +} + +// SetMD5 sets the MD5 field's value. +func (s *ADMMessage) SetMD5(v string) *ADMMessage { + s.MD5 = &v + return s +} + +// SetRawContent sets the RawContent field's value. +func (s *ADMMessage) SetRawContent(v string) *ADMMessage { + s.RawContent = &v + return s +} + +// SetSilentPush sets the SilentPush field's value. +func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage { + s.SilentPush = &v + return s +} + +// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. +func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage { + s.SmallImageIconUrl = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *ADMMessage) SetSound(v string) *ADMMessage { + s.Sound = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage { + s.Substitutions = v + return s +} + +// SetTitle sets the Title field's value. +func (s *ADMMessage) SetTitle(v string) *ADMMessage { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *ADMMessage) SetUrl(v string) *ADMMessage { + s.Url = &v + return s +} + +// Specifies the status and settings of the APNs (Apple Push Notification service) +// channel for an application. +type APNSChannelRequest struct { + _ struct{} `type:"structure"` + + // The bundle identifier that's assigned to your iOS app. This identifier is + // used for APNs tokens. + BundleId *string `type:"string"` + + // The APNs client certificate that you received from Apple, if you want Amazon + // Pinpoint to communicate with APNs by using an APNs certificate. + Certificate *string `type:"string"` + + // The default authentication method that you want Amazon Pinpoint to use when + // authenticating with APNs, key or certificate. + DefaultAuthenticationMethod *string `type:"string"` + + // Specifies whether to enable the APNs channel for the application. + Enabled *bool `type:"boolean"` + + // The private key for the APNs client certificate that you want Amazon Pinpoint + // to use to communicate with APNs. + PrivateKey *string `type:"string"` + + // The identifier that's assigned to your Apple developer account team. This + // identifier is used for APNs tokens. + TeamId *string `type:"string"` + + // The authentication key to use for APNs tokens. + TokenKey *string `type:"string"` + + // The key identifier that's assigned to your APNs signing key, if you want + // Amazon Pinpoint to communicate with APNs by using APNs tokens. + TokenKeyId *string `type:"string"` +} + +// String returns the string representation +func (s APNSChannelRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APNSChannelRequest) GoString() string { + return s.String() +} + +// SetBundleId sets the BundleId field's value. +func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest { + s.BundleId = &v + return s +} + +// SetCertificate sets the Certificate field's value. +func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest { + s.Certificate = &v + return s +} + +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest { + s.DefaultAuthenticationMethod = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest { + s.Enabled = &v + return s +} + +// SetPrivateKey sets the PrivateKey field's value. +func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest { + s.PrivateKey = &v + return s +} + +// SetTeamId sets the TeamId field's value. +func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest { + s.TeamId = &v + return s +} + +// SetTokenKey sets the TokenKey field's value. +func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest { + s.TokenKey = &v + return s +} + +// SetTokenKeyId sets the TokenKeyId field's value. +func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest { + s.TokenKeyId = &v + return s +} + +// Provides information about the status and settings of the APNs (Apple Push +// Notification service) channel for an application. +type APNSChannelResponse struct { + _ struct{} `type:"structure"` + + // The unique identifier for the application that the APNs channel applies to. + ApplicationId *string `type:"string"` + + // The date and time when the APNs channel was enabled. + CreationDate *string `type:"string"` + + // The default authentication method that Amazon Pinpoint uses to authenticate + // with APNs for this channel, key or certificate. + DefaultAuthenticationMethod *string `type:"string"` + + // Specifies whether the APNs channel is enabled for the application. + Enabled *bool `type:"boolean"` + + // (Not used) This property is retained only for backward compatibility. + HasCredential *bool `type:"boolean"` + + // Specifies whether the APNs channel is configured to communicate with APNs + // by using APNs tokens. To provide an authentication key for APNs tokens, set + // the TokenKey property of the channel. + HasTokenKey *bool `type:"boolean"` + + // (Deprecated) An identifier for the APNs channel. This property is retained + // only for backward compatibility. + Id *string `type:"string"` + + // Specifies whether the APNs channel is archived. + IsArchived *bool `type:"boolean"` + + // The user who last modified the APNs channel. + LastModifiedBy *string `type:"string"` + + // The date and time when the APNs channel was last modified. + LastModifiedDate *string `type:"string"` + + // The type of messaging or notification platform for the channel. For the APNs + // channel, this value is APNS. + // + // Platform is a required field + Platform *string `type:"string" required:"true"` + + // The current version of the APNs channel. + Version *int64 `type:"integer"` +} + +// String returns the string representation +func (s APNSChannelResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APNSChannelResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse { + s.ApplicationId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse { + s.CreationDate = &v + return s +} + +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse { + s.DefaultAuthenticationMethod = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse { + s.Enabled = &v + return s +} + +// SetHasCredential sets the HasCredential field's value. +func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse { + s.HasCredential = &v + return s +} + +// SetHasTokenKey sets the HasTokenKey field's value. +func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse { + s.HasTokenKey = &v + return s +} + +// SetId sets the Id field's value. +func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse { + s.Id = &v + return s +} + +// SetIsArchived sets the IsArchived field's value. +func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse { + s.IsArchived = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse { + s.LastModifiedDate = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse { + s.Platform = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse { + s.Version = &v + return s +} + +// Specifies the settings for a one-time message that's sent directly to an +// endpoint through the APNs (Apple Push Notification service) channel. +type APNSMessage struct { + _ struct{} `type:"structure"` + + // The type of push notification to send. Valid values are: + // + // * alert - For a standard notification that's displayed on recipients' + // devices and prompts a recipient to interact with the notification. + // + // * background - For a silent notification that delivers content in the + // background and isn't displayed on recipients' devices. + // + // * complication - For a notification that contains update information for + // an app’s complication timeline. + // + // * fileprovider - For a notification that signals changes to a File Provider + // extension. + // + // * mdm - For a notification that tells managed devices to contact the MDM + // server. + // + // * voip - For a notification that provides information about an incoming + // VoIP call. + // + // Amazon Pinpoint specifies this value in the apns-push-type request header + // when it sends the notification message to APNs. If you don't specify a value + // for this property, Amazon Pinpoint sets the value to alert or background + // automatically, based on the value that you specify for the SilentPush or + // RawContent property of the message. + // + // For more information about the apns-push-type request header, see Sending + // Notification Requests to APNs (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) + // on the Apple Developer website. + APNSPushType *string `type:"string"` + + // The action to occur if the recipient taps the push notification. 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 key that indicates whether and how to modify the badge of your app's + // icon when the recipient receives the push notification. If this key isn't + // included in the dictionary, the badge doesn't change. To remove the badge, + // set this value to 0. + Badge *int64 `type:"integer"` + + // The body of the notification message. + Body *string `type:"string"` + + // The key that indicates the notification type for the push notification. This + // key is a value that's defined by the identifier property of one of your app's + // registered categories. + Category *string `type:"string"` + + // An arbitrary identifier that, if assigned to multiple messages, APNs uses + // to coalesce the messages into a single push notification instead of delivering + // each message individually. This value can't exceed 64 bytes. + // + // Amazon Pinpoint specifies this value in the apns-collapse-id request header + // when it sends the notification message to APNs. + CollapseId *string `type:"string"` + + // The JSON payload to use for a silent push notification. This payload is added + // to the data.pinpoint.jsonBody object of the notification. + Data map[string]*string `type:"map"` + + // The URL of an image or video to display in the push notification. + MediaUrl *string `type:"string"` + + // The authentication method that you want Amazon Pinpoint to use when authenticating + // with APNs, CERTIFICATE or TOKEN. + PreferredAuthenticationMethod *string `type:"string"` + + // para>5 - Low priority, the notification might be delayed, delivered as part + // of a group, or throttled. + // /listitem> + // 10 - High priority, the notification is sent immediately. This is the default + // value. A high priority notification should trigger an alert, play a sound, + // or badge your app's icon on the recipient's device. + // /para> + // Amazon Pinpoint specifies this value in the apns-priority request header + // when it sends the notification message to APNs. + // + // The equivalent values for Firebase Cloud Messaging (FCM), formerly Google + // Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify + // an FCM value for this property, Amazon Pinpoint accepts and converts the + // value to the corresponding APNs value. + Priority *string `type:"string"` + + // The raw, JSON-formatted string to use as the payload for the notification + // message. This value overrides all other content for 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. 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 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 default message variables to use in the notification message. You can + // override these default variables with individual address variables. + Substitutions map[string][]*string `type:"map"` + + // The key that represents your app-specific identifier for grouping notifications. + // If you provide a Notification Content app extension, you can use this value + // to group your notifications together. + ThreadId *string `type:"string"` + + // The amount of time, in seconds, that APNs should store and attempt to deliver + // the push notification, if the service is unable to deliver the notification + // the first time. If this value is 0, APNs treats the notification as if it + // expires immediately and the service doesn't store or try to deliver the notification + // again. + // + // Amazon Pinpoint specifies this value in the apns-expiration request header + // when it sends the notification message to APNs. + TimeToLive *int64 `type:"integer"` + + // The title to display above the notification message on the recipient's device. + Title *string `type:"string"` + + // The URL to open in the recipient's default mobile browser, if a recipient + // taps the push notification and the value of the Action property is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s APNSMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APNSMessage) GoString() string { + return s.String() +} + +// SetAPNSPushType sets the APNSPushType field's value. +func (s *APNSMessage) SetAPNSPushType(v string) *APNSMessage { + s.APNSPushType = &v + return s +} + +// SetAction sets the Action field's value. +func (s *APNSMessage) SetAction(v string) *APNSMessage { + s.Action = &v + return s +} + +// SetBadge sets the Badge field's value. +func (s *APNSMessage) SetBadge(v int64) *APNSMessage { + s.Badge = &v + return s +} + +// SetBody sets the Body field's value. +func (s *APNSMessage) SetBody(v string) *APNSMessage { + s.Body = &v + return s +} + +// SetCategory sets the Category field's value. +func (s *APNSMessage) SetCategory(v string) *APNSMessage { + s.Category = &v + return s +} + +// SetCollapseId sets the CollapseId field's value. +func (s *APNSMessage) SetCollapseId(v string) *APNSMessage { + s.CollapseId = &v + return s +} + +// SetData sets the Data field's value. +func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage { + s.Data = v + return s +} + +// SetMediaUrl sets the MediaUrl field's value. +func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage { + s.MediaUrl = &v + return s +} + +// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value. +func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage { + s.PreferredAuthenticationMethod = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *APNSMessage) SetPriority(v string) *APNSMessage { + s.Priority = &v + return s +} + +// SetRawContent sets the RawContent field's value. +func (s *APNSMessage) SetRawContent(v string) *APNSMessage { + s.RawContent = &v + return s +} + +// SetSilentPush sets the SilentPush field's value. +func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage { + s.SilentPush = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *APNSMessage) SetSound(v string) *APNSMessage { + s.Sound = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage { + s.Substitutions = v + return s +} + +// SetThreadId sets the ThreadId field's value. +func (s *APNSMessage) SetThreadId(v string) *APNSMessage { + s.ThreadId = &v + return s +} + +// SetTimeToLive sets the TimeToLive field's value. +func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage { + s.TimeToLive = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *APNSMessage) SetTitle(v string) *APNSMessage { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *APNSMessage) SetUrl(v string) *APNSMessage { + s.Url = &v + return s +} + +// Specifies channel-specific 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 } -// SetClientId sets the ClientId field's value. -func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest { - s.ClientId = &v +// SetUrl sets the Url field's value. +func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate { + s.Url = &v return s } -// SetClientSecret sets the ClientSecret field's value. -func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest { - s.ClientSecret = &v +// Specifies the status and settings of the APNs (Apple Push Notification service) +// sandbox channel for an application. +type APNSSandboxChannelRequest struct { + _ struct{} `type:"structure"` + + // The bundle identifier that's assigned to your iOS app. This identifier is + // used for APNs tokens. + BundleId *string `type:"string"` + + // The APNs client certificate that you received from Apple, if you want Amazon + // Pinpoint to communicate with the APNs sandbox environment by using an APNs + // certificate. + Certificate *string `type:"string"` + + // The default authentication method that you want Amazon Pinpoint to use when + // authenticating with the APNs sandbox environment, key or certificate. + DefaultAuthenticationMethod *string `type:"string"` + + // Specifies whether to enable the APNs sandbox channel for the application. + Enabled *bool `type:"boolean"` + + // The private key for the APNs client certificate that you want Amazon Pinpoint + // to use to communicate with the APNs sandbox environment. + PrivateKey *string `type:"string"` + + // The identifier that's assigned to your Apple developer account team. This + // identifier is used for APNs tokens. + TeamId *string `type:"string"` + + // The authentication key to use for APNs tokens. + TokenKey *string `type:"string"` + + // The key identifier that's assigned to your APNs signing key, if you want + // Amazon Pinpoint to communicate with the APNs sandbox environment by using + // APNs tokens. + TokenKeyId *string `type:"string"` +} + +// String returns the string representation +func (s APNSSandboxChannelRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APNSSandboxChannelRequest) GoString() string { + return s.String() +} + +// SetBundleId sets the BundleId field's value. +func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest { + s.BundleId = &v + return s +} + +// SetCertificate sets the Certificate field's value. +func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest { + s.Certificate = &v + return s +} + +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest { + s.DefaultAuthenticationMethod = &v return s } // SetEnabled sets the Enabled field's value. -func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest { +func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest { s.Enabled = &v return s } -// Provides information about the status and settings of the ADM (Amazon Device -// Messaging) channel for an application. -type ADMChannelResponse struct { +// SetPrivateKey sets the PrivateKey field's value. +func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest { + s.PrivateKey = &v + return s +} + +// SetTeamId sets the TeamId field's value. +func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest { + s.TeamId = &v + return s +} + +// SetTokenKey sets the TokenKey field's value. +func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest { + s.TokenKey = &v + return s +} + +// SetTokenKeyId sets the TokenKeyId field's value. +func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest { + s.TokenKeyId = &v + return s +} + +// Provides information about the status and settings of the APNs (Apple Push +// Notification service) sandbox channel for an application. +type APNSSandboxChannelResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the ADM channel applies to. + // The unique identifier for the application that the APNs sandbox channel applies + // to. ApplicationId *string `type:"string"` - // The date and time when the ADM channel was enabled. + // The date and time when the APNs sandbox channel was enabled. CreationDate *string `type:"string"` - // Specifies whether the ADM channel is enabled for the application. + // The default authentication method that Amazon Pinpoint uses to authenticate + // with the APNs sandbox environment for this channel, key or certificate. + DefaultAuthenticationMethod *string `type:"string"` + + // Specifies whether the APNs sandbox channel is enabled for the application. Enabled *bool `type:"boolean"` // (Not used) This property is retained only for backward compatibility. HasCredential *bool `type:"boolean"` - // (Deprecated) An identifier for the ADM channel. This property is retained - // only for backward compatibility. + // Specifies whether the APNs sandbox channel is configured to communicate with + // APNs by using APNs tokens. To provide an authentication key for APNs tokens, + // set the TokenKey property of the channel. + HasTokenKey *bool `type:"boolean"` + + // (Deprecated) An identifier for the APNs sandbox channel. This property is + // retained only for backward compatibility. Id *string `type:"string"` - // Specifies whether the ADM channel is archived. + // Specifies whether the APNs sandbox channel is archived. IsArchived *bool `type:"boolean"` - // The user who last modified the ADM channel. + // The user who last modified the APNs sandbox channel. LastModifiedBy *string `type:"string"` - // The date and time when the ADM channel was last modified. + // The date and time when the APNs sandbox channel was last modified. LastModifiedDate *string `type:"string"` - // The type of messaging or notification platform for the channel. For the ADM - // channel, this value is ADM. + // The type of messaging or notification platform for the channel. For the APNs + // sandbox channel, this value is APNS_SANDBOX. // // Platform is a required field Platform *string `type:"string" required:"true"` - // The current version of the ADM channel. - Version *int64 `type:"integer"` + // The current version of the APNs sandbox channel. + Version *int64 `type:"integer"` +} + +// String returns the string representation +func (s APNSSandboxChannelResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APNSSandboxChannelResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse { + s.ApplicationId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse { + s.CreationDate = &v + return s +} + +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse { + s.DefaultAuthenticationMethod = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse { + s.Enabled = &v + return s +} + +// SetHasCredential sets the HasCredential field's value. +func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse { + s.HasCredential = &v + return s +} + +// SetHasTokenKey sets the HasTokenKey field's value. +func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse { + s.HasTokenKey = &v + return s +} + +// SetId sets the Id field's value. +func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse { + s.Id = &v + return s +} + +// SetIsArchived sets the IsArchived field's value. +func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse { + s.IsArchived = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse { + s.LastModifiedDate = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse { + s.Platform = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse { + s.Version = &v + return s +} + +// Specifies the status and settings of the APNs (Apple Push Notification service) +// VoIP channel for an application. +type APNSVoipChannelRequest struct { + _ struct{} `type:"structure"` + + // The bundle identifier that's assigned to your iOS app. This identifier is + // used for APNs tokens. + BundleId *string `type:"string"` + + // The APNs client certificate that you received from Apple, if you want Amazon + // Pinpoint to communicate with APNs by using an APNs certificate. + Certificate *string `type:"string"` + + // The default authentication method that you want Amazon Pinpoint to use when + // authenticating with APNs, key or certificate. + DefaultAuthenticationMethod *string `type:"string"` + + // Specifies whether to enable the APNs VoIP channel for the application. + Enabled *bool `type:"boolean"` + + // The private key for the APNs client certificate that you want Amazon Pinpoint + // to use to communicate with APNs. + PrivateKey *string `type:"string"` + + // The identifier that's assigned to your Apple developer account team. This + // identifier is used for APNs tokens. + TeamId *string `type:"string"` + + // The authentication key to use for APNs tokens. + TokenKey *string `type:"string"` + + // The key identifier that's assigned to your APNs signing key, if you want + // Amazon Pinpoint to communicate with APNs by using APNs tokens. + TokenKeyId *string `type:"string"` } // String returns the string representation -func (s ADMChannelResponse) String() string { +func (s APNSVoipChannelRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ADMChannelResponse) GoString() string { +func (s APNSVoipChannelRequest) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse { - s.ApplicationId = &v - return s -} - -// SetCreationDate sets the CreationDate field's value. -func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse { - s.CreationDate = &v - return s -} - -// SetEnabled sets the Enabled field's value. -func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse { - s.Enabled = &v +// SetBundleId sets the BundleId field's value. +func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest { + s.BundleId = &v return s } -// SetHasCredential sets the HasCredential field's value. -func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse { - s.HasCredential = &v +// SetCertificate sets the Certificate field's value. +func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest { + s.Certificate = &v return s } -// SetId sets the Id field's value. -func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse { - s.Id = &v +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest { + s.DefaultAuthenticationMethod = &v return s } -// SetIsArchived sets the IsArchived field's value. -func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse { - s.IsArchived = &v +// SetEnabled sets the Enabled field's value. +func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest { + s.Enabled = &v return s } -// SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse { - s.LastModifiedBy = &v +// SetPrivateKey sets the PrivateKey field's value. +func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest { + s.PrivateKey = &v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse { - s.LastModifiedDate = &v +// SetTeamId sets the TeamId field's value. +func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest { + s.TeamId = &v return s } -// SetPlatform sets the Platform field's value. -func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse { - s.Platform = &v +// SetTokenKey sets the TokenKey field's value. +func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest { + s.TokenKey = &v return s } -// SetVersion sets the Version field's value. -func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse { - s.Version = &v +// SetTokenKeyId sets the TokenKeyId field's value. +func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest { + s.TokenKeyId = &v return s } -// Specifies the settings for a one-time message that's sent directly to an -// endpoint through the ADM (Amazon Device Messaging) channel. -type ADMMessage struct { +// Provides information about the status and settings of the APNs (Apple Push +// Notification service) VoIP channel for an application. +type APNSVoipChannelResponse struct { _ struct{} `type:"structure"` - // The action to occur if the recipient taps the push notification. 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 body of the notification message. - Body *string `type:"string"` - - // An arbitrary string that indicates that multiple messages are logically the - // same and that Amazon Device Messaging (ADM) can drop previously enqueued - // messages in favor of this message. - ConsolidationKey *string `type:"string"` - - // The JSON data payload to use for the push notification, if the notification - // is a silent push notification. This payload is added to the data.pinpoint.jsonBody - // object of the notification. - Data map[string]*string `type:"map"` - - // The amount of time, in seconds, that ADM should store the message if the - // recipient's device is offline. Amazon Pinpoint specifies this value in the - // expiresAfter parameter when it sends the notification message to ADM. - ExpiresAfter *string `type:"string"` + // The unique identifier for the application that the APNs VoIP channel applies + // to. + ApplicationId *string `type:"string"` - // The icon image name of the asset saved in your app. - IconReference *string `type:"string"` + // The date and time when the APNs VoIP channel was enabled. + CreationDate *string `type:"string"` - // The URL of the large icon image to display in the content view of the push - // notification. - ImageIconUrl *string `type:"string"` + // The default authentication method that Amazon Pinpoint uses to authenticate + // with APNs for this channel, key or certificate. + DefaultAuthenticationMethod *string `type:"string"` - // The URL of an image to display in the push notification. - ImageUrl *string `type:"string"` + // Specifies whether the APNs VoIP channel is enabled for the application. + Enabled *bool `type:"boolean"` - // The base64-encoded, MD5 checksum of the value specified by the Data property. - // ADM uses the MD5 value to verify the integrity of the data. - MD5 *string `type:"string"` + // (Not used) This property is retained only for backward compatibility. + HasCredential *bool `type:"boolean"` - // The raw, JSON-formatted string to use as the payload for the notification - // message. This value overrides the message. - RawContent *string `type:"string"` + // Specifies whether the APNs VoIP channel is configured to communicate with + // APNs by using APNs tokens. To provide an authentication key for APNs tokens, + // set the TokenKey property of the channel. + HasTokenKey *bool `type:"boolean"` - // 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 - // or supporting phone home functionality. - SilentPush *bool `type:"boolean"` + // (Deprecated) An identifier for the APNs VoIP channel. This property is retained + // only for backward compatibility. + Id *string `type:"string"` - // The URL of the small icon image to display in the status bar and the content - // view of the push notification. - SmallImageIconUrl *string `type:"string"` + // Specifies whether the APNs VoIP channel is archived. + IsArchived *bool `type:"boolean"` - // The sound to play when the recipient receives the push notification. 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 user who last modified the APNs VoIP channel. + LastModifiedBy *string `type:"string"` - // The default message variables to use in the notification message. You can - // override the default variables with individual address variables. - Substitutions map[string][]*string `type:"map"` + // The date and time when the APNs VoIP channel was last modified. + LastModifiedDate *string `type:"string"` - // The title to display above the notification message on the recipient's device. - Title *string `type:"string"` + // The type of messaging or notification platform for the channel. For the APNs + // VoIP channel, this value is APNS_VOIP. + // + // Platform is a required field + Platform *string `type:"string" required:"true"` - // The URL to open in the recipient's default mobile browser, if a recipient - // taps the push notification and the value of the Action property is URL. - Url *string `type:"string"` + // The current version of the APNs VoIP channel. + Version *int64 `type:"integer"` } // String returns the string representation -func (s ADMMessage) String() string { +func (s APNSVoipChannelResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ADMMessage) GoString() string { +func (s APNSVoipChannelResponse) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *ADMMessage) SetAction(v string) *ADMMessage { - s.Action = &v - return s -} - -// SetBody sets the Body field's value. -func (s *ADMMessage) SetBody(v string) *ADMMessage { - s.Body = &v - return s -} - -// SetConsolidationKey sets the ConsolidationKey field's value. -func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage { - s.ConsolidationKey = &v - return s -} - -// SetData sets the Data field's value. -func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage { - s.Data = v - return s -} - -// SetExpiresAfter sets the ExpiresAfter field's value. -func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage { - s.ExpiresAfter = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse { + s.ApplicationId = &v return s } -// SetIconReference sets the IconReference field's value. -func (s *ADMMessage) SetIconReference(v string) *ADMMessage { - s.IconReference = &v +// SetCreationDate sets the CreationDate field's value. +func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse { + s.CreationDate = &v return s } -// SetImageIconUrl sets the ImageIconUrl field's value. -func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage { - s.ImageIconUrl = &v +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse { + s.DefaultAuthenticationMethod = &v return s } -// SetImageUrl sets the ImageUrl field's value. -func (s *ADMMessage) SetImageUrl(v string) *ADMMessage { - s.ImageUrl = &v +// SetEnabled sets the Enabled field's value. +func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse { + s.Enabled = &v return s } -// SetMD5 sets the MD5 field's value. -func (s *ADMMessage) SetMD5(v string) *ADMMessage { - s.MD5 = &v +// SetHasCredential sets the HasCredential field's value. +func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse { + s.HasCredential = &v return s } -// SetRawContent sets the RawContent field's value. -func (s *ADMMessage) SetRawContent(v string) *ADMMessage { - s.RawContent = &v +// SetHasTokenKey sets the HasTokenKey field's value. +func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse { + s.HasTokenKey = &v return s } -// SetSilentPush sets the SilentPush field's value. -func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage { - s.SilentPush = &v +// SetId sets the Id field's value. +func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse { + s.Id = &v return s } -// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. -func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage { - s.SmallImageIconUrl = &v +// SetIsArchived sets the IsArchived field's value. +func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse { + s.IsArchived = &v return s } -// SetSound sets the Sound field's value. -func (s *ADMMessage) SetSound(v string) *ADMMessage { - s.Sound = &v +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse { + s.LastModifiedBy = &v return s } -// SetSubstitutions sets the Substitutions field's value. -func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage { - s.Substitutions = v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse { + s.LastModifiedDate = &v return s } -// SetTitle sets the Title field's value. -func (s *ADMMessage) SetTitle(v string) *ADMMessage { - s.Title = &v +// SetPlatform sets the Platform field's value. +func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse { + s.Platform = &v return s } -// SetUrl sets the Url field's value. -func (s *ADMMessage) SetUrl(v string) *ADMMessage { - s.Url = &v +// SetVersion sets the Version field's value. +func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse { + s.Version = &v return s } // Specifies the status and settings of the APNs (Apple Push Notification service) -// channel for an application. -type APNSChannelRequest struct { +// VoIP sandbox channel for an application. +type APNSVoipSandboxChannelRequest struct { _ struct{} `type:"structure"` // The bundle identifier that's assigned to your iOS app. This identifier is @@ -9041,18 +10951,20 @@ type APNSChannelRequest struct { BundleId *string `type:"string"` // The APNs client certificate that you received from Apple, if you want Amazon - // Pinpoint to communicate with APNs by using an APNs certificate. + // Pinpoint to communicate with the APNs sandbox environment by using an APNs + // certificate. Certificate *string `type:"string"` // The default authentication method that you want Amazon Pinpoint to use when - // authenticating with APNs, key or certificate. + // authenticating with the APNs sandbox environment for this channel, key or + // certificate. DefaultAuthenticationMethod *string `type:"string"` - // Specifies whether to enable the APNs channel for the application. + // Specifies whether the APNs VoIP sandbox channel is enabled for the application. Enabled *bool `type:"boolean"` // The private key for the APNs client certificate that you want Amazon Pinpoint - // to use to communicate with APNs. + // to use to communicate with the APNs sandbox environment. PrivateKey *string `type:"string"` // The identifier that's assigned to your Apple developer account team. This @@ -9063,456 +10975,577 @@ type APNSChannelRequest struct { TokenKey *string `type:"string"` // The key identifier that's assigned to your APNs signing key, if you want - // Amazon Pinpoint to communicate with APNs by using APNs tokens. + // Amazon Pinpoint to communicate with the APNs sandbox environment by using + // APNs tokens. TokenKeyId *string `type:"string"` } // String returns the string representation -func (s APNSChannelRequest) String() string { +func (s APNSVoipSandboxChannelRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSChannelRequest) GoString() string { +func (s APNSVoipSandboxChannelRequest) GoString() string { return s.String() } // SetBundleId sets the BundleId field's value. -func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest { s.BundleId = &v return s } // SetCertificate sets the Certificate field's value. -func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest { s.Certificate = &v return s } // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest { s.DefaultAuthenticationMethod = &v return s } // SetEnabled sets the Enabled field's value. -func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest { s.Enabled = &v return s } // SetPrivateKey sets the PrivateKey field's value. -func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest { s.PrivateKey = &v return s } // SetTeamId sets the TeamId field's value. -func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest { s.TeamId = &v return s } // SetTokenKey sets the TokenKey field's value. -func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest { s.TokenKey = &v return s } // SetTokenKeyId sets the TokenKeyId field's value. -func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest { +func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest { s.TokenKeyId = &v return s } // Provides information about the status and settings of the APNs (Apple Push -// Notification service) channel for an application. -type APNSChannelResponse struct { +// Notification service) VoIP sandbox channel for an application. +type APNSVoipSandboxChannelResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the APNs channel applies to. + // The unique identifier for the application that the APNs VoIP sandbox channel + // applies to. ApplicationId *string `type:"string"` - // The date and time when the APNs channel was enabled. + // The date and time when the APNs VoIP sandbox channel was enabled. CreationDate *string `type:"string"` // The default authentication method that Amazon Pinpoint uses to authenticate - // with APNs for this channel, key or certificate. + // with the APNs sandbox environment for this channel, key or certificate. DefaultAuthenticationMethod *string `type:"string"` - // Specifies whether the APNs channel is enabled for the application. + // Specifies whether the APNs VoIP sandbox channel is enabled for the application. Enabled *bool `type:"boolean"` // (Not used) This property is retained only for backward compatibility. HasCredential *bool `type:"boolean"` - // Specifies whether the APNs channel is configured to communicate with APNs - // by using APNs tokens. To provide an authentication key for APNs tokens, set - // the TokenKey property of the channel. + // Specifies whether the APNs VoIP sandbox channel is configured to communicate + // with APNs by using APNs tokens. To provide an authentication key for APNs + // tokens, set the TokenKey property of the channel. HasTokenKey *bool `type:"boolean"` - // (Deprecated) An identifier for the APNs channel. This property is retained - // only for backward compatibility. + // (Deprecated) An identifier for the APNs VoIP sandbox channel. This property + // is retained only for backward compatibility. Id *string `type:"string"` - // Specifies whether the APNs channel is archived. + // Specifies whether the APNs VoIP sandbox channel is archived. IsArchived *bool `type:"boolean"` - // The user who last modified the APNs channel. + // The user who last modified the APNs VoIP sandbox channel. LastModifiedBy *string `type:"string"` - // The date and time when the APNs channel was last modified. + // The date and time when the APNs VoIP sandbox channel was last modified. LastModifiedDate *string `type:"string"` // The type of messaging or notification platform for the channel. For the APNs - // channel, this value is APNS. + // VoIP sandbox channel, this value is APNS_VOIP_SANDBOX. // // Platform is a required field Platform *string `type:"string" required:"true"` - // The current version of the APNs channel. + // The current version of the APNs VoIP sandbox channel. Version *int64 `type:"integer"` } // String returns the string representation -func (s APNSChannelResponse) String() string { +func (s APNSVoipSandboxChannelResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSChannelResponse) GoString() string { +func (s APNSVoipSandboxChannelResponse) GoString() string { return s.String() } // SetApplicationId sets the ApplicationId field's value. -func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse { s.ApplicationId = &v return s } // SetCreationDate sets the CreationDate field's value. -func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse { s.CreationDate = &v return s } // SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse { s.DefaultAuthenticationMethod = &v return s } // SetEnabled sets the Enabled field's value. -func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse { s.Enabled = &v return s } // SetHasCredential sets the HasCredential field's value. -func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse { s.HasCredential = &v return s } // SetHasTokenKey sets the HasTokenKey field's value. -func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse { s.HasTokenKey = &v return s } // SetId sets the Id field's value. -func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse { s.Id = &v return s } // SetIsArchived sets the IsArchived field's value. -func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse { s.IsArchived = &v return s } // SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse { s.LastModifiedBy = &v return s } // SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse { s.LastModifiedDate = &v return s } // SetPlatform sets the Platform field's value. -func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse { s.Platform = &v return s } // SetVersion sets the Version field's value. -func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse { +func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse { s.Version = &v return s } -// Specifies the settings for a one-time message that's sent directly to an -// endpoint through the APNs (Apple Push Notification service) channel. -type APNSMessage struct { +// Provides information about the activities that were performed by a campaign. +type ActivitiesResponse struct { _ struct{} `type:"structure"` - // The action to occur if the recipient taps the push notification. 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. + // An array of responses, one for each activity that was performed by the campaign. // - // * 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"` + // Item is a required field + Item []*ActivityResponse `type:"list" required:"true"` - // The key that indicates whether and how to modify the badge of your app's - // icon when the recipient receives the push notification. If this key isn't - // included in the dictionary, the badge doesn't change. To remove the badge, - // set this value to 0. - Badge *int64 `type:"integer"` + // 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"` +} - // The body of the notification message. - Body *string `type:"string"` +// String returns the string representation +func (s ActivitiesResponse) String() string { + return awsutil.Prettify(s) +} - // The key that indicates the notification type for the push notification. This - // key is a value that's defined by the identifier property of one of your app's - // registered categories. - Category *string `type:"string"` +// GoString returns the string representation +func (s ActivitiesResponse) GoString() string { + return s.String() +} - // An arbitrary identifier that, if assigned to multiple messages, APNs uses - // to coalesce the messages into a single push notification instead of delivering - // each message individually. This value can't exceed 64 bytes. - // - // Amazon Pinpoint specifies this value in the apns-collapse-id request header - // when it sends the notification message to APNs. - CollapseId *string `type:"string"` +// SetItem sets the Item field's value. +func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse { + s.Item = v + return s +} - // The JSON payload to use for a silent push notification. This payload is added - // to the data.pinpoint.jsonBody object of the notification. - Data map[string]*string `type:"map"` +// SetNextToken sets the NextToken field's value. +func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse { + s.NextToken = &v + return s +} - // The URL of an image or video to display in the push notification. - MediaUrl *string `type:"string"` +// Specifies the configuration and other settings for an activity in a journey. +type Activity struct { + _ struct{} `type:"structure"` - // The authentication method that you want Amazon Pinpoint to use when authenticating - // with Apple Push Notification service (APNs), CERTIFICATE or TOKEN. - PreferredAuthenticationMethod *string `type:"string"` + // The settings for a yes/no split activity. This type of activity sends participants + // down one of two paths in a journey, based on conditions that you specify. + ConditionalSplit *ConditionalSplitActivity `type:"structure"` - // para>5 - Low priority, the notification might be delayed, delivered as part - // of a group, or throttled. - // /listitem> - // 10 - High priority, the notification is sent immediately. This is the default - // value. A high priority notification should trigger an alert, play a sound, - // or badge your app's icon on the recipient's device. - // /para> - // Amazon Pinpoint specifies this value in the apns-priority request header - // when it sends the notification message to APNs. - // - // The equivalent values for Firebase Cloud Messaging (FCM), formerly Google - // Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify - // an FCM value for this property, Amazon Pinpoint accepts and converts the - // value to the corresponding APNs value. - Priority *string `type:"string"` + // The custom description of the activity. + Description *string `type:"string"` - // 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"` + // The settings for an email activity. This type of activity sends an email + // message to participants. + EMAIL *EmailMessageActivity `type:"structure"` + + // The settings for a holdout activity. This type of activity stops a journey + // for a specified percentage of participants. + Holdout *HoldoutActivity `type:"structure"` + + // The settings for a multivariate split activity. This type of activity sends + // participants down one of as many as five paths in a journey, based on conditions + // that you specify. + MultiCondition *MultiConditionalSplitActivity `type:"structure"` + + // The settings for a random split activity. This type of activity randomly + // sends specified percentages of participants down one of as many as five paths + // in a journey, based on conditions that you specify. + RandomSplit *RandomSplitActivity `type:"structure"` + + // The settings for a wait activity. This type of activity waits for a certain + // amount of time or until a specific date and time before moving participants + // to the next activity in a journey. + Wait *WaitActivity `type:"structure"` +} + +// String returns the string representation +func (s Activity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Activity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Activity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Activity"} + if s.ConditionalSplit != nil { + if err := s.ConditionalSplit.Validate(); err != nil { + invalidParams.AddNested("ConditionalSplit", err.(request.ErrInvalidParams)) + } + } + if s.Holdout != nil { + if err := s.Holdout.Validate(); err != nil { + invalidParams.AddNested("Holdout", err.(request.ErrInvalidParams)) + } + } + if s.MultiCondition != nil { + if err := s.MultiCondition.Validate(); err != nil { + invalidParams.AddNested("MultiCondition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConditionalSplit sets the ConditionalSplit field's value. +func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity { + s.ConditionalSplit = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Activity) SetDescription(v string) *Activity { + s.Description = &v + return s +} + +// SetEMAIL sets the EMAIL field's value. +func (s *Activity) SetEMAIL(v *EmailMessageActivity) *Activity { + s.EMAIL = v + return s +} + +// SetHoldout sets the Holdout field's value. +func (s *Activity) SetHoldout(v *HoldoutActivity) *Activity { + s.Holdout = v + return s +} + +// SetMultiCondition sets the MultiCondition field's value. +func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity { + s.MultiCondition = v + return s +} - // 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. +// SetRandomSplit sets the RandomSplit field's value. +func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity { + s.RandomSplit = v + return s +} + +// SetWait sets the Wait field's value. +func (s *Activity) SetWait(v *WaitActivity) *Activity { + s.Wait = v + return s +} + +// Provides information about an activity that was performed by a campaign. +type ActivityResponse struct { + _ struct{} `type:"structure"` + + // The unique identifier for the application that the campaign applies to. // - // 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. + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` + + // The unique identifier for the campaign that the activity applies to. // - // 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. + // CampaignId is a required field + CampaignId *string `type:"string" required:"true"` + + // The actual time, in ISO 8601 format, when the activity was marked CANCELLED + // or COMPLETED. + End *string `type:"string"` + + // The unique identifier for the activity. // - // 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"` + // Id is a required field + Id *string `type:"string" required:"true"` - // The key for the sound to play when the recipient receives the push notification. - // 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"` + // Specifies whether the activity succeeded. Possible values are SUCCESS and + // FAIL. + Result *string `type:"string"` - // The default message variables to use in the notification message. You can - // override these default variables with individual address variables. - Substitutions map[string][]*string `type:"map"` + // The scheduled start time, in ISO 8601 format, for the activity. + ScheduledStart *string `type:"string"` - // The key that represents your app-specific identifier for grouping notifications. - // If you provide a Notification Content app extension, you can use this value - // to group your notifications together. - ThreadId *string `type:"string"` + // The actual start time, in ISO 8601 format, of the activity. + Start *string `type:"string"` - // The amount of time, in seconds, that APNs should store and attempt to deliver - // the push notification, if the service is unable to deliver the notification - // the first time. If this value is 0, APNs treats the notification as if it - // expires immediately and the service doesn't store or try to deliver the notification - // again. - // - // Amazon Pinpoint specifies this value in the apns-expiration request header - // when it sends the notification message to APNs. - TimeToLive *int64 `type:"integer"` + // The current status of the activity. Possible values are: PENDING, INITIALIZING, + // RUNNING, PAUSED, CANCELLED, and COMPLETED. + State *string `type:"string"` - // The title to display above the notification message on the recipient's device. - Title *string `type:"string"` + // The total number of endpoints that the campaign successfully delivered messages + // to. + SuccessfulEndpointCount *int64 `type:"integer"` - // The URL to open in the recipient's default mobile browser, if a recipient - // taps the push notification and the value of the Action property is URL. - Url *string `type:"string"` + // The total number of time zones that were completed. + TimezonesCompletedCount *int64 `type:"integer"` + + // The total number of unique time zones that are in the segment for the campaign. + TimezonesTotalCount *int64 `type:"integer"` + + // The total number of endpoints that the campaign attempted to deliver messages + // to. + TotalEndpointCount *int64 `type:"integer"` + + // The unique identifier for the campaign treatment that the activity applies + // to. A treatment is a variation of a campaign that's used for A/B testing + // of a campaign. + TreatmentId *string `type:"string"` } // String returns the string representation -func (s APNSMessage) String() string { +func (s ActivityResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSMessage) GoString() string { +func (s ActivityResponse) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *APNSMessage) SetAction(v string) *APNSMessage { - s.Action = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse { + s.ApplicationId = &v return s } -// SetBadge sets the Badge field's value. -func (s *APNSMessage) SetBadge(v int64) *APNSMessage { - s.Badge = &v +// SetCampaignId sets the CampaignId field's value. +func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse { + s.CampaignId = &v return s } -// SetBody sets the Body field's value. -func (s *APNSMessage) SetBody(v string) *APNSMessage { - s.Body = &v +// SetEnd sets the End field's value. +func (s *ActivityResponse) SetEnd(v string) *ActivityResponse { + s.End = &v return s } -// SetCategory sets the Category field's value. -func (s *APNSMessage) SetCategory(v string) *APNSMessage { - s.Category = &v +// SetId sets the Id field's value. +func (s *ActivityResponse) SetId(v string) *ActivityResponse { + s.Id = &v return s } -// SetCollapseId sets the CollapseId field's value. -func (s *APNSMessage) SetCollapseId(v string) *APNSMessage { - s.CollapseId = &v +// SetResult sets the Result field's value. +func (s *ActivityResponse) SetResult(v string) *ActivityResponse { + s.Result = &v return s } -// SetData sets the Data field's value. -func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage { - s.Data = v +// SetScheduledStart sets the ScheduledStart field's value. +func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse { + s.ScheduledStart = &v return s } -// SetMediaUrl sets the MediaUrl field's value. -func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage { - s.MediaUrl = &v +// SetStart sets the Start field's value. +func (s *ActivityResponse) SetStart(v string) *ActivityResponse { + s.Start = &v return s } -// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value. -func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage { - s.PreferredAuthenticationMethod = &v +// SetState sets the State field's value. +func (s *ActivityResponse) SetState(v string) *ActivityResponse { + s.State = &v return s } -// SetPriority sets the Priority field's value. -func (s *APNSMessage) SetPriority(v string) *APNSMessage { - s.Priority = &v +// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value. +func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse { + s.SuccessfulEndpointCount = &v return s } -// SetRawContent sets the RawContent field's value. -func (s *APNSMessage) SetRawContent(v string) *APNSMessage { - s.RawContent = &v +// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value. +func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse { + s.TimezonesCompletedCount = &v return s } -// SetSilentPush sets the SilentPush field's value. -func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage { - s.SilentPush = &v +// SetTimezonesTotalCount sets the TimezonesTotalCount field's value. +func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse { + s.TimezonesTotalCount = &v return s } -// SetSound sets the Sound field's value. -func (s *APNSMessage) SetSound(v string) *APNSMessage { - s.Sound = &v +// SetTotalEndpointCount sets the TotalEndpointCount field's value. +func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse { + s.TotalEndpointCount = &v return s } -// SetSubstitutions sets the Substitutions field's value. -func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage { - s.Substitutions = v +// SetTreatmentId sets the TreatmentId field's value. +func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse { + s.TreatmentId = &v return s } -// SetThreadId sets the ThreadId field's value. -func (s *APNSMessage) SetThreadId(v string) *APNSMessage { - s.ThreadId = &v +// Specifies address-based configuration settings for a message that's sent +// directly to an endpoint. +type AddressConfiguration struct { + _ struct{} `type:"structure"` + + // The message body to use instead of the default message body. This value overrides + // the default message body. + BodyOverride *string `type:"string"` + + // The channel to use when sending the message. + ChannelType *string `type:"string" enum:"ChannelType"` + + // An object that maps custom attributes to attributes for the address and is + // attached to the message. For a push notification, this payload is added to + // the data.pinpoint object. For an email or text message, this payload is added + // to email/SMS delivery receipt event attributes. + Context map[string]*string `type:"map"` + + // The raw, JSON-formatted string to use as the payload for the notification + // message. This value overrides the message. + RawContent *string `type:"string"` + + // An object that maps variable values for the message. Amazon Pinpoint merges + // these values with the variable values specified by properties of the DefaultMessage + // object. The substitutions in this map take precedence over all other substitutions. + Substitutions map[string][]*string `type:"map"` + + // The message title to use instead of the default message title. This value + // overrides the default message title. + TitleOverride *string `type:"string"` +} + +// String returns the string representation +func (s AddressConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddressConfiguration) GoString() string { + return s.String() +} + +// SetBodyOverride sets the BodyOverride field's value. +func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration { + s.BodyOverride = &v return s } -// SetTimeToLive sets the TimeToLive field's value. -func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage { - s.TimeToLive = &v +// SetChannelType sets the ChannelType field's value. +func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration { + s.ChannelType = &v return s } -// SetTitle sets the Title field's value. -func (s *APNSMessage) SetTitle(v string) *APNSMessage { - s.Title = &v +// SetContext sets the Context field's value. +func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration { + s.Context = v return s } -// SetUrl sets the Url field's value. -func (s *APNSMessage) SetUrl(v string) *APNSMessage { - s.Url = &v +// SetRawContent sets the RawContent field's value. +func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration { + s.RawContent = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration { + s.Substitutions = v + return s +} + +// SetTitleOverride sets the TitleOverride field's value. +func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration { + s.TitleOverride = &v 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 { +// Specifies channel-specific content and settings for a message template that +// can be used in push notifications that are sent through the ADM (Amazon Device +// Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly +// Google Cloud Messaging) channel. +type AndroidPushNotificationTemplate struct { _ struct{} `type:"structure"` // The action to occur if a recipient taps a push notification that's based @@ -9522,2021 +11555,1890 @@ type APNSPushNotificationTemplate struct { // 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. + // 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 push notifications that are based on the message + // The message body to use in a push notification that's 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 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 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. + // 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 push notifications that are based on the message template. + // 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 the recipient's default mobile browser, if a recipient - // taps a push notification that's based on the message template and the value + // 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 APNSPushNotificationTemplate) String() string { +func (s AndroidPushNotificationTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSPushNotificationTemplate) GoString() string { +func (s AndroidPushNotificationTemplate) GoString() string { return s.String() } // SetAction sets the Action field's value. -func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate { +func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate { s.Action = &v return s } // SetBody sets the Body field's value. -func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate { +func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate { s.Body = &v return s } -// SetMediaUrl sets the MediaUrl field's value. -func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate { - s.MediaUrl = &v +// 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 *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate { +func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate { s.Sound = &v return s } // SetTitle sets the Title field's value. -func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate { +func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate { s.Title = &v return s } // SetUrl sets the Url field's value. -func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate { +func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate { 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 { +// 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 { _ struct{} `type:"structure"` - // The bundle identifier that's assigned to your iOS app. This identifier is - // used for APNs tokens. - BundleId *string `type:"string"` + // The unique identifier for the application that the metric applies to. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` - // The APNs client certificate that you received from Apple, if you want Amazon - // Pinpoint to communicate with the APNs sandbox environment by using an APNs - // certificate. - Certificate *string `type:"string"` + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The default authentication method that you want Amazon Pinpoint to use when - // authenticating with the APNs sandbox environment, key or certificate. - DefaultAuthenticationMethod *string `type:"string"` + // The name of the metric, also referred to as a key performance indicator (KPI), + // 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 possible values, see the + // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // + // KpiName is a required field + KpiName *string `type:"string" required:"true"` - // Specifies whether to enable the APNs sandbox channel for the application. - Enabled *bool `type:"boolean"` + // An array of objects that contains the results of the query. Each object contains + // the value for the metric and metadata about that value. + // + // KpiResult is a required field + KpiResult *BaseKpiResult `type:"structure" required:"true"` - // The private key for the APNs client certificate that you want Amazon Pinpoint - // to use to communicate with the APNs sandbox environment. - PrivateKey *string `type:"string"` + // 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 Application Metrics resource + // because the resource returns all results in a single page. + NextToken *string `type:"string"` - // The identifier that's assigned to your Apple developer account team. This - // identifier is used for APNs tokens. - TeamId *string `type:"string"` + // StartTime is a required field + StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` +} - // The authentication key to use for APNs tokens. - TokenKey *string `type:"string"` +// String returns the string representation +func (s ApplicationDateRangeKpiResponse) String() string { + return awsutil.Prettify(s) +} - // The key identifier that's assigned to your APNs signing key, if you want - // Amazon Pinpoint to communicate with the APNs sandbox environment by using - // APNs tokens. - TokenKeyId *string `type:"string"` +// GoString returns the string representation +func (s ApplicationDateRangeKpiResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse { + s.ApplicationId = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse { + s.EndTime = &v + return s +} + +// SetKpiName sets the KpiName field's value. +func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse { + s.KpiName = &v + return s +} + +// SetKpiResult sets the KpiResult field's value. +func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse { + s.KpiResult = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse { + s.StartTime = &v + return s +} + +// Provides information about an application. +type ApplicationResponse struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The unique identifier for the application. This identifier is displayed as + // the Project ID on the Amazon Pinpoint console. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The display name of the application. This name is displayed as the Project + // name on the Amazon Pinpoint console. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the application. 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 APNSSandboxChannelRequest) String() string { +func (s ApplicationResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSSandboxChannelRequest) GoString() string { +func (s ApplicationResponse) GoString() string { return s.String() } -// SetBundleId sets the BundleId field's value. -func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest { - s.BundleId = &v +// SetArn sets the Arn field's value. +func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *ApplicationResponse) SetId(v string) *ApplicationResponse { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ApplicationResponse) SetName(v string) *ApplicationResponse { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse { + s.Tags = v return s } -// SetCertificate sets the Certificate field's value. -func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest { - s.Certificate = &v - return s +// Provides information about an application, including the default settings +// for an application. +type ApplicationSettingsResource struct { + _ struct{} `type:"structure"` + + // The unique identifier for the application. This identifier is displayed as + // the Project ID on the Amazon Pinpoint console. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` + + // The settings for the AWS Lambda function to use by default as a code hook + // for campaigns in the application. + CampaignHook *CampaignHook `type:"structure"` + + // The date and time, in ISO 8601 format, when the application's settings were + // last modified. + LastModifiedDate *string `type:"string"` + + // The default sending limits for campaigns in the application. + Limits *CampaignLimits `type:"structure"` + + // The default quiet time for campaigns and journeys in the application. Quiet + // time is a specific time range when messages aren't sent to endpoints, if + // all the following conditions are met: + // + // * The EndpointDemographic.Timezone property of the endpoint is set to + // a valid value. + // + // * The current time in the endpoint's time zone is later than or equal + // to the time specified by the QuietTime.Start property for the application + // (or a campaign or journey that has custom quiet time settings). + // + // * The current time in the endpoint's time zone is earlier than or equal + // to the time specified by the QuietTime.End property for the application + // (or a campaign or journey that has custom quiet time settings). + // + // If any of the preceding conditions isn't met, the endpoint will receive messages + // from a campaign or journey, even if quiet time is enabled. + QuietTime *QuietTime `type:"structure"` +} + +// String returns the string representation +func (s ApplicationSettingsResource) String() string { + return awsutil.Prettify(s) } -// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest { - s.DefaultAuthenticationMethod = &v - return s +// GoString returns the string representation +func (s ApplicationSettingsResource) GoString() string { + return s.String() } -// SetEnabled sets the Enabled field's value. -func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest { - s.Enabled = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource { + s.ApplicationId = &v return s } -// SetPrivateKey sets the PrivateKey field's value. -func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest { - s.PrivateKey = &v +// SetCampaignHook sets the CampaignHook field's value. +func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource { + s.CampaignHook = v return s } -// SetTeamId sets the TeamId field's value. -func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest { - s.TeamId = &v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource { + s.LastModifiedDate = &v return s } -// SetTokenKey sets the TokenKey field's value. -func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest { - s.TokenKey = &v +// SetLimits sets the Limits field's value. +func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource { + s.Limits = v return s } -// SetTokenKeyId sets the TokenKeyId field's value. -func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest { - s.TokenKeyId = &v +// SetQuietTime sets the QuietTime field's value. +func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource { + s.QuietTime = v return s } -// Provides information about the status and settings of the APNs (Apple Push -// Notification service) sandbox channel for an application. -type APNSSandboxChannelResponse struct { +// Provides information about all of your applications. +type ApplicationsResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the APNs sandbox channel applies - // to. - ApplicationId *string `type:"string"` - - // The date and time when the APNs sandbox channel was enabled. - CreationDate *string `type:"string"` - - // The default authentication method that Amazon Pinpoint uses to authenticate - // with the APNs sandbox environment for this channel, key or certificate. - DefaultAuthenticationMethod *string `type:"string"` + // An array of responses, one for each application that was returned. + Item []*ApplicationResponse `type:"list"` - // Specifies whether the APNs sandbox channel is enabled for the application. - Enabled *bool `type:"boolean"` + // 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"` +} - // (Not used) This property is retained only for backward compatibility. - HasCredential *bool `type:"boolean"` +// String returns the string representation +func (s ApplicationsResponse) String() string { + return awsutil.Prettify(s) +} - // Specifies whether the APNs sandbox channel is configured to communicate with - // APNs by using APNs tokens. To provide an authentication key for APNs tokens, - // set the TokenKey property of the channel. - HasTokenKey *bool `type:"boolean"` +// GoString returns the string representation +func (s ApplicationsResponse) GoString() string { + return s.String() +} - // (Deprecated) An identifier for the APNs sandbox channel. This property is - // retained only for backward compatibility. - Id *string `type:"string"` +// SetItem sets the Item field's value. +func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse { + s.Item = v + return s +} - // Specifies whether the APNs sandbox channel is archived. - IsArchived *bool `type:"boolean"` +// SetNextToken sets the NextToken field's value. +func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse { + s.NextToken = &v + return s +} - // The user who last modified the APNs sandbox channel. - LastModifiedBy *string `type:"string"` +// Specifies attribute-based criteria for including or excluding endpoints from +// a segment. +type AttributeDimension struct { + _ struct{} `type:"structure"` - // The date and time when the APNs sandbox channel was last modified. - LastModifiedDate *string `type:"string"` + // The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints + // that match the criteria are included in the segment; and, EXCLUSIVE, endpoints + // that match the criteria are excluded from the segment. + AttributeType *string `type:"string" enum:"AttributeType"` - // The type of messaging or notification platform for the channel. For the APNs - // sandbox channel, this value is APNS_SANDBOX. + // The criteria values to use for the segment dimension. Depending on the value + // of the AttributeType property, endpoints are included or excluded from the + // segment if their attribute values match the criteria values. // - // Platform is a required field - Platform *string `type:"string" required:"true"` - - // The current version of the APNs sandbox channel. - Version *int64 `type:"integer"` + // Values is a required field + Values []*string `type:"list" required:"true"` } // String returns the string representation -func (s APNSSandboxChannelResponse) String() string { +func (s AttributeDimension) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSSandboxChannelResponse) GoString() string { +func (s AttributeDimension) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse { - s.ApplicationId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttributeDimension) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"} + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } -// SetCreationDate sets the CreationDate field's value. -func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse { - s.CreationDate = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse { - s.DefaultAuthenticationMethod = &v +// SetAttributeType sets the AttributeType field's value. +func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension { + s.AttributeType = &v return s } -// SetEnabled sets the Enabled field's value. -func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse { - s.Enabled = &v +// SetValues sets the Values field's value. +func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension { + s.Values = v return s } -// SetHasCredential sets the HasCredential field's value. -func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse { - s.HasCredential = &v - return s -} +// Provides information about the type and the names of attributes that were +// removed from all the endpoints that are associated with an application. +type AttributesResource struct { + _ struct{} `type:"structure"` -// SetHasTokenKey sets the HasTokenKey field's value. -func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse { - s.HasTokenKey = &v - return s -} + // The unique identifier for the application. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` -// SetId sets the Id field's value. -func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse { - s.Id = &v - return s + // The type of attribute or attributes that were removed from the endpoints. + // Valid values are: + // + // * endpoint-custom-attributes - Custom attributes that describe endpoints. + // + // * endpoint-metric-attributes - Custom metrics that your app reports to + // Amazon Pinpoint for endpoints. + // + // * endpoint-user-attributes - Custom attributes that describe users. + // + // AttributeType is a required field + AttributeType *string `type:"string" required:"true"` + + // An array that specifies the names of the attributes that were removed from + // the endpoints. + Attributes []*string `type:"list"` } -// SetIsArchived sets the IsArchived field's value. -func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse { - s.IsArchived = &v - return s +// String returns the string representation +func (s AttributesResource) String() string { + return awsutil.Prettify(s) } -// SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse { - s.LastModifiedBy = &v - return s +// GoString returns the string representation +func (s AttributesResource) GoString() string { + return s.String() } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse { - s.LastModifiedDate = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *AttributesResource) SetApplicationId(v string) *AttributesResource { + s.ApplicationId = &v return s } -// SetPlatform sets the Platform field's value. -func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse { - s.Platform = &v +// SetAttributeType sets the AttributeType field's value. +func (s *AttributesResource) SetAttributeType(v string) *AttributesResource { + s.AttributeType = &v return s } -// SetVersion sets the Version field's value. -func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse { - s.Version = &v +// SetAttributes sets the Attributes field's value. +func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource { + s.Attributes = v return s } -// Specifies the status and settings of the APNs (Apple Push Notification service) -// VoIP channel for an application. -type APNSVoipChannelRequest struct { +// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel +// for an application. +type BaiduChannelRequest struct { _ struct{} `type:"structure"` - // The bundle identifier that's assigned to your iOS app. This identifier is - // used for APNs tokens. - BundleId *string `type:"string"` - - // The APNs client certificate that you received from Apple, if you want Amazon - // Pinpoint to communicate with APNs by using an APNs certificate. - Certificate *string `type:"string"` - - // The default authentication method that you want Amazon Pinpoint to use when - // authenticating with APNs, key or certificate. - DefaultAuthenticationMethod *string `type:"string"` - - // Specifies whether to enable the APNs VoIP channel for the application. - Enabled *bool `type:"boolean"` - - // The private key for the APNs client certificate that you want Amazon Pinpoint - // to use to communicate with APNs. - PrivateKey *string `type:"string"` - - // The identifier that's assigned to your Apple developer account team. This - // identifier is used for APNs tokens. - TeamId *string `type:"string"` + // The API key that you received from the Baidu Cloud Push service to communicate + // with the service. + // + // ApiKey is a required field + ApiKey *string `type:"string" required:"true"` - // The authentication key to use for APNs tokens. - TokenKey *string `type:"string"` + // Specifies whether to enable the Baidu channel for the application. + Enabled *bool `type:"boolean"` - // The key identifier that's assigned to your APNs signing key, if you want - // Amazon Pinpoint to communicate with APNs by using APNs tokens. - TokenKeyId *string `type:"string"` + // The secret key that you received from the Baidu Cloud Push service to communicate + // with the service. + // + // SecretKey is a required field + SecretKey *string `type:"string" required:"true"` } // String returns the string representation -func (s APNSVoipChannelRequest) String() string { +func (s BaiduChannelRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSVoipChannelRequest) GoString() string { +func (s BaiduChannelRequest) GoString() string { return s.String() } -// SetBundleId sets the BundleId field's value. -func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest { - s.BundleId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *BaiduChannelRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"} + if s.ApiKey == nil { + invalidParams.Add(request.NewErrParamRequired("ApiKey")) + } + if s.SecretKey == nil { + invalidParams.Add(request.NewErrParamRequired("SecretKey")) + } -// SetCertificate sets the Certificate field's value. -func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest { - s.Certificate = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest { - s.DefaultAuthenticationMethod = &v +// SetApiKey sets the ApiKey field's value. +func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest { + s.ApiKey = &v return s } // SetEnabled sets the Enabled field's value. -func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest { +func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest { s.Enabled = &v return s } -// SetPrivateKey sets the PrivateKey field's value. -func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest { - s.PrivateKey = &v - return s -} - -// SetTeamId sets the TeamId field's value. -func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest { - s.TeamId = &v - return s -} - -// SetTokenKey sets the TokenKey field's value. -func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest { - s.TokenKey = &v - return s -} - -// SetTokenKeyId sets the TokenKeyId field's value. -func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest { - s.TokenKeyId = &v +// SetSecretKey sets the SecretKey field's value. +func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest { + s.SecretKey = &v return s } -// Provides information about the status and settings of the APNs (Apple Push -// Notification service) VoIP channel for an application. -type APNSVoipChannelResponse struct { +// Provides information about the status and settings of the Baidu (Baidu Cloud +// Push) channel for an application. +type BaiduChannelResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the APNs VoIP channel applies + // The unique identifier for the application that the Baidu channel applies // to. ApplicationId *string `type:"string"` - // The date and time when the APNs VoIP channel was enabled. + // The date and time when the Baidu channel was enabled. CreationDate *string `type:"string"` - // The default authentication method that Amazon Pinpoint uses to authenticate - // with APNs for this channel, key or certificate. - DefaultAuthenticationMethod *string `type:"string"` + // The API key that you received from the Baidu Cloud Push service to communicate + // with the service. + // + // Credential is a required field + Credential *string `type:"string" required:"true"` - // Specifies whether the APNs VoIP channel is enabled for the application. + // Specifies whether the Baidu channel is enabled for the application. Enabled *bool `type:"boolean"` // (Not used) This property is retained only for backward compatibility. HasCredential *bool `type:"boolean"` - // Specifies whether the APNs VoIP channel is configured to communicate with - // APNs by using APNs tokens. To provide an authentication key for APNs tokens, - // set the TokenKey property of the channel. - HasTokenKey *bool `type:"boolean"` - - // (Deprecated) An identifier for the APNs VoIP channel. This property is retained + // (Deprecated) An identifier for the Baidu channel. This property is retained // only for backward compatibility. Id *string `type:"string"` - // Specifies whether the APNs VoIP channel is archived. + // Specifies whether the Baidu channel is archived. IsArchived *bool `type:"boolean"` - // The user who last modified the APNs VoIP channel. + // The user who last modified the Baidu channel. LastModifiedBy *string `type:"string"` - // The date and time when the APNs VoIP channel was last modified. + // The date and time when the Baidu channel was last modified. LastModifiedDate *string `type:"string"` - // The type of messaging or notification platform for the channel. For the APNs - // VoIP channel, this value is APNS_VOIP. + // The type of messaging or notification platform for the channel. For the Baidu + // channel, this value is BAIDU. // // Platform is a required field Platform *string `type:"string" required:"true"` - // The current version of the APNs VoIP channel. + // The current version of the Baidu channel. Version *int64 `type:"integer"` } // String returns the string representation -func (s APNSVoipChannelResponse) String() string { +func (s BaiduChannelResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSVoipChannelResponse) GoString() string { +func (s BaiduChannelResponse) GoString() string { return s.String() } // SetApplicationId sets the ApplicationId field's value. -func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse { s.ApplicationId = &v return s } // SetCreationDate sets the CreationDate field's value. -func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse { s.CreationDate = &v return s } -// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse { - s.DefaultAuthenticationMethod = &v +// SetCredential sets the Credential field's value. +func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse { + s.Credential = &v return s } // SetEnabled sets the Enabled field's value. -func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse { s.Enabled = &v return s } // SetHasCredential sets the HasCredential field's value. -func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse { s.HasCredential = &v return s } -// SetHasTokenKey sets the HasTokenKey field's value. -func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse { - s.HasTokenKey = &v - return s -} - // SetId sets the Id field's value. -func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse { s.Id = &v return s } // SetIsArchived sets the IsArchived field's value. -func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse { s.IsArchived = &v return s } // SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse { s.LastModifiedBy = &v return s } // SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse { s.LastModifiedDate = &v return s } // SetPlatform sets the Platform field's value. -func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse { s.Platform = &v return s } // SetVersion sets the Version field's value. -func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse { +func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse { s.Version = &v return s } -// Specifies the status and settings of the APNs (Apple Push Notification service) -// VoIP sandbox channel for an application. -type APNSVoipSandboxChannelRequest struct { +// Specifies the settings for a one-time message that's sent directly to an +// endpoint through the Baidu (Baidu Cloud Push) channel. +type BaiduMessage struct { _ struct{} `type:"structure"` - // The bundle identifier that's assigned to your iOS app. This identifier is - // used for APNs tokens. - BundleId *string `type:"string"` - - // The APNs client certificate that you received from Apple, if you want Amazon - // Pinpoint to communicate with the APNs sandbox environment by using an APNs - // certificate. - Certificate *string `type:"string"` - - // The default authentication method that you want Amazon Pinpoint to use when - // authenticating with the APNs sandbox environment for this channel, key or - // certificate. - DefaultAuthenticationMethod *string `type:"string"` - - // Specifies whether the APNs VoIP sandbox channel is enabled for the application. - Enabled *bool `type:"boolean"` - - // The private key for the APNs client certificate that you want Amazon Pinpoint - // to use to communicate with the APNs sandbox environment. - PrivateKey *string `type:"string"` - - // The identifier that's assigned to your Apple developer account team. This - // identifier is used for APNs tokens. - TeamId *string `type:"string"` - - // The authentication key to use for APNs tokens. - TokenKey *string `type:"string"` - - // The key identifier that's assigned to your APNs signing key, if you want - // Amazon Pinpoint to communicate with the APNs sandbox environment by using - // APNs tokens. - TokenKeyId *string `type:"string"` -} - -// String returns the string representation -func (s APNSVoipSandboxChannelRequest) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s APNSVoipSandboxChannelRequest) GoString() string { - return s.String() -} - -// SetBundleId sets the BundleId field's value. -func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest { - s.BundleId = &v - return s -} - -// SetCertificate sets the Certificate field's value. -func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest { - s.Certificate = &v - return s -} - -// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest { - s.DefaultAuthenticationMethod = &v - return s -} - -// SetEnabled sets the Enabled field's value. -func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest { - s.Enabled = &v - return s -} - -// SetPrivateKey sets the PrivateKey field's value. -func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest { - s.PrivateKey = &v - return s -} - -// SetTeamId sets the TeamId field's value. -func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest { - s.TeamId = &v - return s -} - -// SetTokenKey sets the TokenKey field's value. -func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest { - s.TokenKey = &v - return s -} - -// SetTokenKeyId sets the TokenKeyId field's value. -func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest { - s.TokenKeyId = &v - return s -} + // The action to occur if the recipient taps the push notification. 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"` -// Provides information about the status and settings of the APNs (Apple Push -// Notification service) VoIP sandbox channel for an application. -type APNSVoipSandboxChannelResponse struct { - _ struct{} `type:"structure"` + // The body of the notification message. + Body *string `type:"string"` - // The unique identifier for the application that the APNs VoIP sandbox channel - // applies to. - ApplicationId *string `type:"string"` + // The JSON data payload to use for the push notification, if the notification + // is a silent push notification. This payload is added to the data.pinpoint.jsonBody + // object of the notification. + Data map[string]*string `type:"map"` - // The date and time when the APNs VoIP sandbox channel was enabled. - CreationDate *string `type:"string"` + // The icon image name of the asset saved in your app. + IconReference *string `type:"string"` - // The default authentication method that Amazon Pinpoint uses to authenticate - // with the APNs sandbox environment for this channel, key or certificate. - DefaultAuthenticationMethod *string `type:"string"` + // The URL of the large icon image to display in the content view of the push + // notification. + ImageIconUrl *string `type:"string"` - // Specifies whether the APNs VoIP sandbox channel is enabled for the application. - Enabled *bool `type:"boolean"` + // The URL of an image to display in the push notification. + ImageUrl *string `type:"string"` - // (Not used) This property is retained only for backward compatibility. - HasCredential *bool `type:"boolean"` + // The raw, JSON-formatted string to use as the payload for the notification + // message. This value overrides the message. + RawContent *string `type:"string"` - // Specifies whether the APNs VoIP sandbox channel is configured to communicate - // with APNs by using APNs tokens. To provide an authentication key for APNs - // tokens, set the TokenKey property of the channel. - HasTokenKey *bool `type:"boolean"` + // 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 + // or supporting phone home functionality. + SilentPush *bool `type:"boolean"` - // (Deprecated) An identifier for the APNs VoIP sandbox channel. This property - // is retained only for backward compatibility. - Id *string `type:"string"` + // The URL of the small icon image to display in the status bar and the content + // view of the push notification. + SmallImageIconUrl *string `type:"string"` - // Specifies whether the APNs VoIP sandbox channel is archived. - IsArchived *bool `type:"boolean"` + // The sound to play when the recipient receives the push notification. 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 user who last modified the APNs VoIP sandbox channel. - LastModifiedBy *string `type:"string"` + // The default message variables to use in the notification message. You can + // override the default variables with individual address variables. + Substitutions map[string][]*string `type:"map"` - // The date and time when the APNs VoIP sandbox channel was last modified. - LastModifiedDate *string `type:"string"` + // The amount of time, in seconds, that the Baidu Cloud Push service should + // store the message if the recipient's device is offline. The default value + // and maximum supported time is 604,800 seconds (7 days). + TimeToLive *int64 `type:"integer"` - // The type of messaging or notification platform for the channel. For the APNs - // VoIP sandbox channel, this value is APNS_VOIP_SANDBOX. - // - // Platform is a required field - Platform *string `type:"string" required:"true"` + // The title to display above the notification message on the recipient's device. + Title *string `type:"string"` - // The current version of the APNs VoIP sandbox channel. - Version *int64 `type:"integer"` + // The URL to open in the recipient's default mobile browser, if a recipient + // taps the push notification and the value of the Action property is URL. + Url *string `type:"string"` } // String returns the string representation -func (s APNSVoipSandboxChannelResponse) String() string { +func (s BaiduMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s APNSVoipSandboxChannelResponse) GoString() string { +func (s BaiduMessage) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse { - s.ApplicationId = &v +// SetAction sets the Action field's value. +func (s *BaiduMessage) SetAction(v string) *BaiduMessage { + s.Action = &v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse { - s.CreationDate = &v +// SetBody sets the Body field's value. +func (s *BaiduMessage) SetBody(v string) *BaiduMessage { + s.Body = &v return s } -// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. -func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse { - s.DefaultAuthenticationMethod = &v +// SetData sets the Data field's value. +func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage { + s.Data = v return s } -// SetEnabled sets the Enabled field's value. -func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse { - s.Enabled = &v +// SetIconReference sets the IconReference field's value. +func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage { + s.IconReference = &v return s } -// SetHasCredential sets the HasCredential field's value. -func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse { - s.HasCredential = &v +// SetImageIconUrl sets the ImageIconUrl field's value. +func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage { + s.ImageIconUrl = &v return s } -// SetHasTokenKey sets the HasTokenKey field's value. -func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse { - s.HasTokenKey = &v +// SetImageUrl sets the ImageUrl field's value. +func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage { + s.ImageUrl = &v return s } -// SetId sets the Id field's value. -func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse { - s.Id = &v +// SetRawContent sets the RawContent field's value. +func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage { + s.RawContent = &v return s } -// SetIsArchived sets the IsArchived field's value. -func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse { - s.IsArchived = &v +// SetSilentPush sets the SilentPush field's value. +func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage { + s.SilentPush = &v return s } -// SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse { - s.LastModifiedBy = &v +// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. +func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage { + s.SmallImageIconUrl = &v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse { - s.LastModifiedDate = &v +// SetSound sets the Sound field's value. +func (s *BaiduMessage) SetSound(v string) *BaiduMessage { + s.Sound = &v return s } -// SetPlatform sets the Platform field's value. -func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse { - s.Platform = &v +// SetSubstitutions sets the Substitutions field's value. +func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage { + s.Substitutions = v return s } -// SetVersion sets the Version field's value. -func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse { - s.Version = &v +// SetTimeToLive sets the TimeToLive field's value. +func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage { + s.TimeToLive = &v return s } -// Provides information about the activities that were performed by a campaign. -type ActivitiesResponse struct { +// SetTitle sets the Title field's value. +func (s *BaiduMessage) SetTitle(v string) *BaiduMessage { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *BaiduMessage) SetUrl(v string) *BaiduMessage { + s.Url = &v + return s +} + +// Provides the results of a query that retrieved the data for a standard metric +// that applies to an application, campaign, or journey. +type BaseKpiResult struct { _ struct{} `type:"structure"` - // An array of responses, one for each activity that was performed by the campaign. + // An array of objects that provides the results of a query that retrieved the + // data for a standard metric that applies to an application, campaign, or journey. // - // Item is a required field - Item []*ActivityResponse `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"` + // Rows is a required field + Rows []*ResultRow `type:"list" required:"true"` } // String returns the string representation -func (s ActivitiesResponse) String() string { +func (s BaseKpiResult) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ActivitiesResponse) GoString() string { +func (s BaseKpiResult) GoString() string { return s.String() } -// SetItem sets the Item field's value. -func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse { - s.Item = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse { - s.NextToken = &v +// SetRows sets the Rows field's value. +func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult { + s.Rows = v return s } -// Provides information about an activity that was performed by a campaign. -type ActivityResponse struct { +// Provides the results of a query that retrieved the data for a standard metric +// that applies to a campaign, and provides information about that query. +type CampaignDateRangeKpiResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the campaign applies to. + // The unique identifier for the application that the metric applies to. // // ApplicationId is a required field ApplicationId *string `type:"string" required:"true"` - // The unique identifier for the campaign that the activity applies to. + // The unique identifier for the campaign that the metric applies to. // // CampaignId is a required field CampaignId *string `type:"string" required:"true"` - // The actual time, in ISO 8601 format, when the activity was marked CANCELLED - // or COMPLETED. - End *string `type:"string"` + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The unique identifier for the activity. + // The name of the metric, also referred to as a key performance indicator (KPI), + // 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 possible values, see the + // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). // - // Id is a required field - Id *string `type:"string" required:"true"` - - // Specifies whether the activity succeeded. Possible values are SUCCESS and - // FAIL. - Result *string `type:"string"` - - // The scheduled start time, in ISO 8601 format, for the activity. - ScheduledStart *string `type:"string"` - - // The actual start time, in ISO 8601 format, of the activity. - Start *string `type:"string"` - - // The state of the activity. Possible values are: PENDING, INITIALIZING, RUNNING, - // PAUSED, CANCELLED, and COMPLETED. - State *string `type:"string"` - - // The total number of endpoints that the campaign successfully delivered messages - // to. - SuccessfulEndpointCount *int64 `type:"integer"` - - // The total number of time zones that were completed. - TimezonesCompletedCount *int64 `type:"integer"` + // KpiName is a required field + KpiName *string `type:"string" required:"true"` - // The total number of unique time zones that are in the segment for the campaign. - TimezonesTotalCount *int64 `type:"integer"` + // An array of objects that contains the results of the query. Each object contains + // the value for the metric and metadata about that value. + // + // KpiResult is a required field + KpiResult *BaseKpiResult `type:"structure" required:"true"` - // The total number of endpoints that the campaign attempted to deliver messages - // to. - TotalEndpointCount *int64 `type:"integer"` + // 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 Campaign Metrics resource + // because the resource returns all results in a single page. + NextToken *string `type:"string"` - // The unique identifier for the campaign treatment that the activity applies - // to. A treatment is a variation of a campaign that's used for A/B testing - // of a campaign. - TreatmentId *string `type:"string"` + // StartTime is a required field + StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` } // String returns the string representation -func (s ActivityResponse) String() string { +func (s CampaignDateRangeKpiResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ActivityResponse) GoString() string { +func (s CampaignDateRangeKpiResponse) GoString() string { return s.String() } // SetApplicationId sets the ApplicationId field's value. -func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse { +func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse { s.ApplicationId = &v return s } // SetCampaignId sets the CampaignId field's value. -func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse { +func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse { s.CampaignId = &v return s } -// SetEnd sets the End field's value. -func (s *ActivityResponse) SetEnd(v string) *ActivityResponse { - s.End = &v +// SetEndTime sets the EndTime field's value. +func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse { + s.EndTime = &v return s } -// SetId sets the Id field's value. -func (s *ActivityResponse) SetId(v string) *ActivityResponse { - s.Id = &v +// SetKpiName sets the KpiName field's value. +func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse { + s.KpiName = &v return s } -// SetResult sets the Result field's value. -func (s *ActivityResponse) SetResult(v string) *ActivityResponse { - s.Result = &v +// SetKpiResult sets the KpiResult field's value. +func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse { + s.KpiResult = v return s } -// SetScheduledStart sets the ScheduledStart field's value. -func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse { - s.ScheduledStart = &v +// SetNextToken sets the NextToken field's value. +func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse { + s.NextToken = &v return s } -// SetStart sets the Start field's value. -func (s *ActivityResponse) SetStart(v string) *ActivityResponse { - s.Start = &v +// SetStartTime sets the StartTime field's value. +func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse { + s.StartTime = &v return s } -// SetState sets the State field's value. -func (s *ActivityResponse) SetState(v string) *ActivityResponse { - s.State = &v - return s +// Specifies the content and "From" address for an email message that's sent +// to recipients of a campaign. +type CampaignEmailMessage struct { + _ struct{} `type:"structure"` + + // The body of the email for recipients whose email clients don't support HTML + // content. + Body *string `type:"string"` + + // The verified email address to send the email from. The default address is + // the FromAddress specified for the email channel for the application. + FromAddress *string `type:"string"` + + // The body of the email, in HTML format, for recipients whose email clients + // support HTML content. + HtmlBody *string `type:"string"` + + // The subject line, or title, of the email. + // + // Title is a required field + Title *string `type:"string" required:"true"` } -// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value. -func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse { - s.SuccessfulEndpointCount = &v - return s +// String returns the string representation +func (s CampaignEmailMessage) String() string { + return awsutil.Prettify(s) } -// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value. -func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse { - s.TimezonesCompletedCount = &v +// GoString returns the string representation +func (s CampaignEmailMessage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CampaignEmailMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CampaignEmailMessage"} + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBody sets the Body field's value. +func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage { + s.Body = &v return s } -// SetTimezonesTotalCount sets the TimezonesTotalCount field's value. -func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse { - s.TimezonesTotalCount = &v +// SetFromAddress sets the FromAddress field's value. +func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage { + s.FromAddress = &v return s } -// SetTotalEndpointCount sets the TotalEndpointCount field's value. -func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse { - s.TotalEndpointCount = &v +// SetHtmlBody sets the HtmlBody field's value. +func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage { + s.HtmlBody = &v return s } -// SetTreatmentId sets the TreatmentId field's value. -func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse { - s.TreatmentId = &v +// SetTitle sets the Title field's value. +func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage { + s.Title = &v return s } -// Specifies address-based configuration settings for a message that's sent -// directly to an endpoint. -type AddressConfiguration struct { +// Specifies the settings for events that cause a campaign to be sent. +type CampaignEventFilter struct { _ struct{} `type:"structure"` - // The message body to use instead of the default message body. This value overrides - // the default message body. - BodyOverride *string `type:"string"` - - // The channel to use when sending the message. - ChannelType *string `type:"string" enum:"ChannelType"` - - // An object that maps custom attributes to attributes for the address and is - // attached to the message. For a push notification, this payload is added to - // the data.pinpoint object. For an email or text message, this payload is added - // to email/SMS delivery receipt event attributes. - Context map[string]*string `type:"map"` - - // The raw, JSON-formatted string to use as the payload for the notification - // message. This value overrides the message. - RawContent *string `type:"string"` - - // An object that maps variable values for the message. Amazon Pinpoint merges - // these values with the variable values specified by properties of the DefaultMessage - // object. The substitutions in this map take precedence over all other substitutions. - Substitutions map[string][]*string `type:"map"` + // The dimension settings of the event filter for the campaign. + // + // Dimensions is a required field + Dimensions *EventDimensions `type:"structure" required:"true"` - // The message title to use instead of the default message title. This value - // overrides the default message title. - TitleOverride *string `type:"string"` + // The type of event that causes the campaign to be sent. Valid values are: + // SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends + // the campaign when an endpoint event (Events resource) occurs. + // + // FilterType is a required field + FilterType *string `type:"string" required:"true" enum:"FilterType"` } // String returns the string representation -func (s AddressConfiguration) String() string { +func (s CampaignEventFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddressConfiguration) GoString() string { +func (s CampaignEventFilter) GoString() string { return s.String() } -// SetBodyOverride sets the BodyOverride field's value. -func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration { - s.BodyOverride = &v - return s -} - -// SetChannelType sets the ChannelType field's value. -func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration { - s.ChannelType = &v - return s -} - -// SetContext sets the Context field's value. -func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration { - s.Context = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CampaignEventFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"} + if s.Dimensions == nil { + invalidParams.Add(request.NewErrParamRequired("Dimensions")) + } + if s.FilterType == nil { + invalidParams.Add(request.NewErrParamRequired("FilterType")) + } + if s.Dimensions != nil { + if err := s.Dimensions.Validate(); err != nil { + invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams)) + } + } -// SetRawContent sets the RawContent field's value. -func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration { - s.RawContent = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSubstitutions sets the Substitutions field's value. -func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration { - s.Substitutions = v +// SetDimensions sets the Dimensions field's value. +func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter { + s.Dimensions = v return s } -// SetTitleOverride sets the TitleOverride field's value. -func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration { - s.TitleOverride = &v +// SetFilterType sets the FilterType field's value. +func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter { + s.FilterType = &v 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 { +// Specifies the AWS Lambda function to use as a code hook for a campaign. +type CampaignHook 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 name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon + // Pinpoint invokes to send messages for a campaign. + LambdaFunctionName *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"` + // Specifies which Lambda mode to use when invoking the AWS Lambda function. + Mode *string `type:"string" enum:"Mode"` - // 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"` + // The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function + // over HTTPS. + WebUrl *string `type:"string"` } // String returns the string representation -func (s AndroidPushNotificationTemplate) String() string { +func (s CampaignHook) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AndroidPushNotificationTemplate) GoString() string { +func (s CampaignHook) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate { - s.Action = &v +// SetLambdaFunctionName sets the LambdaFunctionName field's value. +func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook { + s.LambdaFunctionName = &v return s } -// SetBody sets the Body field's value. -func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate { - s.Body = &v +// SetMode sets the Mode field's value. +func (s *CampaignHook) SetMode(v string) *CampaignHook { + s.Mode = &v return s } -// SetImageIconUrl sets the ImageIconUrl field's value. -func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate { - s.ImageIconUrl = &v +// SetWebUrl sets the WebUrl field's value. +func (s *CampaignHook) SetWebUrl(v string) *CampaignHook { + s.WebUrl = &v return s } -// SetImageUrl sets the ImageUrl field's value. -func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate { - s.ImageUrl = &v - return s +// Specifies limits on the messages that a campaign can send. +type CampaignLimits struct { + _ struct{} `type:"structure"` + + // The maximum number of messages that a campaign can send to a single endpoint + // during a 24-hour period. The maximum value is 100. + Daily *int64 `type:"integer"` + + // The maximum amount of time, in seconds, that a campaign can attempt to deliver + // a message after the scheduled start time for the campaign. The minimum value + // is 60 seconds. + MaximumDuration *int64 `type:"integer"` + + // The maximum number of messages that a campaign can send each second. The + // minimum value is 50. The maximum value is 20,000. + MessagesPerSecond *int64 `type:"integer"` + + // The maximum number of messages that a campaign can send to a single endpoint + // during the course of the campaign. The maximum value is 100. + Total *int64 `type:"integer"` } -// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. -func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate { - s.SmallImageIconUrl = &v +// String returns the string representation +func (s CampaignLimits) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CampaignLimits) GoString() string { + return s.String() +} + +// SetDaily sets the Daily field's value. +func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits { + s.Daily = &v return s } -// SetSound sets the Sound field's value. -func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate { - s.Sound = &v +// SetMaximumDuration sets the MaximumDuration field's value. +func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits { + s.MaximumDuration = &v return s } -// SetTitle sets the Title field's value. -func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate { - s.Title = &v +// SetMessagesPerSecond sets the MessagesPerSecond field's value. +func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits { + s.MessagesPerSecond = &v return s } -// SetUrl sets the Url field's value. -func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate { - s.Url = &v +// SetTotal sets the Total field's value. +func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits { + s.Total = &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 { +// Provides information about the status, configuration, and other settings +// for a campaign. +type CampaignResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the metric applies to. + // An array of responses, one for each treatment that you defined for the campaign, + // in addition to the default treatment. + AdditionalTreatments []*TreatmentResource `type:"list"` + + // The unique identifier for the application that the campaign applies to. // // ApplicationId is a required field ApplicationId *string `type:"string" required:"true"` - // EndTime is a required field - EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + // The Amazon Resource Name (ARN) of the campaign. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` - // The name of the metric, also referred to as a key performance indicator (KPI), - // 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 (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // The date, ISO 8601 format, when the campaign was created. // - // KpiName is a required field - KpiName *string `type:"string" required:"true"` + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` - // An array of objects that contains the results of the query. Each object contains - // the value for the metric and metadata about that value. + // The current status of the campaign's default treatment. This value exists + // only for campaigns that have more than one treatment, to support A/B testing. + DefaultState *CampaignState `type:"structure"` + + // The custom description of the campaign. + Description *string `type:"string"` + + // The allocated percentage of users (segment members) who shouldn't receive + // messages from the campaign. + HoldoutPercent *int64 `type:"integer"` + + // The settings for the AWS Lambda function to use as a code hook for the campaign. + Hook *CampaignHook `type:"structure"` + + // The unique identifier for the campaign. // - // KpiResult is a required field - KpiResult *BaseKpiResult `type:"structure" required:"true"` + // Id is a required field + Id *string `type:"string" 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 Application Metrics resource. - // The Application Metrics resource returns all results in a single page. - NextToken *string `type:"string"` + // Specifies whether the campaign is paused. A paused campaign doesn't run unless + // you resume it by changing this value to false. + IsPaused *bool `type:"boolean"` - // StartTime is a required field - StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + // The date, in ISO 8601 format, when the campaign was last modified. + // + // LastModifiedDate is a required field + LastModifiedDate *string `type:"string" required:"true"` + + // The messaging limits for the campaign. + Limits *CampaignLimits `type:"structure"` + + // The message configuration settings for the campaign. + MessageConfiguration *MessageConfiguration `type:"structure"` + + // The name of the campaign. + Name *string `type:"string"` + + // The schedule settings for the campaign. + Schedule *Schedule `type:"structure"` + + // The unique identifier for the segment that's associated with the campaign. + // + // SegmentId is a required field + SegmentId *string `type:"string" required:"true"` + + // The version number of the segment that's associated with the campaign. + // + // SegmentVersion is a required field + SegmentVersion *int64 `type:"integer" required:"true"` + + // The current status of the campaign. + State *CampaignState `type:"structure"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the campaign. Each tag consists of a required tag key and + // 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"` + + // The custom name of a variation of the campaign that's used for A/B testing. + TreatmentName *string `type:"string"` + + // The version number of the campaign. + Version *int64 `type:"integer"` } // String returns the string representation -func (s ApplicationDateRangeKpiResponse) String() string { +func (s CampaignResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ApplicationDateRangeKpiResponse) GoString() string { +func (s CampaignResponse) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse { - s.ApplicationId = &v - return s -} - -// SetEndTime sets the EndTime field's value. -func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse { - s.EndTime = &v +// SetAdditionalTreatments sets the AdditionalTreatments field's value. +func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse { + s.AdditionalTreatments = v return s } -// SetKpiName sets the KpiName field's value. -func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse { - s.KpiName = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse { + s.ApplicationId = &v return s } -// SetKpiResult sets the KpiResult field's value. -func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse { - s.KpiResult = v +// SetArn sets the Arn field's value. +func (s *CampaignResponse) SetArn(v string) *CampaignResponse { + s.Arn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse { - s.NextToken = &v +// SetCreationDate sets the CreationDate field's value. +func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse { + s.CreationDate = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse { - s.StartTime = &v +// SetDefaultState sets the DefaultState field's value. +func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse { + s.DefaultState = v return s } -// Provides information about an application. -type ApplicationResponse struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the application. - // - // Arn is a required field - Arn *string `type:"string" required:"true"` - - // The unique identifier for the application. This identifier is displayed as - // the Project ID on the Amazon Pinpoint console. - // - // Id is a required field - Id *string `type:"string" required:"true"` - - // The display name of the application. This name is displayed as the Project - // name on the Amazon Pinpoint console. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // A string-to-string map of key-value pairs that identifies the tags that are - // associated with the application. 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 ApplicationResponse) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ApplicationResponse) GoString() string { - return s.String() +// SetDescription sets the Description field's value. +func (s *CampaignResponse) SetDescription(v string) *CampaignResponse { + s.Description = &v + return s } -// SetArn sets the Arn field's value. -func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse { - s.Arn = &v +// SetHoldoutPercent sets the HoldoutPercent field's value. +func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse { + s.HoldoutPercent = &v return s } -// SetId sets the Id field's value. -func (s *ApplicationResponse) SetId(v string) *ApplicationResponse { - s.Id = &v +// SetHook sets the Hook field's value. +func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse { + s.Hook = v return s } -// SetName sets the Name field's value. -func (s *ApplicationResponse) SetName(v string) *ApplicationResponse { - s.Name = &v +// SetId sets the Id field's value. +func (s *CampaignResponse) SetId(v string) *CampaignResponse { + s.Id = &v return s } -// SetTags sets the Tags field's value. -func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse { - s.Tags = v +// SetIsPaused sets the IsPaused field's value. +func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse { + s.IsPaused = &v return s } -// Provides information about an application, including the default settings -// for an application. -type ApplicationSettingsResource struct { - _ struct{} `type:"structure"` - - // The unique identifier for the application. This identifier is displayed as - // the Project ID on the Amazon Pinpoint console. - // - // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` - - // The settings for the AWS Lambda function to use by default as a code hook - // for campaigns in the application. - CampaignHook *CampaignHook `type:"structure"` - - // The date and time, in ISO 8601 format, when the application's settings were - // last modified. - LastModifiedDate *string `type:"string"` - - // The default sending limits for campaigns in the application. - Limits *CampaignLimits `type:"structure"` - - // The default quiet time for campaigns in the application. Quiet time is a - // specific time range when campaigns don't send messages to endpoints, if all - // the following conditions are met: - // - // * The EndpointDemographic.Timezone property of the endpoint is set to - // a valid value. - // - // * The current time in the endpoint's time zone is later than or equal - // to the time specified by the QuietTime.Start property for the application - // (or a campaign that has custom quiet time settings). - // - // * The current time in the endpoint's time zone is earlier than or equal - // to the time specified by the QuietTime.End property for the application - // (or a campaign that has custom quiet time settings). - // - // If any of the preceding conditions isn't met, the endpoint will receive messages - // from a campaign, even if quiet time is enabled. - QuietTime *QuietTime `type:"structure"` +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse { + s.LastModifiedDate = &v + return s } -// String returns the string representation -func (s ApplicationSettingsResource) String() string { - return awsutil.Prettify(s) +// SetLimits sets the Limits field's value. +func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse { + s.Limits = v + return s } -// GoString returns the string representation -func (s ApplicationSettingsResource) GoString() string { - return s.String() +// SetMessageConfiguration sets the MessageConfiguration field's value. +func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse { + s.MessageConfiguration = v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource { - s.ApplicationId = &v +// SetName sets the Name field's value. +func (s *CampaignResponse) SetName(v string) *CampaignResponse { + s.Name = &v return s } -// SetCampaignHook sets the CampaignHook field's value. -func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource { - s.CampaignHook = v +// SetSchedule sets the Schedule field's value. +func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse { + s.Schedule = v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource { - s.LastModifiedDate = &v +// SetSegmentId sets the SegmentId field's value. +func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse { + s.SegmentId = &v return s } -// SetLimits sets the Limits field's value. -func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource { - s.Limits = v +// SetSegmentVersion sets the SegmentVersion field's value. +func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse { + s.SegmentVersion = &v return s } -// SetQuietTime sets the QuietTime field's value. -func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource { - s.QuietTime = v +// SetState sets the State field's value. +func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse { + s.State = v return s } -// Provides information about all of your applications. -type ApplicationsResponse struct { - _ struct{} `type:"structure"` - - // An array of responses, one for each application that was returned. - Item []*ApplicationResponse `type:"list"` - - // 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"` +// SetTags sets the Tags field's value. +func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse { + s.Tags = v + return s } -// String returns the string representation -func (s ApplicationsResponse) String() string { - return awsutil.Prettify(s) +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse { + s.TemplateConfiguration = v + return s } -// GoString returns the string representation -func (s ApplicationsResponse) GoString() string { - return s.String() +// SetTreatmentDescription sets the TreatmentDescription field's value. +func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse { + s.TreatmentDescription = &v + return s } -// SetItem sets the Item field's value. -func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse { - s.Item = v +// SetTreatmentName sets the TreatmentName field's value. +func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse { + s.TreatmentName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse { - s.NextToken = &v +// SetVersion sets the Version field's value. +func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse { + s.Version = &v return s } -// Specifies attribute-based criteria for including or excluding endpoints from -// a segment. -type AttributeDimension struct { +// Specifies the content and settings for an SMS message that's sent to recipients +// of a campaign. +type CampaignSmsMessage struct { _ struct{} `type:"structure"` - // The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints - // that match the criteria are included in the segment; and, EXCLUSIVE, endpoints - // that match the criteria are excluded from the segment. - AttributeType *string `type:"string" enum:"AttributeType"` + // The body of the SMS message. + Body *string `type:"string"` - // The criteria values to use for the segment dimension. Depending on the value - // of the AttributeType property, endpoints are included or excluded from the - // segment if their attribute values match the criteria values. - // - // Values is a required field - Values []*string `type:"list" required:"true"` + // The type of SMS message. Valid values are: TRANSACTIONAL, the message is + // critical or time-sensitive, such as a one-time password that supports a customer + // transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive, + // such as a marketing message. + MessageType *string `type:"string" enum:"MessageType"` + + // The sender ID to display on recipients' devices when they receive the SMS + // message. + SenderId *string `type:"string"` } // String returns the string representation -func (s AttributeDimension) String() string { +func (s CampaignSmsMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttributeDimension) GoString() string { +func (s CampaignSmsMessage) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AttributeDimension) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"} - if s.Values == nil { - invalidParams.Add(request.NewErrParamRequired("Values")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBody sets the Body field's value. +func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage { + s.Body = &v + return s } -// SetAttributeType sets the AttributeType field's value. -func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension { - s.AttributeType = &v +// SetMessageType sets the MessageType field's value. +func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage { + s.MessageType = &v return s } -// SetValues sets the Values field's value. -func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension { - s.Values = v +// SetSenderId sets the SenderId field's value. +func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage { + s.SenderId = &v return s } -// Provides information about the type and the names of attributes that were -// removed from all the endpoints that are associated with an application. -type AttributesResource struct { +// Provides information about the status of a campaign. +type CampaignState struct { _ struct{} `type:"structure"` - // The unique identifier for the application. - // - // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` - - // 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-metrics - Custom metrics that your app reports to Amazon - // Pinpoint for endpoints. - // - // * endpoint-user-attributes - Custom attributes that describe users. - // - // AttributeType is a required field - AttributeType *string `type:"string" required:"true"` - - // An array that specifies the names of the attributes that were removed from - // the endpoints. - Attributes []*string `type:"list"` + // The current status of the campaign, or the current status of a treatment + // that belongs to an A/B test campaign. If a campaign uses A/B testing, the + // campaign has a status of COMPLETED only if all campaign treatments have a + // status of COMPLETED. + CampaignStatus *string `type:"string" enum:"CampaignStatus"` } // String returns the string representation -func (s AttributesResource) String() string { +func (s CampaignState) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttributesResource) GoString() string { +func (s CampaignState) GoString() string { return s.String() } - -// SetApplicationId sets the ApplicationId field's value. -func (s *AttributesResource) SetApplicationId(v string) *AttributesResource { - s.ApplicationId = &v - return s -} - -// SetAttributeType sets the AttributeType field's value. -func (s *AttributesResource) SetAttributeType(v string) *AttributesResource { - s.AttributeType = &v - return s -} - -// SetAttributes sets the Attributes field's value. -func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource { - s.Attributes = v + +// SetCampaignStatus sets the CampaignStatus field's value. +func (s *CampaignState) SetCampaignStatus(v string) *CampaignState { + s.CampaignStatus = &v return s } -// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel -// for an application. -type BaiduChannelRequest struct { +// Provides information about the configuration and other settings for all the +// campaigns that are associated with an application. +type CampaignsResponse struct { _ struct{} `type:"structure"` - // The API key that you received from the Baidu Cloud Push service to communicate - // with the service. + // An array of responses, one for each campaign that's associated with the application. // - // ApiKey is a required field - ApiKey *string `type:"string" required:"true"` - - // Specifies whether to enable the Baidu channel for the application. - Enabled *bool `type:"boolean"` + // Item is a required field + Item []*CampaignResponse `type:"list" required:"true"` - // The secret key that you received from the Baidu Cloud Push service to communicate - // with the service. - // - // SecretKey is a required field - SecretKey *string `type:"string" 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 BaiduChannelRequest) String() string { +func (s CampaignsResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BaiduChannelRequest) GoString() string { +func (s CampaignsResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BaiduChannelRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"} - if s.ApiKey == nil { - invalidParams.Add(request.NewErrParamRequired("ApiKey")) - } - if s.SecretKey == nil { - invalidParams.Add(request.NewErrParamRequired("SecretKey")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetApiKey sets the ApiKey field's value. -func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest { - s.ApiKey = &v - return s -} - -// SetEnabled sets the Enabled field's value. -func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest { - s.Enabled = &v +// SetItem sets the Item field's value. +func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse { + s.Item = v return s } -// SetSecretKey sets the SecretKey field's value. -func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest { - s.SecretKey = &v +// SetNextToken sets the NextToken field's value. +func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse { + s.NextToken = &v return s } -// Provides information about the status and settings of the Baidu (Baidu Cloud -// Push) channel for an application. -type BaiduChannelResponse struct { +// Provides information about the general settings and status of a channel for +// an application. +type ChannelResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the Baidu channel applies - // to. + // The unique identifier for the application. ApplicationId *string `type:"string"` - // The date and time when the Baidu channel was enabled. + // The date and time, in ISO 8601 format, when the channel was enabled. CreationDate *string `type:"string"` - // The API key that you received from the Baidu Cloud Push service to communicate - // with the service. - // - // Credential is a required field - Credential *string `type:"string" required:"true"` - - // Specifies whether the Baidu channel is enabled for the application. + // Specifies whether the channel is enabled for the application. Enabled *bool `type:"boolean"` // (Not used) This property is retained only for backward compatibility. HasCredential *bool `type:"boolean"` - // (Deprecated) An identifier for the Baidu channel. This property is retained - // only for backward compatibility. + // (Deprecated) An identifier for the channel. This property is retained only + // for backward compatibility. Id *string `type:"string"` - // Specifies whether the Baidu channel is archived. + // Specifies whether the channel is archived. IsArchived *bool `type:"boolean"` - // The user who last modified the Baidu channel. + // The user who last modified the channel. LastModifiedBy *string `type:"string"` - // The date and time when the Baidu channel was last modified. + // The date and time, in ISO 8601 format, when the channel was last modified. LastModifiedDate *string `type:"string"` - // The type of messaging or notification platform for the channel. For the Baidu - // channel, this value is BAIDU. - // - // Platform is a required field - Platform *string `type:"string" required:"true"` - - // The current version of the Baidu channel. + // The current version of the channel. Version *int64 `type:"integer"` } // String returns the string representation -func (s BaiduChannelResponse) String() string { +func (s ChannelResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BaiduChannelResponse) GoString() string { +func (s ChannelResponse) GoString() string { return s.String() } // SetApplicationId sets the ApplicationId field's value. -func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse { +func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse { s.ApplicationId = &v return s } // SetCreationDate sets the CreationDate field's value. -func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse { +func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse { s.CreationDate = &v return s } -// SetCredential sets the Credential field's value. -func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse { - s.Credential = &v - return s -} - // SetEnabled sets the Enabled field's value. -func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse { +func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse { s.Enabled = &v return s } // SetHasCredential sets the HasCredential field's value. -func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse { +func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse { s.HasCredential = &v return s } // SetId sets the Id field's value. -func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse { +func (s *ChannelResponse) SetId(v string) *ChannelResponse { s.Id = &v return s } // SetIsArchived sets the IsArchived field's value. -func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse { +func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse { s.IsArchived = &v return s } // SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse { +func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse { s.LastModifiedBy = &v return s } // SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse { +func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse { s.LastModifiedDate = &v return s } -// SetPlatform sets the Platform field's value. -func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse { - s.Platform = &v - return s -} - // SetVersion sets the Version field's value. -func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse { +func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse { s.Version = &v return s } -// Specifies the settings for a one-time message that's sent directly to an -// endpoint through the Baidu (Baidu Cloud Push) channel. -type BaiduMessage struct { +// Provides information about the general settings and status of all channels +// for an application, including channels that aren't enabled for the application. +type ChannelsResponse struct { _ struct{} `type:"structure"` - // The action to occur if the recipient taps the push notification. 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. + // A map that contains a multipart response for each channel. For each item + // in this object, the ChannelType is the key and the Channel is the value. // - // * 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 body of the notification message. - Body *string `type:"string"` - - // The JSON data payload to use for the push notification, if the notification - // is a silent push notification. This payload is added to the data.pinpoint.jsonBody - // object of the notification. - Data map[string]*string `type:"map"` - - // The icon image name of the asset saved in your app. - IconReference *string `type:"string"` - - // The URL of the large icon image to display in the content view of the push - // notification. - ImageIconUrl *string `type:"string"` - - // The URL of an image to display in the push notification. - ImageUrl *string `type:"string"` - - // The raw, JSON-formatted string to use as the payload for the notification - // message. This value overrides the message. - 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 - // or supporting phone home functionality. - SilentPush *bool `type:"boolean"` - - // The URL of the small icon image to display in the status bar and the content - // view of the push notification. - SmallImageIconUrl *string `type:"string"` - - // The sound to play when the recipient receives the push notification. 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 default message variables to use in the notification message. You can - // override the default variables with individual address variables. - Substitutions map[string][]*string `type:"map"` - - // The amount of time, in seconds, that the Baidu Cloud Push service should - // store the message if the recipient's device is offline. The default value - // and maximum supported time is 604,800 seconds (7 days). - TimeToLive *int64 `type:"integer"` - - // The title to display above the notification message on the recipient's device. - Title *string `type:"string"` - - // The URL to open in the recipient's default mobile browser, if a recipient - // taps the push notification and the value of the Action property is URL. - Url *string `type:"string"` + // Channels is a required field + Channels map[string]*ChannelResponse `type:"map" required:"true"` } // String returns the string representation -func (s BaiduMessage) String() string { +func (s ChannelsResponse) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s BaiduMessage) GoString() string { - return s.String() -} - -// SetAction sets the Action field's value. -func (s *BaiduMessage) SetAction(v string) *BaiduMessage { - s.Action = &v - return s -} - -// SetBody sets the Body field's value. -func (s *BaiduMessage) SetBody(v string) *BaiduMessage { - s.Body = &v - return s -} - -// SetData sets the Data field's value. -func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage { - s.Data = v - return s -} - -// SetIconReference sets the IconReference field's value. -func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage { - s.IconReference = &v - return s -} - -// SetImageIconUrl sets the ImageIconUrl field's value. -func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage { - s.ImageIconUrl = &v - return s -} - -// SetImageUrl sets the ImageUrl field's value. -func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage { - s.ImageUrl = &v - return s -} - -// SetRawContent sets the RawContent field's value. -func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage { - s.RawContent = &v - return s +// GoString returns the string representation +func (s ChannelsResponse) GoString() string { + return s.String() } -// SetSilentPush sets the SilentPush field's value. -func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage { - s.SilentPush = &v +// SetChannels sets the Channels field's value. +func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse { + s.Channels = v return s } -// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. -func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage { - s.SmallImageIconUrl = &v - return s +// Specifies the conditions to evaluate for an activity in a journey, and how +// to evaluate those conditions. +type Condition struct { + _ struct{} `type:"structure"` + + // The conditions to evaluate for the activity. + Conditions []*SimpleCondition `type:"list"` + + // Specifies how to handle multiple conditions for the activity. For example, + // if you specify two conditions for an activity, whether both or only one of + // the conditions must be met for the activity to be performed. + Operator *string `type:"string" enum:"Operator"` } -// SetSound sets the Sound field's value. -func (s *BaiduMessage) SetSound(v string) *BaiduMessage { - s.Sound = &v - return s +// String returns the string representation +func (s Condition) String() string { + return awsutil.Prettify(s) } -// SetSubstitutions sets the Substitutions field's value. -func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage { - s.Substitutions = v - return s +// GoString returns the string representation +func (s Condition) GoString() string { + return s.String() } -// SetTimeToLive sets the TimeToLive field's value. -func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage { - s.TimeToLive = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *Condition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Condition"} + if s.Conditions != nil { + for i, v := range s.Conditions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTitle sets the Title field's value. -func (s *BaiduMessage) SetTitle(v string) *BaiduMessage { - s.Title = &v +// SetConditions sets the Conditions field's value. +func (s *Condition) SetConditions(v []*SimpleCondition) *Condition { + s.Conditions = v return s } -// SetUrl sets the Url field's value. -func (s *BaiduMessage) SetUrl(v string) *BaiduMessage { - s.Url = &v +// SetOperator sets the Operator field's value. +func (s *Condition) SetOperator(v string) *Condition { + s.Operator = &v return s } -// Provides the results of a query that retrieved the data for a standard metric -// that applies to an application or campaign. -type BaseKpiResult struct { +// Specifies the settings for a yes/no split activity in a journey. This type +// of activity sends participants down one of two paths in a journey, based +// on conditions that you specify. +type ConditionalSplitActivity struct { _ struct{} `type:"structure"` - // An array of objects that provides the results of a query that retrieved the - // data for a standard metric that applies to an application or campaign. - // - // Rows is a required field - Rows []*ResultRow `type:"list" required:"true"` + // The conditions that define the paths for the activity, and the relationship + // between the conditions. + Condition *Condition `type:"structure"` + + // The amount of time to wait before determining whether the conditions are + // met, or the date and time when Amazon Pinpoint determines whether the conditions + // are met. + EvaluationWaitTime *WaitTime `type:"structure"` + + // The unique identifier for the activity to perform if the condition isn't + // met. + FalseActivity *string `type:"string"` + + // The unique identifier for the activity to perform if the condition is met. + TrueActivity *string `type:"string"` } // String returns the string representation -func (s BaseKpiResult) String() string { +func (s ConditionalSplitActivity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BaseKpiResult) GoString() string { +func (s ConditionalSplitActivity) GoString() string { return s.String() } -// SetRows sets the Rows field's value. -func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult { - s.Rows = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConditionalSplitActivity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConditionalSplitActivity"} + if s.Condition != nil { + if err := s.Condition.Validate(); err != nil { + invalidParams.AddNested("Condition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Provides the results of a query that retrieved the data for a standard metric -// that applies to a campaign, and provides information about that query. -type CampaignDateRangeKpiResponse struct { - _ struct{} `type:"structure"` +// SetCondition sets the Condition field's value. +func (s *ConditionalSplitActivity) SetCondition(v *Condition) *ConditionalSplitActivity { + s.Condition = v + return s +} - // The unique identifier for the application that the metric applies to. - // - // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` +// SetEvaluationWaitTime sets the EvaluationWaitTime field's value. +func (s *ConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *ConditionalSplitActivity { + s.EvaluationWaitTime = v + return s +} - // The unique identifier for the campaign that the metric applies to. - // - // CampaignId is a required field - CampaignId *string `type:"string" required:"true"` +// SetFalseActivity sets the FalseActivity field's value. +func (s *ConditionalSplitActivity) SetFalseActivity(v string) *ConditionalSplitActivity { + s.FalseActivity = &v + return s +} - // EndTime is a required field - EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` +// SetTrueActivity sets the TrueActivity field's value. +func (s *ConditionalSplitActivity) SetTrueActivity(v string) *ConditionalSplitActivity { + s.TrueActivity = &v + return s +} - // The name of the metric, also referred to as a key performance indicator (KPI), - // 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 (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). - // - // KpiName is a required field - KpiName *string `type:"string" required:"true"` +type CreateAppInput struct { + _ struct{} `type:"structure" payload:"CreateApplicationRequest"` - // An array of objects that contains the results of the query. Each object contains - // the value for the metric and metadata about that value. + // Specifies the display name of an application and the tags to associate with + // the application. // - // KpiResult is a required field - 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 Campaign Metrics resource. - // The Campaign Metrics resource returns all results in a single page. - NextToken *string `type:"string"` - - // StartTime is a required field - StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + // CreateApplicationRequest is a required field + CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CampaignDateRangeKpiResponse) String() string { +func (s CreateAppInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignDateRangeKpiResponse) GoString() string { +func (s CreateAppInput) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse { - s.ApplicationId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"} + if s.CreateApplicationRequest == nil { + invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest")) + } + if s.CreateApplicationRequest != nil { + if err := s.CreateApplicationRequest.Validate(); err != nil { + invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams)) + } + } -// SetCampaignId sets the CampaignId field's value. -func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse { - s.CampaignId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEndTime sets the EndTime field's value. -func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse { - s.EndTime = &v +// SetCreateApplicationRequest sets the CreateApplicationRequest field's value. +func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput { + s.CreateApplicationRequest = v return s } -// SetKpiName sets the KpiName field's value. -func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse { - s.KpiName = &v - return s +type CreateAppOutput struct { + _ struct{} `type:"structure" payload:"ApplicationResponse"` + + // Provides information about an application. + // + // ApplicationResponse is a required field + ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` } -// SetKpiResult sets the KpiResult field's value. -func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse { - s.KpiResult = v - return s +// String returns the string representation +func (s CreateAppOutput) String() string { + return awsutil.Prettify(s) } -// SetNextToken sets the NextToken field's value. -func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse { - s.NextToken = &v - return s +// GoString returns the string representation +func (s CreateAppOutput) GoString() string { + return s.String() } -// SetStartTime sets the StartTime field's value. -func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse { - s.StartTime = &v +// SetApplicationResponse sets the ApplicationResponse field's value. +func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput { + s.ApplicationResponse = v return s } -// Specifies the content and "From" address for an email message that's sent -// to recipients of a campaign. -type CampaignEmailMessage struct { +// Specifies the display name of an application and the tags to associate with +// the application. +type CreateApplicationRequest struct { _ struct{} `type:"structure"` - // The body of the email for recipients whose email clients don't support HTML - // content. - Body *string `type:"string"` - - // The verified email address to send the email from. The default address is - // the FromAddress specified for the email channel for the application. - FromAddress *string `type:"string"` - - // The body of the email, in HTML format, for recipients whose email clients - // support HTML content. - HtmlBody *string `type:"string"` - - // The subject line, or title, of the email. + // The display name of the application. This name is displayed as the Project + // name on the Amazon Pinpoint console. // - // Title is a required field - Title *string `type:"string" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` + + // A string-to-string map of key-value pairs that defines the tags to associate + // with the application. 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 CampaignEmailMessage) String() string { +func (s CreateApplicationRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignEmailMessage) GoString() string { +func (s CreateApplicationRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CampaignEmailMessage) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CampaignEmailMessage"} - if s.Title == nil { - invalidParams.Add(request.NewErrParamRequired("Title")) +func (s *CreateApplicationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } if invalidParams.Len() > 0 { @@ -11545,69 +13447,55 @@ func (s *CampaignEmailMessage) Validate() error { return nil } -// SetBody sets the Body field's value. -func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage { - s.Body = &v - return s -} - -// SetFromAddress sets the FromAddress field's value. -func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage { - s.FromAddress = &v - return s -} - -// SetHtmlBody sets the HtmlBody field's value. -func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage { - s.HtmlBody = &v +// SetName sets the Name field's value. +func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest { + s.Name = &v return s } -// SetTitle sets the Title field's value. -func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage { - s.Title = &v +// SetTags sets the Tags field's value. +func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest { + s.Tags = v return s } -// Specifies the settings for events that cause a campaign to be sent. -type CampaignEventFilter struct { - _ struct{} `type:"structure"` +type CreateCampaignInput struct { + _ struct{} `type:"structure" payload:"WriteCampaignRequest"` - // The dimension settings of the event filter for the campaign. - // - // Dimensions is a required field - Dimensions *EventDimensions `type:"structure" required:"true"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // The type of event that causes the campaign to be sent. Valid values are: - // SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends - // the campaign when an endpoint event (Events resource) occurs. + // Specifies the configuration and other settings for a campaign. // - // FilterType is a required field - FilterType *string `type:"string" required:"true" enum:"FilterType"` + // WriteCampaignRequest is a required field + WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CampaignEventFilter) String() string { +func (s CreateCampaignInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignEventFilter) GoString() string { +func (s CreateCampaignInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CampaignEventFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"} - if s.Dimensions == nil { - invalidParams.Add(request.NewErrParamRequired("Dimensions")) +func (s *CreateCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.FilterType == nil { - invalidParams.Add(request.NewErrParamRequired("FilterType")) + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.Dimensions != nil { - if err := s.Dimensions.Validate(); err != nil { - invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams)) + if s.WriteCampaignRequest == nil { + invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest")) + } + if s.WriteCampaignRequest != nil { + if err := s.WriteCampaignRequest.Validate(); err != nil { + invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams)) } } @@ -11617,758 +13505,911 @@ func (s *CampaignEventFilter) Validate() error { return nil } -// SetDimensions sets the Dimensions field's value. -func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter { - s.Dimensions = v +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput { + s.ApplicationId = &v return s } -// SetFilterType sets the FilterType field's value. -func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter { - s.FilterType = &v +// SetWriteCampaignRequest sets the WriteCampaignRequest field's value. +func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput { + s.WriteCampaignRequest = v return s } -// Specifies the AWS Lambda function to use as a code hook for a campaign. -type CampaignHook struct { - _ struct{} `type:"structure"` - - // The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon - // Pinpoint invokes to send messages for a campaign. - LambdaFunctionName *string `type:"string"` - - // Specifies which Lambda mode to use when invoking the AWS Lambda function. - Mode *string `type:"string" enum:"Mode"` +type CreateCampaignOutput struct { + _ struct{} `type:"structure" payload:"CampaignResponse"` - // The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function - // over HTTPS. - WebUrl *string `type:"string"` + // Provides information about the status, configuration, and other settings + // for a campaign. + // + // CampaignResponse is a required field + CampaignResponse *CampaignResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CampaignHook) String() string { +func (s CreateCampaignOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignHook) GoString() string { +func (s CreateCampaignOutput) GoString() string { return s.String() } -// SetLambdaFunctionName sets the LambdaFunctionName field's value. -func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook { - s.LambdaFunctionName = &v - return s -} - -// SetMode sets the Mode field's value. -func (s *CampaignHook) SetMode(v string) *CampaignHook { - s.Mode = &v - return s -} - -// SetWebUrl sets the WebUrl field's value. -func (s *CampaignHook) SetWebUrl(v string) *CampaignHook { - s.WebUrl = &v +// SetCampaignResponse sets the CampaignResponse field's value. +func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput { + s.CampaignResponse = v return s } -// Specifies limits on the messages that a campaign can send. -type CampaignLimits struct { - _ struct{} `type:"structure"` - - // The maximum number of messages that a campaign can send to a single endpoint - // during a 24-hour period. The maximum value is 100. - Daily *int64 `type:"integer"` - - // The maximum amount of time, in seconds, that a campaign can attempt to deliver - // a message after the scheduled start time for the campaign. The minimum value - // is 60 seconds. - MaximumDuration *int64 `type:"integer"` +type CreateEmailTemplateInput struct { + _ struct{} `type:"structure" payload:"EmailTemplateRequest"` - // The maximum number of messages that a campaign can send each second. The - // minimum value is 50. The maximum value is 20,000. - MessagesPerSecond *int64 `type:"integer"` + // 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"` - // The maximum number of messages that a campaign can send to a single endpoint - // during the course of the campaign. The maximum value is 100. - Total *int64 `type:"integer"` + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` } // String returns the string representation -func (s CampaignLimits) String() string { +func (s CreateEmailTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignLimits) GoString() string { +func (s CreateEmailTemplateInput) GoString() string { return s.String() } -// SetDaily sets the Daily field's value. -func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits { - s.Daily = &v - return s -} +// 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)) + } -// SetMaximumDuration sets the MaximumDuration field's value. -func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits { - s.MaximumDuration = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMessagesPerSecond sets the MessagesPerSecond field's value. -func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits { - s.MessagesPerSecond = &v +// SetEmailTemplateRequest sets the EmailTemplateRequest field's value. +func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput { + s.EmailTemplateRequest = v return s } -// SetTotal sets the Total field's value. -func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits { - s.Total = &v +// SetTemplateName sets the TemplateName field's value. +func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput { + s.TemplateName = &v return s } -// Provides information about the status, configuration, and other settings -// for a campaign. -type CampaignResponse struct { - _ struct{} `type:"structure"` - - // An array of responses, one for each treatment that you defined for the campaign, - // in addition to the default treatment. - AdditionalTreatments []*TreatmentResource `type:"list"` - - // The unique identifier for the application that the campaign applies to. - // - // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` +type CreateEmailTemplateOutput struct { + _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` - // The Amazon Resource Name (ARN) of the campaign. + // Provides information about a request to create a message template. // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // CreateTemplateMessageBody is a required field + CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` +} - // The date, ISO 8601 format, when the campaign was created. - // - // CreationDate is a required field - CreationDate *string `type:"string" required:"true"` +// String returns the string representation +func (s CreateEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} - // The current status of the campaign's default treatment. This value exists - // only for campaigns that have more than one treatment, to support A/B testing. - DefaultState *CampaignState `type:"structure"` +// GoString returns the string representation +func (s CreateEmailTemplateOutput) GoString() string { + return s.String() +} - // The custom description of the campaign. - Description *string `type:"string"` +// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. +func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput { + s.CreateTemplateMessageBody = v + return s +} - // The allocated percentage of users (segment members) who shouldn't receive - // messages from the campaign. - HoldoutPercent *int64 `type:"integer"` +type CreateExportJobInput struct { + _ struct{} `type:"structure" payload:"ExportJobRequest"` - // The settings for the AWS Lambda function to use as a code hook for the campaign. - Hook *CampaignHook `type:"structure"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // The unique identifier for the campaign. + // Specifies the settings for a job that exports endpoint definitions to an + // Amazon Simple Storage Service (Amazon S3) bucket. // - // Id is a required field - Id *string `type:"string" required:"true"` + // ExportJobRequest is a required field + ExportJobRequest *ExportJobRequest `type:"structure" required:"true"` +} - // Specifies whether the campaign is paused. A paused campaign doesn't run unless - // you resume it by changing this value to false. - IsPaused *bool `type:"boolean"` +// String returns the string representation +func (s CreateExportJobInput) String() string { + return awsutil.Prettify(s) +} - // The date, in ISO 8601 format, when the campaign was last modified. - // - // LastModifiedDate is a required field - LastModifiedDate *string `type:"string" required:"true"` +// GoString returns the string representation +func (s CreateExportJobInput) GoString() string { + return s.String() +} - // The messaging limits for the campaign. - Limits *CampaignLimits `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateExportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ExportJobRequest == nil { + invalidParams.Add(request.NewErrParamRequired("ExportJobRequest")) + } + if s.ExportJobRequest != nil { + if err := s.ExportJobRequest.Validate(); err != nil { + invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams)) + } + } - // The message configuration settings for the campaign. - MessageConfiguration *MessageConfiguration `type:"structure"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The name of the campaign. - Name *string `type:"string"` +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput { + s.ApplicationId = &v + return s +} - // The schedule settings for the campaign. - Schedule *Schedule `type:"structure"` +// SetExportJobRequest sets the ExportJobRequest field's value. +func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput { + s.ExportJobRequest = v + return s +} - // The unique identifier for the segment that's associated with the campaign. - // - // SegmentId is a required field - SegmentId *string `type:"string" required:"true"` +type CreateExportJobOutput struct { + _ struct{} `type:"structure" payload:"ExportJobResponse"` - // The version number of the segment that's associated with the campaign. + // Provides information about the status and settings of a job that exports + // endpoint definitions to a file. The file can be added directly to an Amazon + // Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API + // or downloaded directly to a computer by using the Amazon Pinpoint console. // - // SegmentVersion is a required field - SegmentVersion *int64 `type:"integer" required:"true"` + // ExportJobResponse is a required field + ExportJobResponse *ExportJobResponse `type:"structure" required:"true"` +} - // The current status of the campaign. - State *CampaignState `type:"structure"` +// String returns the string representation +func (s CreateExportJobOutput) String() string { + return awsutil.Prettify(s) +} - // A string-to-string map of key-value pairs that identifies the tags that are - // associated with the campaign. Each tag consists of a required tag key and - // an associated tag value. - Tags map[string]*string `locationName:"tags" type:"map"` +// GoString returns the string representation +func (s CreateExportJobOutput) GoString() string { + return s.String() +} - // The message template that’s used for the campaign. - TemplateConfiguration *TemplateConfiguration `type:"structure"` +// SetExportJobResponse sets the ExportJobResponse field's value. +func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput { + s.ExportJobResponse = v + return s +} - // The custom description of a variation of the campaign that's used for A/B - // testing. - TreatmentDescription *string `type:"string"` +type CreateImportJobInput struct { + _ struct{} `type:"structure" payload:"ImportJobRequest"` - // The custom name of a variation of the campaign that's used for A/B testing. - TreatmentName *string `type:"string"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // The version number of the campaign. - Version *int64 `type:"integer"` + // Specifies the settings for a job that imports endpoint definitions from an + // Amazon Simple Storage Service (Amazon S3) bucket. + // + // ImportJobRequest is a required field + ImportJobRequest *ImportJobRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CampaignResponse) String() string { +func (s CreateImportJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignResponse) GoString() string { +func (s CreateImportJobInput) GoString() string { return s.String() } -// SetAdditionalTreatments sets the AdditionalTreatments field's value. -func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse { - s.AdditionalTreatments = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.ImportJobRequest == nil { + invalidParams.Add(request.NewErrParamRequired("ImportJobRequest")) + } + if s.ImportJobRequest != nil { + if err := s.ImportJobRequest.Validate(); err != nil { + invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetApplicationId sets the ApplicationId field's value. -func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse { +func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput { s.ApplicationId = &v return s } -// SetArn sets the Arn field's value. -func (s *CampaignResponse) SetArn(v string) *CampaignResponse { - s.Arn = &v +// SetImportJobRequest sets the ImportJobRequest field's value. +func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput { + s.ImportJobRequest = v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse { - s.CreationDate = &v - return s +type CreateImportJobOutput struct { + _ struct{} `type:"structure" payload:"ImportJobResponse"` + + // Provides information about the status and settings of a job that imports + // endpoint definitions from one or more files. The files can be stored in an + // Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from + // a computer by using the Amazon Pinpoint console. + // + // ImportJobResponse is a required field + ImportJobResponse *ImportJobResponse `type:"structure" required:"true"` } -// SetDefaultState sets the DefaultState field's value. -func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse { - s.DefaultState = v - return s +// String returns the string representation +func (s CreateImportJobOutput) String() string { + return awsutil.Prettify(s) } -// SetDescription sets the Description field's value. -func (s *CampaignResponse) SetDescription(v string) *CampaignResponse { - s.Description = &v - return s +// GoString returns the string representation +func (s CreateImportJobOutput) GoString() string { + return s.String() } -// SetHoldoutPercent sets the HoldoutPercent field's value. -func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse { - s.HoldoutPercent = &v +// SetImportJobResponse sets the ImportJobResponse field's value. +func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput { + s.ImportJobResponse = v return s } -// SetHook sets the Hook field's value. -func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse { - s.Hook = v - return s +type CreateJourneyInput struct { + _ struct{} `type:"structure" payload:"WriteJourneyRequest"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // Specifies the configuration and other settings for a journey. + // + // WriteJourneyRequest is a required field + WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"` } -// SetId sets the Id field's value. -func (s *CampaignResponse) SetId(v string) *CampaignResponse { - s.Id = &v - return s +// String returns the string representation +func (s CreateJourneyInput) String() string { + return awsutil.Prettify(s) } -// SetIsPaused sets the IsPaused field's value. -func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse { - s.IsPaused = &v - return s +// GoString returns the string representation +func (s CreateJourneyInput) GoString() string { + return s.String() } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse { - s.LastModifiedDate = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJourneyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJourneyInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.WriteJourneyRequest == nil { + invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest")) + } + if s.WriteJourneyRequest != nil { + if err := s.WriteJourneyRequest.Validate(); err != nil { + invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLimits sets the Limits field's value. -func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse { - s.Limits = v +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateJourneyInput) SetApplicationId(v string) *CreateJourneyInput { + s.ApplicationId = &v return s } -// SetMessageConfiguration sets the MessageConfiguration field's value. -func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse { - s.MessageConfiguration = v +// SetWriteJourneyRequest sets the WriteJourneyRequest field's value. +func (s *CreateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *CreateJourneyInput { + s.WriteJourneyRequest = v return s } -// SetName sets the Name field's value. -func (s *CampaignResponse) SetName(v string) *CampaignResponse { - s.Name = &v - return s +type CreateJourneyOutput struct { + _ struct{} `type:"structure" payload:"JourneyResponse"` + + // Provides information about the status, configuration, and other settings + // for a journey. + // + // JourneyResponse is a required field + JourneyResponse *JourneyResponse `type:"structure" required:"true"` } -// SetSchedule sets the Schedule field's value. -func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse { - s.Schedule = v - return s +// String returns the string representation +func (s CreateJourneyOutput) String() string { + return awsutil.Prettify(s) } -// SetSegmentId sets the SegmentId field's value. -func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse { - s.SegmentId = &v - return s +// GoString returns the string representation +func (s CreateJourneyOutput) GoString() string { + return s.String() } -// SetSegmentVersion sets the SegmentVersion field's value. -func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse { - s.SegmentVersion = &v +// SetJourneyResponse sets the JourneyResponse field's value. +func (s *CreateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *CreateJourneyOutput { + s.JourneyResponse = v return s } -// SetState sets the State field's value. -func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse { - s.State = v +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 } -// SetTags sets the Tags field's value. -func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse { - s.Tags = v +// SetTemplateName sets the TemplateName field's value. +func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput { + s.TemplateName = &v return s } -// SetTemplateConfiguration sets the TemplateConfiguration field's value. -func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse { - s.TemplateConfiguration = v - return s +type CreatePushTemplateOutput struct { + _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` + + // Provides information about a request to create a message template. + // + // CreateTemplateMessageBody is a required field + CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` } -// SetTreatmentDescription sets the TreatmentDescription field's value. -func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse { - s.TreatmentDescription = &v - return s +// String returns the string representation +func (s CreatePushTemplateOutput) String() string { + return awsutil.Prettify(s) } -// SetTreatmentName sets the TreatmentName field's value. -func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse { - s.TreatmentName = &v - return s +// GoString returns the string representation +func (s CreatePushTemplateOutput) GoString() string { + return s.String() } -// SetVersion sets the Version field's value. -func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse { - s.Version = &v +// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. +func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput { + s.CreateTemplateMessageBody = v return s } -// Specifies the content and settings for an SMS message that's sent to recipients -// of a campaign. -type CampaignSmsMessage struct { - _ struct{} `type:"structure"` - - // The body of the SMS message. - Body *string `type:"string"` +type CreateSegmentInput struct { + _ struct{} `type:"structure" payload:"WriteSegmentRequest"` - // The type of SMS message. Valid values are: TRANSACTIONAL, the message is - // critical or time-sensitive, such as a one-time password that supports a customer - // transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive, - // such as a marketing message. - MessageType *string `type:"string" enum:"MessageType"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // The sender ID to display on recipients' devices when they receive the SMS - // message. - SenderId *string `type:"string"` + // Specifies the configuration, dimension, and other settings for a segment. + // A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups + // object, but not both. + // + // WriteSegmentRequest is a required field + WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CampaignSmsMessage) String() string { +func (s CreateSegmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignSmsMessage) GoString() string { +func (s CreateSegmentInput) GoString() string { return s.String() } -// SetBody sets the Body field's value. -func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage { - s.Body = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSegmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.WriteSegmentRequest == nil { + invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest")) + } + if s.WriteSegmentRequest != nil { + if err := s.WriteSegmentRequest.Validate(); err != nil { + invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMessageType sets the MessageType field's value. -func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage { - s.MessageType = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput { + s.ApplicationId = &v return s } -// SetSenderId sets the SenderId field's value. -func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage { - s.SenderId = &v +// SetWriteSegmentRequest sets the WriteSegmentRequest field's value. +func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput { + s.WriteSegmentRequest = v return s } -// Provides information about the status of a campaign. -type CampaignState struct { - _ struct{} `type:"structure"` +type CreateSegmentOutput struct { + _ struct{} `type:"structure" payload:"SegmentResponse"` - // The status of the campaign, or the status of a treatment that belongs to - // an A/B test campaign. If a campaign uses A/B testing, the campaign has a - // status of COMPLETED only when all campaign treatments have a status of COMPLETED. - CampaignStatus *string `type:"string" enum:"CampaignStatus"` + // Provides information about the configuration, dimension, and other settings + // for a segment. + // + // SegmentResponse is a required field + SegmentResponse *SegmentResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CampaignState) String() string { +func (s CreateSegmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignState) GoString() string { +func (s CreateSegmentOutput) GoString() string { return s.String() } -// SetCampaignStatus sets the CampaignStatus field's value. -func (s *CampaignState) SetCampaignStatus(v string) *CampaignState { - s.CampaignStatus = &v +// SetSegmentResponse sets the SegmentResponse field's value. +func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput { + s.SegmentResponse = v return s } -// Provides information about the configuration and other settings for all the -// campaigns that are associated with an application. -type CampaignsResponse struct { - _ struct{} `type:"structure"` +type CreateSmsTemplateInput struct { + _ struct{} `type:"structure" payload:"SMSTemplateRequest"` - // An array of responses, one for each campaign that's associated with the application. + // Specifies the content and settings for a message template that can be used + // in text messages that are sent through the SMS channel. // - // Item is a required field - Item []*CampaignResponse `type:"list" required:"true"` + // SMSTemplateRequest is a required field + SMSTemplateRequest *SMSTemplateRequest `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 if there are no additional pages. - NextToken *string `type:"string"` + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` } // String returns the string representation -func (s CampaignsResponse) String() string { +func (s CreateSmsTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CampaignsResponse) GoString() string { +func (s CreateSmsTemplateInput) GoString() string { return s.String() } -// SetItem sets the Item field's value. -func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse { - s.Item = v - return s +// 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 } -// SetNextToken sets the NextToken field's value. -func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse { - s.NextToken = &v +// SetSMSTemplateRequest sets the SMSTemplateRequest field's value. +func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput { + s.SMSTemplateRequest = v return s } -// Provides information about the general settings and status of a channel for -// an application. -type ChannelResponse struct { - _ struct{} `type:"structure"` - - // The unique identifier for the application. - ApplicationId *string `type:"string"` - - // The date and time, in ISO 8601 format, when the channel was enabled. - CreationDate *string `type:"string"` - - // Specifies whether the channel is enabled for the application. - Enabled *bool `type:"boolean"` - - // (Not used) This property is retained only for backward compatibility. - HasCredential *bool `type:"boolean"` - - // (Deprecated) An identifier for the channel. This property is retained only - // for backward compatibility. - Id *string `type:"string"` - - // Specifies whether the channel is archived. - IsArchived *bool `type:"boolean"` - - // The user who last modified the channel. - LastModifiedBy *string `type:"string"` +// SetTemplateName sets the TemplateName field's value. +func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput { + s.TemplateName = &v + return s +} - // The date and time, in ISO 8601 format, when the channel was last modified. - LastModifiedDate *string `type:"string"` +type CreateSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` - // The current version of the channel. - Version *int64 `type:"integer"` + // Provides information about a request to create a message template. + // + // CreateTemplateMessageBody is a required field + CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` } // String returns the string representation -func (s ChannelResponse) String() string { +func (s CreateSmsTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ChannelResponse) GoString() string { +func (s CreateSmsTemplateOutput) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse { - s.ApplicationId = &v +// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. +func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput { + s.CreateTemplateMessageBody = v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse { - s.CreationDate = &v - return s -} +// Provides information about a request to create a message template. +type CreateTemplateMessageBody struct { + _ struct{} `type:"structure"` -// SetEnabled sets the Enabled field's value. -func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse { - s.Enabled = &v - return s -} + // The Amazon Resource Name (ARN) of the message template that was created. + Arn *string `type:"string"` -// SetHasCredential sets the HasCredential field's value. -func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse { - s.HasCredential = &v - return s -} + // The message that's returned from the API for the request to create the message + // template. + Message *string `type:"string"` -// SetId sets the Id field's value. -func (s *ChannelResponse) SetId(v string) *ChannelResponse { - s.Id = &v - return s + // The unique identifier for the request to create the message template. + RequestID *string `type:"string"` } -// SetIsArchived sets the IsArchived field's value. -func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse { - s.IsArchived = &v - return s +// String returns the string representation +func (s CreateTemplateMessageBody) String() string { + return awsutil.Prettify(s) } -// SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse { - s.LastModifiedBy = &v +// 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 } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse { - s.LastModifiedDate = &v +// SetMessage sets the Message field's value. +func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody { + s.Message = &v return s } -// SetVersion sets the Version field's value. -func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse { - s.Version = &v +// SetRequestID sets the RequestID field's value. +func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody { + s.RequestID = &v return s } -// Provides information about the general settings and status of all channels -// for an application, including channels that aren't enabled for the application. -type ChannelsResponse struct { +// Specifies the default message to use for all channels. +type DefaultMessage struct { _ struct{} `type:"structure"` - // A map that contains a multipart response for each channel. For each item - // in this object, the ChannelType is the key and the Channel is the value. - // - // Channels is a required field - Channels map[string]*ChannelResponse `type:"map" required:"true"` + // The default message body of the push notification, email, or SMS message. + Body *string `type:"string"` + + // The default message variables to use in the push notification, email, or + // SMS message. You can override these default variables with individual address + // variables. + Substitutions map[string][]*string `type:"map"` } // String returns the string representation -func (s ChannelsResponse) String() string { +func (s DefaultMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ChannelsResponse) GoString() string { +func (s DefaultMessage) GoString() string { return s.String() } -// SetChannels sets the Channels field's value. -func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse { - s.Channels = v +// SetBody sets the Body field's value. +func (s *DefaultMessage) SetBody(v string) *DefaultMessage { + s.Body = &v return s } -type CreateAppInput struct { - _ struct{} `type:"structure" payload:"CreateApplicationRequest"` +// SetSubstitutions sets the Substitutions field's value. +func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage { + s.Substitutions = v + return s +} - // Specifies the display name of an application and the tags to associate with - // the application. +// Specifies the default settings and content for a push notification that's +// sent directly to an endpoint. +type DefaultPushNotificationMessage struct { + _ struct{} `type:"structure"` + + // The default action to occur if a recipient taps the push notification. Valid + // values are: // - // CreateApplicationRequest is a required field - CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"` + // * 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 default body of the notification message. + Body *string `type:"string"` + + // The JSON data payload to use for the default push notification, if the notification + // is a silent push notification. This payload is added to the data.pinpoint.jsonBody + // object of the notification. + Data map[string]*string `type:"map"` + + // Specifies whether the default 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 or delivering messages to an in-app notification center. + SilentPush *bool `type:"boolean"` + + // The default message variables to use in the notification message. You can + // override the default variables with individual address variables. + Substitutions map[string][]*string `type:"map"` + + // The default title to display above the notification message on a recipient's + // device. + Title *string `type:"string"` + + // The default URL to open in a recipient's default mobile browser, if a recipient + // taps the push notification and the value of the Action property is URL. + Url *string `type:"string"` } // String returns the string representation -func (s CreateAppInput) String() string { +func (s DefaultPushNotificationMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateAppInput) GoString() string { +func (s DefaultPushNotificationMessage) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAppInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"} - if s.CreateApplicationRequest == nil { - invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest")) - } - if s.CreateApplicationRequest != nil { - if err := s.CreateApplicationRequest.Validate(); err != nil { - invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAction sets the Action field's value. +func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage { + s.Action = &v + return s } -// SetCreateApplicationRequest sets the CreateApplicationRequest field's value. -func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput { - s.CreateApplicationRequest = v +// SetBody sets the Body field's value. +func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage { + s.Body = &v return s } -type CreateAppOutput struct { - _ struct{} `type:"structure" payload:"ApplicationResponse"` +// SetData sets the Data field's value. +func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage { + s.Data = v + return s +} - // Provides information about an application. - // - // ApplicationResponse is a required field - ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` +// SetSilentPush sets the SilentPush field's value. +func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage { + s.SilentPush = &v + return s } -// String returns the string representation -func (s CreateAppOutput) String() string { - return awsutil.Prettify(s) +// SetSubstitutions sets the Substitutions field's value. +func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage { + s.Substitutions = v + return s } -// GoString returns the string representation -func (s CreateAppOutput) GoString() string { - return s.String() +// SetTitle sets the Title field's value. +func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage { + s.Title = &v + return s } -// SetApplicationResponse sets the ApplicationResponse field's value. -func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput { - s.ApplicationResponse = v +// SetUrl sets the Url field's value. +func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage { + s.Url = &v return s } -// Specifies the display name of an application and the tags to associate with -// the application. -type CreateApplicationRequest struct { +// Specifies the default settings and content for a message template that can +// be used in messages that are sent through a push notification channel. +type DefaultPushNotificationTemplate struct { _ struct{} `type:"structure"` - // The display name of the application. This name is displayed as the Project - // name on the Amazon Pinpoint console. + // The action to occur if a recipient taps a push notification that's based + // on the message template. Valid values are: // - // Name is a required field - Name *string `type:"string" required:"true"` + // * 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"` - // A string-to-string map of key-value pairs that defines the tags to associate - // with the application. Each tag consists of a required tag key and an associated - // tag value. - Tags map[string]*string `locationName:"tags" type:"map"` + // 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 CreateApplicationRequest) String() string { +func (s DefaultPushNotificationTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateApplicationRequest) GoString() string { +func (s DefaultPushNotificationTemplate) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateApplicationRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } +// SetAction sets the Action field's value. +func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate { + s.Action = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBody sets the Body field's value. +func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate { + s.Body = &v + return s } -// SetName sets the Name field's value. -func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest { - s.Name = &v +// 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 } -// SetTags sets the Tags field's value. -func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest { - s.Tags = v +// SetUrl sets the Url field's value. +func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate { + s.Url = &v return s } -type CreateCampaignInput struct { - _ struct{} `type:"structure" payload:"WriteCampaignRequest"` +type DeleteAdmChannelInput struct { + _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // Specifies the configuration and other settings for a campaign. - // - // WriteCampaignRequest is a required field - WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CreateCampaignInput) String() string { +func (s DeleteAdmChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCampaignInput) GoString() string { +func (s DeleteAdmChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCampaignInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"} +func (s *DeleteAdmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.WriteCampaignRequest == nil { - invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest")) - } - if s.WriteCampaignRequest != nil { - if err := s.WriteCampaignRequest.Validate(); err != nil { - invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -12377,77 +14418,62 @@ func (s *CreateCampaignInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput { +func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput { s.ApplicationId = &v return s } -// SetWriteCampaignRequest sets the WriteCampaignRequest field's value. -func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput { - s.WriteCampaignRequest = v - return s -} - -type CreateCampaignOutput struct { - _ struct{} `type:"structure" payload:"CampaignResponse"` +type DeleteAdmChannelOutput struct { + _ struct{} `type:"structure" payload:"ADMChannelResponse"` - // Provides information about the status, configuration, and other settings - // for a campaign. + // Provides information about the status and settings of the ADM (Amazon Device + // Messaging) channel for an application. // - // CampaignResponse is a required field - CampaignResponse *CampaignResponse `type:"structure" required:"true"` + // ADMChannelResponse is a required field + ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreateCampaignOutput) String() string { +func (s DeleteAdmChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCampaignOutput) GoString() string { +func (s DeleteAdmChannelOutput) GoString() string { return s.String() } -// SetCampaignResponse sets the CampaignResponse field's value. -func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput { - s.CampaignResponse = v +// SetADMChannelResponse sets the ADMChannelResponse field's value. +func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput { + s.ADMChannelResponse = v return s } -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"` +type DeleteApnsChannelInput struct { + _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s CreateEmailTemplateInput) String() string { +func (s DeleteApnsChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateEmailTemplateInput) GoString() string { +func (s DeleteApnsChannelInput) 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")) +func (s *DeleteApnsChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.TemplateName != nil && len(*s.TemplateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } if invalidParams.Len() > 0 { @@ -12456,83 +14482,64 @@ func (s *CreateEmailTemplateInput) Validate() error { 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 +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput { + s.ApplicationId = &v return s } -type CreateEmailTemplateOutput struct { - _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` +type DeleteApnsChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSChannelResponse"` - // Provides information about an API request or response. + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) channel for an application. // - // CreateTemplateMessageBody is a required field - CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` + // APNSChannelResponse is a required field + APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreateEmailTemplateOutput) String() string { +func (s DeleteApnsChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateEmailTemplateOutput) GoString() string { +func (s DeleteApnsChannelOutput) GoString() string { return s.String() } -// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. -func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput { - s.CreateTemplateMessageBody = v +// SetAPNSChannelResponse sets the APNSChannelResponse field's value. +func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput { + s.APNSChannelResponse = v return s } -type CreateExportJobInput struct { - _ struct{} `type:"structure" payload:"ExportJobRequest"` +type DeleteApnsSandboxChannelInput struct { + _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // Specifies the settings for a job that exports endpoint definitions to an - // Amazon Simple Storage Service (Amazon S3) bucket. - // - // ExportJobRequest is a required field - ExportJobRequest *ExportJobRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CreateExportJobInput) String() string { +func (s DeleteApnsSandboxChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateExportJobInput) GoString() string { +func (s DeleteApnsSandboxChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateExportJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"} +func (s *DeleteApnsSandboxChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.ExportJobRequest == nil { - invalidParams.Add(request.NewErrParamRequired("ExportJobRequest")) - } - if s.ExportJobRequest != nil { - if err := s.ExportJobRequest.Validate(); err != nil { - invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -12541,85 +14548,63 @@ func (s *CreateExportJobInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput { +func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput { s.ApplicationId = &v return s } -// SetExportJobRequest sets the ExportJobRequest field's value. -func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput { - s.ExportJobRequest = v - return s -} - -type CreateExportJobOutput struct { - _ struct{} `type:"structure" payload:"ExportJobResponse"` +type DeleteApnsSandboxChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` - // Provides information about the status and settings of a job that exports - // endpoint definitions to a file. The file can be added directly to an Amazon - // Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API - // or downloaded directly to a computer by using the Amazon Pinpoint console. + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) sandbox channel for an application. // - // ExportJobResponse is a required field - ExportJobResponse *ExportJobResponse `type:"structure" required:"true"` + // APNSSandboxChannelResponse is a required field + APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreateExportJobOutput) String() string { +func (s DeleteApnsSandboxChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateExportJobOutput) GoString() string { +func (s DeleteApnsSandboxChannelOutput) GoString() string { return s.String() } -// SetExportJobResponse sets the ExportJobResponse field's value. -func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput { - s.ExportJobResponse = v +// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value. +func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput { + s.APNSSandboxChannelResponse = v return s } -type CreateImportJobInput struct { - _ struct{} `type:"structure" payload:"ImportJobRequest"` +type DeleteApnsVoipChannelInput struct { + _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // Specifies the settings for a job that imports endpoint definitions from an - // Amazon Simple Storage Service (Amazon S3) bucket. - // - // ImportJobRequest is a required field - ImportJobRequest *ImportJobRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CreateImportJobInput) String() string { +func (s DeleteApnsVoipChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateImportJobInput) GoString() string { +func (s DeleteApnsVoipChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateImportJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"} +func (s *DeleteApnsVoipChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.ImportJobRequest == nil { - invalidParams.Add(request.NewErrParamRequired("ImportJobRequest")) - } - if s.ImportJobRequest != nil { - if err := s.ImportJobRequest.Validate(); err != nil { - invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -12628,79 +14613,62 @@ func (s *CreateImportJobInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput { +func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput { s.ApplicationId = &v return s } -// SetImportJobRequest sets the ImportJobRequest field's value. -func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput { - s.ImportJobRequest = v - return s -} - -type CreateImportJobOutput struct { - _ struct{} `type:"structure" payload:"ImportJobResponse"` +type DeleteApnsVoipChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSVoipChannelResponse"` - // Provides information about the status and settings of a job that imports - // endpoint definitions from one or more files. The files can be stored in an - // Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from - // a computer by using the Amazon Pinpoint console. + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) VoIP channel for an application. // - // ImportJobResponse is a required field - ImportJobResponse *ImportJobResponse `type:"structure" required:"true"` + // APNSVoipChannelResponse is a required field + APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreateImportJobOutput) String() string { +func (s DeleteApnsVoipChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateImportJobOutput) GoString() string { +func (s DeleteApnsVoipChannelOutput) GoString() string { return s.String() } -// SetImportJobResponse sets the ImportJobResponse field's value. -func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput { - s.ImportJobResponse = v +// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value. +func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput { + s.APNSVoipChannelResponse = v 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"` +type DeleteApnsVoipSandboxChannelInput struct { + _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s CreatePushTemplateInput) String() string { +func (s DeleteApnsVoipSandboxChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePushTemplateInput) GoString() string { +func (s DeleteApnsVoipSandboxChannelInput) 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")) +func (s *DeleteApnsVoipSandboxChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.TemplateName != nil && len(*s.TemplateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } if invalidParams.Len() > 0 { @@ -12709,84 +14677,64 @@ func (s *CreatePushTemplateInput) Validate() error { 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 +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput { + s.ApplicationId = &v return s } -type CreatePushTemplateOutput struct { - _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` +type DeleteApnsVoipSandboxChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"` - // Provides information about an API request or response. + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) VoIP sandbox channel for an application. // - // CreateTemplateMessageBody is a required field - CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` + // APNSVoipSandboxChannelResponse is a required field + APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreatePushTemplateOutput) String() string { +func (s DeleteApnsVoipSandboxChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePushTemplateOutput) GoString() string { +func (s DeleteApnsVoipSandboxChannelOutput) GoString() string { return s.String() } -// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. -func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput { - s.CreateTemplateMessageBody = v +// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value. +func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput { + s.APNSVoipSandboxChannelResponse = v return s } -type CreateSegmentInput struct { - _ struct{} `type:"structure" payload:"WriteSegmentRequest"` +type DeleteAppInput struct { + _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // Specifies the configuration, dimension, and other settings for a segment. - // A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups - // object, but not both. - // - // WriteSegmentRequest is a required field - WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"` } // String returns the string representation -func (s CreateSegmentInput) String() string { +func (s DeleteAppInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSegmentInput) GoString() string { +func (s DeleteAppInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSegmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"} +func (s *DeleteAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.WriteSegmentRequest == nil { - invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest")) - } - if s.WriteSegmentRequest != nil { - if err := s.WriteSegmentRequest.Validate(); err != nil { - invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -12795,77 +14743,61 @@ func (s *CreateSegmentInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput { +func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput { s.ApplicationId = &v return s } -// SetWriteSegmentRequest sets the WriteSegmentRequest field's value. -func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput { - s.WriteSegmentRequest = v - return s -} - -type CreateSegmentOutput struct { - _ struct{} `type:"structure" payload:"SegmentResponse"` +type DeleteAppOutput struct { + _ struct{} `type:"structure" payload:"ApplicationResponse"` - // Provides information about the configuration, dimension, and other settings - // for a segment. + // Provides information about an application. // - // SegmentResponse is a required field - SegmentResponse *SegmentResponse `type:"structure" required:"true"` + // ApplicationResponse is a required field + ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreateSegmentOutput) String() string { +func (s DeleteAppOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSegmentOutput) GoString() string { +func (s DeleteAppOutput) GoString() string { return s.String() } -// SetSegmentResponse sets the SegmentResponse field's value. -func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput { - s.SegmentResponse = v +// SetApplicationResponse sets the ApplicationResponse field's value. +func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput { + s.ApplicationResponse = v 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"` +type DeleteBaiduChannelInput struct { + _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s CreateSmsTemplateInput) String() string { +func (s DeleteBaiduChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSmsTemplateInput) GoString() string { +func (s DeleteBaiduChannelInput) 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")) +func (s *DeleteBaiduChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.TemplateName != nil && len(*s.TemplateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } if invalidParams.Len() > 0 { @@ -12874,300 +14806,327 @@ func (s *CreateSmsTemplateInput) Validate() error { 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 +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput { + s.ApplicationId = &v return s } -type CreateSmsTemplateOutput struct { - _ struct{} `type:"structure" payload:"CreateTemplateMessageBody"` +type DeleteBaiduChannelOutput struct { + _ struct{} `type:"structure" payload:"BaiduChannelResponse"` - // Provides information about an API request or response. + // Provides information about the status and settings of the Baidu (Baidu Cloud + // Push) channel for an application. // - // CreateTemplateMessageBody is a required field - CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"` + // BaiduChannelResponse is a required field + BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s CreateSmsTemplateOutput) String() string { +func (s DeleteBaiduChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSmsTemplateOutput) GoString() string { +func (s DeleteBaiduChannelOutput) GoString() string { return s.String() } -// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value. -func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput { - s.CreateTemplateMessageBody = v +// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. +func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput { + s.BaiduChannelResponse = v return s } -// Provides information about an API request or response. -type CreateTemplateMessageBody struct { +type DeleteCampaignInput struct { _ struct{} `type:"structure"` - Arn *string `type:"string"` - - Message *string `type:"string"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - RequestID *string `type:"string"` + // CampaignId is a required field + CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` } // String returns the string representation -func (s CreateTemplateMessageBody) String() string { +func (s DeleteCampaignInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateMessageBody) GoString() string { +func (s DeleteCampaignInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.CampaignId == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignId")) + } + if s.CampaignId != nil && len(*s.CampaignId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput { + s.ApplicationId = &v return s } -// SetMessage sets the Message field's value. -func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody { - s.Message = &v +// SetCampaignId sets the CampaignId field's value. +func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput { + s.CampaignId = &v return s } -// SetRequestID sets the RequestID field's value. -func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody { - s.RequestID = &v +type DeleteCampaignOutput struct { + _ struct{} `type:"structure" payload:"CampaignResponse"` + + // Provides information about the status, configuration, and other settings + // for a campaign. + // + // CampaignResponse is a required field + CampaignResponse *CampaignResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteCampaignOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCampaignOutput) GoString() string { + return s.String() +} + +// SetCampaignResponse sets the CampaignResponse field's value. +func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput { + s.CampaignResponse = v return s } -// Specifies the default message to use for all channels. -type DefaultMessage struct { +type DeleteEmailChannelInput struct { _ struct{} `type:"structure"` - // The default message body of the push notification, email, or SMS message. - Body *string `type:"string"` - - // The default message variables to use in the push notification, email, or - // SMS message. You can override these default variables with individual address - // variables. - Substitutions map[string][]*string `type:"map"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s DefaultMessage) String() string { +func (s DeleteEmailChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DefaultMessage) GoString() string { +func (s DeleteEmailChannelInput) GoString() string { return s.String() } -// SetBody sets the Body field's value. -func (s *DefaultMessage) SetBody(v string) *DefaultMessage { - s.Body = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEmailChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSubstitutions sets the Substitutions field's value. -func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage { - s.Substitutions = v +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput { + s.ApplicationId = &v return s } -// Specifies the default settings and content for a push notification that's -// sent directly to an endpoint. -type DefaultPushNotificationMessage struct { - _ struct{} `type:"structure"` +type DeleteEmailChannelOutput struct { + _ struct{} `type:"structure" payload:"EmailChannelResponse"` - // The default action to occur if a recipient taps the push notification. 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. + // Provides information about the status and settings of the email channel for + // an application. // - // * 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 default body of the notification message. - Body *string `type:"string"` + // EmailChannelResponse is a required field + EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"` +} - // The JSON data payload to use for the default push notification, if the notification - // is a silent push notification. This payload is added to the data.pinpoint.jsonBody - // object of the notification. - Data map[string]*string `type:"map"` +// String returns the string representation +func (s DeleteEmailChannelOutput) String() string { + return awsutil.Prettify(s) +} - // Specifies whether the default 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 or delivering messages to an in-app notification center. - SilentPush *bool `type:"boolean"` +// GoString returns the string representation +func (s DeleteEmailChannelOutput) GoString() string { + return s.String() +} - // The default message variables to use in the notification message. You can - // override the default variables with individual address variables. - Substitutions map[string][]*string `type:"map"` +// SetEmailChannelResponse sets the EmailChannelResponse field's value. +func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput { + s.EmailChannelResponse = v + return s +} - // The default title to display above the notification message on a recipient's - // device. - Title *string `type:"string"` +type DeleteEmailTemplateInput struct { + _ struct{} `type:"structure"` - // The default URL to open in a recipient's default mobile browser, if a recipient - // taps the push notification and the value of the Action property is URL. - Url *string `type:"string"` + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` } // String returns the string representation -func (s DefaultPushNotificationMessage) String() string { +func (s DeleteEmailTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DefaultPushNotificationMessage) GoString() string { +func (s DeleteEmailTemplateInput) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage { - s.Action = &v - return s -} +// 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)) + } -// SetBody sets the Body field's value. -func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage { - s.Body = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetData sets the Data field's value. -func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage { - s.Data = v +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput { + s.TemplateName = &v return s } -// SetSilentPush sets the SilentPush field's value. -func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage { - s.SilentPush = &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"` } -// SetSubstitutions sets the Substitutions field's value. -func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage { - s.Substitutions = v - return s +// String returns the string representation +func (s DeleteEmailTemplateOutput) String() string { + return awsutil.Prettify(s) } -// SetTitle sets the Title field's value. -func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage { - s.Title = &v - return s +// GoString returns the string representation +func (s DeleteEmailTemplateOutput) GoString() string { + return s.String() } -// SetUrl sets the Url field's value. -func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage { - s.Url = &v +// SetMessageBody sets the MessageBody field's value. +func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput { + s.MessageBody = v 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 { +type DeleteEndpointInput 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"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // 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"` + // EndpointId is a required field + EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"` } // String returns the string representation -func (s DefaultPushNotificationTemplate) String() string { +func (s DeleteEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DefaultPushNotificationTemplate) GoString() string { +func (s DeleteEndpointInput) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate { - s.Action = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.EndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointId")) + } + if s.EndpointId != nil && len(*s.EndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBody sets the Body field's value. -func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate { - s.Body = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput { + s.ApplicationId = &v return s } -// SetSound sets the Sound field's value. -func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate { - s.Sound = &v +// SetEndpointId sets the EndpointId field's value. +func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput { + s.EndpointId = &v return s } -// SetTitle sets the Title field's value. -func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate { - s.Title = &v - return s +type DeleteEndpointOutput struct { + _ struct{} `type:"structure" payload:"EndpointResponse"` + + // Provides information about the channel type and other settings for an endpoint. + // + // EndpointResponse is a required field + EndpointResponse *EndpointResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointOutput) GoString() string { + return s.String() } -// SetUrl sets the Url field's value. -func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate { - s.Url = &v +// SetEndpointResponse sets the EndpointResponse field's value. +func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput { + s.EndpointResponse = v return s } -type DeleteAdmChannelInput struct { +type DeleteEventStreamInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -13175,18 +15134,18 @@ type DeleteAdmChannelInput struct { } // String returns the string representation -func (s DeleteAdmChannelInput) String() string { +func (s DeleteEventStreamInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAdmChannelInput) GoString() string { +func (s DeleteEventStreamInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAdmChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"} +func (s *DeleteEventStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -13201,38 +15160,38 @@ func (s *DeleteAdmChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput { +func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput { s.ApplicationId = &v return s } -type DeleteAdmChannelOutput struct { - _ struct{} `type:"structure" payload:"ADMChannelResponse"` +type DeleteEventStreamOutput struct { + _ struct{} `type:"structure" payload:"EventStream"` - // Provides information about the status and settings of the ADM (Amazon Device - // Messaging) channel for an application. + // Specifies settings for publishing event data to an Amazon Kinesis data stream + // or an Amazon Kinesis Data Firehose delivery stream. // - // ADMChannelResponse is a required field - ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` + // EventStream is a required field + EventStream *EventStream `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteAdmChannelOutput) String() string { +func (s DeleteEventStreamOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAdmChannelOutput) GoString() string { +func (s DeleteEventStreamOutput) GoString() string { return s.String() } -// SetADMChannelResponse sets the ADMChannelResponse field's value. -func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput { - s.ADMChannelResponse = v +// SetEventStream sets the EventStream field's value. +func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput { + s.EventStream = v return s } -type DeleteApnsChannelInput struct { +type DeleteGcmChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -13240,18 +15199,18 @@ type DeleteApnsChannelInput struct { } // String returns the string representation -func (s DeleteApnsChannelInput) String() string { +func (s DeleteGcmChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsChannelInput) GoString() string { +func (s DeleteGcmChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteApnsChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"} +func (s *DeleteGcmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -13266,63 +15225,74 @@ func (s *DeleteApnsChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput { +func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput { s.ApplicationId = &v return s } -type DeleteApnsChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSChannelResponse"` +type DeleteGcmChannelOutput struct { + _ struct{} `type:"structure" payload:"GCMChannelResponse"` - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) channel for an application. + // Provides information about the status and settings of the GCM channel for + // an application. The GCM channel enables Amazon Pinpoint to send push notifications + // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging + // (GCM), service. // - // APNSChannelResponse is a required field - APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"` + // GCMChannelResponse is a required field + GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteApnsChannelOutput) String() string { +func (s DeleteGcmChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsChannelOutput) GoString() string { +func (s DeleteGcmChannelOutput) GoString() string { return s.String() } -// SetAPNSChannelResponse sets the APNSChannelResponse field's value. -func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput { - s.APNSChannelResponse = v +// SetGCMChannelResponse sets the GCMChannelResponse field's value. +func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput { + s.GCMChannelResponse = v return s } -type DeleteApnsSandboxChannelInput struct { +type DeleteJourneyInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` } // String returns the string representation -func (s DeleteApnsSandboxChannelInput) String() string { +func (s DeleteJourneyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsSandboxChannelInput) GoString() string { +func (s DeleteJourneyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteApnsSandboxChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"} +func (s *DeleteJourneyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteJourneyInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) + } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13331,62 +15301,68 @@ func (s *DeleteApnsSandboxChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput { +func (s *DeleteJourneyInput) SetApplicationId(v string) *DeleteJourneyInput { s.ApplicationId = &v return s } -type DeleteApnsSandboxChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` +// SetJourneyId sets the JourneyId field's value. +func (s *DeleteJourneyInput) SetJourneyId(v string) *DeleteJourneyInput { + s.JourneyId = &v + return s +} - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) sandbox channel for an application. +type DeleteJourneyOutput struct { + _ struct{} `type:"structure" payload:"JourneyResponse"` + + // Provides information about the status, configuration, and other settings + // for a journey. // - // APNSSandboxChannelResponse is a required field - APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"` + // JourneyResponse is a required field + JourneyResponse *JourneyResponse `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteApnsSandboxChannelOutput) String() string { +func (s DeleteJourneyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsSandboxChannelOutput) GoString() string { +func (s DeleteJourneyOutput) GoString() string { return s.String() } -// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value. -func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput { - s.APNSSandboxChannelResponse = v +// SetJourneyResponse sets the JourneyResponse field's value. +func (s *DeleteJourneyOutput) SetJourneyResponse(v *JourneyResponse) *DeleteJourneyOutput { + s.JourneyResponse = v return s } -type DeleteApnsVoipChannelInput struct { +type DeletePushTemplateInput struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" 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 DeleteApnsVoipChannelInput) String() string { +func (s DeletePushTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsVoipChannelInput) GoString() string { +func (s DeletePushTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteApnsVoipChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) +func (s *DeletePushTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } if invalidParams.Len() > 0 { @@ -13395,64 +15371,72 @@ func (s *DeleteApnsVoipChannelInput) Validate() error { return nil } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput { - s.ApplicationId = &v +// SetTemplateName sets the TemplateName field's value. +func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput { + s.TemplateName = &v return s } -type DeleteApnsVoipChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSVoipChannelResponse"` +type DeletePushTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) VoIP channel for an application. + // Provides information about an API request or response. // - // APNSVoipChannelResponse is a required field - APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"` + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteApnsVoipChannelOutput) String() string { +func (s DeletePushTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsVoipChannelOutput) GoString() string { +func (s DeletePushTemplateOutput) GoString() string { return s.String() } -// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value. -func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput { - s.APNSVoipChannelResponse = v +// SetMessageBody sets the MessageBody field's value. +func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput { + s.MessageBody = v return s } -type DeleteApnsVoipSandboxChannelInput struct { +type DeleteSegmentInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // SegmentId is a required field + SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` } // String returns the string representation -func (s DeleteApnsVoipSandboxChannelInput) String() string { +func (s DeleteSegmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsVoipSandboxChannelInput) GoString() string { +func (s DeleteSegmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteApnsVoipSandboxChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"} +func (s *DeleteSegmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) + } + if s.SegmentId != nil && len(*s.SegmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13461,38 +15445,44 @@ func (s *DeleteApnsVoipSandboxChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput { +func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput { s.ApplicationId = &v return s } -type DeleteApnsVoipSandboxChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"` +// SetSegmentId sets the SegmentId field's value. +func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput { + s.SegmentId = &v + return s +} - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) VoIP sandbox channel for an application. +type DeleteSegmentOutput struct { + _ struct{} `type:"structure" payload:"SegmentResponse"` + + // Provides information about the configuration, dimension, and other settings + // for a segment. // - // APNSVoipSandboxChannelResponse is a required field - APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"` + // SegmentResponse is a required field + SegmentResponse *SegmentResponse `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteApnsVoipSandboxChannelOutput) String() string { +func (s DeleteSegmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteApnsVoipSandboxChannelOutput) GoString() string { +func (s DeleteSegmentOutput) GoString() string { return s.String() } -// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value. -func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput { - s.APNSVoipSandboxChannelResponse = v +// SetSegmentResponse sets the SegmentResponse field's value. +func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput { + s.SegmentResponse = v return s } -type DeleteAppInput struct { +type DeleteSmsChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -13500,18 +15490,18 @@ type DeleteAppInput struct { } // String returns the string representation -func (s DeleteAppInput) String() string { +func (s DeleteSmsChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAppInput) GoString() string { +func (s DeleteSmsChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAppInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"} +func (s *DeleteSmsChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -13526,61 +15516,62 @@ func (s *DeleteAppInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput { +func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput { s.ApplicationId = &v return s } -type DeleteAppOutput struct { - _ struct{} `type:"structure" payload:"ApplicationResponse"` +type DeleteSmsChannelOutput struct { + _ struct{} `type:"structure" payload:"SMSChannelResponse"` - // Provides information about an application. + // Provides information about the status and settings of the SMS channel for + // an application. // - // ApplicationResponse is a required field - ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` + // SMSChannelResponse is a required field + SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteAppOutput) String() string { +func (s DeleteSmsChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAppOutput) GoString() string { +func (s DeleteSmsChannelOutput) GoString() string { return s.String() } -// SetApplicationResponse sets the ApplicationResponse field's value. -func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput { - s.ApplicationResponse = v +// SetSMSChannelResponse sets the SMSChannelResponse field's value. +func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput { + s.SMSChannelResponse = v return s } -type DeleteBaiduChannelInput struct { +type DeleteSmsTemplateInput struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" 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 DeleteBaiduChannelInput) String() string { +func (s DeleteSmsTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteBaiduChannelInput) GoString() string { +func (s DeleteSmsTemplateInput) GoString() string { return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteBaiduChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) +} + +// 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.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } if invalidParams.Len() > 0 { @@ -13589,72 +15580,71 @@ func (s *DeleteBaiduChannelInput) Validate() error { return nil } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput { - s.ApplicationId = &v +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput { + s.TemplateName = &v return s } -type DeleteBaiduChannelOutput struct { - _ struct{} `type:"structure" payload:"BaiduChannelResponse"` +type DeleteSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"MessageBody"` - // Provides information about the status and settings of the Baidu (Baidu Cloud - // Push) channel for an application. + // Provides information about an API request or response. // - // BaiduChannelResponse is a required field - BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteBaiduChannelOutput) String() string { +func (s DeleteSmsTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteBaiduChannelOutput) GoString() string { +func (s DeleteSmsTemplateOutput) GoString() string { return s.String() } -// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. -func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput { - s.BaiduChannelResponse = v +// SetMessageBody sets the MessageBody field's value. +func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput { + s.MessageBody = v return s } -type DeleteCampaignInput struct { +type DeleteUserEndpointsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // CampaignId is a required field - CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` + // UserId is a required field + UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"` } // String returns the string representation -func (s DeleteCampaignInput) String() string { +func (s DeleteUserEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCampaignInput) GoString() string { +func (s DeleteUserEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCampaignInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"} +func (s *DeleteUserEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.CampaignId == nil { - invalidParams.Add(request.NewErrParamRequired("CampaignId")) + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) } - if s.CampaignId != nil && len(*s.CampaignId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) } if invalidParams.Len() > 0 { @@ -13664,44 +15654,44 @@ func (s *DeleteCampaignInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput { +func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput { s.ApplicationId = &v return s } -// SetCampaignId sets the CampaignId field's value. -func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput { - s.CampaignId = &v +// SetUserId sets the UserId field's value. +func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput { + s.UserId = &v return s } -type DeleteCampaignOutput struct { - _ struct{} `type:"structure" payload:"CampaignResponse"` +type DeleteUserEndpointsOutput struct { + _ struct{} `type:"structure" payload:"EndpointsResponse"` - // Provides information about the status, configuration, and other settings - // for a campaign. + // Provides information about all the endpoints that are associated with a user + // ID. // - // CampaignResponse is a required field - CampaignResponse *CampaignResponse `type:"structure" required:"true"` + // EndpointsResponse is a required field + EndpointsResponse *EndpointsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteCampaignOutput) String() string { +func (s DeleteUserEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCampaignOutput) GoString() string { +func (s DeleteUserEndpointsOutput) GoString() string { return s.String() } -// SetCampaignResponse sets the CampaignResponse field's value. -func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput { - s.CampaignResponse = v +// SetEndpointsResponse sets the EndpointsResponse field's value. +func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput { + s.EndpointsResponse = v return s } -type DeleteEmailChannelInput struct { +type DeleteVoiceChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -13709,18 +15699,18 @@ type DeleteEmailChannelInput struct { } // String returns the string representation -func (s DeleteEmailChannelInput) String() string { +func (s DeleteVoiceChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEmailChannelInput) GoString() string { +func (s DeleteVoiceChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEmailChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"} +func (s *DeleteVoiceChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -13735,135 +15725,191 @@ func (s *DeleteEmailChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput { +func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput { s.ApplicationId = &v return s } -type DeleteEmailChannelOutput struct { - _ struct{} `type:"structure" payload:"EmailChannelResponse"` +type DeleteVoiceChannelOutput struct { + _ struct{} `type:"structure" payload:"VoiceChannelResponse"` - // Provides information about the status and settings of the email channel for + // Provides information about the status and settings of the voice channel for // an application. // - // EmailChannelResponse is a required field - EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"` + // VoiceChannelResponse is a required field + VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s DeleteEmailChannelOutput) String() string { +func (s DeleteVoiceChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEmailChannelOutput) GoString() string { +func (s DeleteVoiceChannelOutput) GoString() string { return s.String() } -// SetEmailChannelResponse sets the EmailChannelResponse field's value. -func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput { - s.EmailChannelResponse = v +// SetVoiceChannelResponse sets the VoiceChannelResponse field's value. +func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput { + s.VoiceChannelResponse = v return s } -type DeleteEmailTemplateInput struct { +// Specifies the settings and content for the default message and any default +// messages that you tailored for specific channels. +type DirectMessageConfiguration struct { _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // The default push notification message for the ADM (Amazon Device Messaging) + // channel. This message overrides the default push notification message (DefaultPushNotificationMessage). + ADMMessage *ADMMessage `type:"structure"` + + // The default push notification message for the APNs (Apple Push Notification + // service) channel. This message overrides the default push notification message + // (DefaultPushNotificationMessage). + APNSMessage *APNSMessage `type:"structure"` + + // The default push notification message for the Baidu (Baidu Cloud Push) channel. + // This message overrides the default push notification message (DefaultPushNotificationMessage). + BaiduMessage *BaiduMessage `type:"structure"` + + // The default message body for all channels. + DefaultMessage *DefaultMessage `type:"structure"` + + // 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 + // message (DefaultMessage). + EmailMessage *EmailMessage `type:"structure"` + + // The default push notification message for the GCM channel, which is used + // to send notifications through the Firebase Cloud Messaging (FCM), formerly + // Google Cloud Messaging (GCM), service. This message overrides the default + // push notification message (DefaultPushNotificationMessage). + GCMMessage *GCMMessage `type:"structure"` + + // The default message for the SMS channel. This message overrides the default + // message (DefaultMessage). + SMSMessage *SMSMessage `type:"structure"` + + // The default message for the voice channel. This message overrides the default + // message (DefaultMessage). + VoiceMessage *VoiceMessage `type:"structure"` } // String returns the string representation -func (s DeleteEmailTemplateInput) String() string { +func (s DirectMessageConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEmailTemplateInput) GoString() string { +func (s DirectMessageConfiguration) 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)) - } +// SetADMMessage sets the ADMMessage field's value. +func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration { + s.ADMMessage = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAPNSMessage sets the APNSMessage field's value. +func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration { + s.APNSMessage = v + return s } -// SetTemplateName sets the TemplateName field's value. -func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput { - s.TemplateName = &v +// SetBaiduMessage sets the BaiduMessage field's value. +func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration { + s.BaiduMessage = v return s } -type DeleteEmailTemplateOutput struct { - _ struct{} `type:"structure" payload:"MessageBody"` +// SetDefaultMessage sets the DefaultMessage field's value. +func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration { + s.DefaultMessage = v + return s +} - // Provides information about an API request or response. - // - // MessageBody is a required field - MessageBody *MessageBody `type:"structure" required:"true"` +// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value. +func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration { + s.DefaultPushNotificationMessage = v + return s } -// String returns the string representation -func (s DeleteEmailTemplateOutput) String() string { - return awsutil.Prettify(s) +// SetEmailMessage sets the EmailMessage field's value. +func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration { + s.EmailMessage = v + return s } -// GoString returns the string representation -func (s DeleteEmailTemplateOutput) GoString() string { - return s.String() +// SetGCMMessage sets the GCMMessage field's value. +func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration { + s.GCMMessage = v + return s } -// SetMessageBody sets the MessageBody field's value. -func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput { - s.MessageBody = v +// SetSMSMessage sets the SMSMessage field's value. +func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration { + s.SMSMessage = v return s } -type DeleteEndpointInput struct { +// SetVoiceMessage sets the VoiceMessage field's value. +func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration { + s.VoiceMessage = v + return s +} + +// Specifies the status and settings of the email channel for an application. +type EmailChannelRequest struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // The configuration set that you want to apply to email that you send through + // the channel by using the Amazon Pinpoint Email API (emailAPIreference.html). + ConfigurationSet *string `type:"string"` + + // Specifies whether to enable the email channel for the application. + Enabled *bool `type:"boolean"` + + // The verified email address that you want to send email from when you send + // email through the channel. + // + // FromAddress is a required field + FromAddress *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple + // Email Service (Amazon SES), that you want to use when you send email through + // the channel. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` - // EndpointId is a required field - EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"` + // The ARN of the AWS Identity and Access Management (IAM) role that you want + // Amazon Pinpoint to use when it submits email-related event data for the channel. + RoleArn *string `type:"string"` } // String returns the string representation -func (s DeleteEndpointInput) String() string { +func (s EmailChannelRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEndpointInput) GoString() string { +func (s EmailChannelRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - if s.EndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointId")) +func (s *EmailChannelRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"} + if s.FromAddress == nil { + invalidParams.Add(request.NewErrParamRequired("FromAddress")) } - if s.EndpointId != nil && len(*s.EndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1)) + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) } if invalidParams.Len() > 0 { @@ -13872,553 +15918,675 @@ func (s *DeleteEndpointInput) Validate() error { return nil } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput { - s.ApplicationId = &v +// SetConfigurationSet sets the ConfigurationSet field's value. +func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest { + s.ConfigurationSet = &v return s } -// SetEndpointId sets the EndpointId field's value. -func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput { - s.EndpointId = &v +// SetEnabled sets the Enabled field's value. +func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest { + s.Enabled = &v return s } -type DeleteEndpointOutput struct { - _ struct{} `type:"structure" payload:"EndpointResponse"` +// SetFromAddress sets the FromAddress field's value. +func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest { + s.FromAddress = &v + return s +} - // Provides information about the channel type and other settings for an endpoint. +// SetIdentity sets the Identity field's value. +func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest { + s.Identity = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest { + s.RoleArn = &v + return s +} + +// Provides information about the status and settings of the email channel for +// an application. +type EmailChannelResponse struct { + _ struct{} `type:"structure"` + + // The unique identifier for the application that the email channel applies + // to. + ApplicationId *string `type:"string"` + + // The configuration set that's applied to email that's sent through the channel + // by using the Amazon Pinpoint Email API (emailAPIreference.html). + ConfigurationSet *string `type:"string"` + + // The date and time, in ISO 8601 format, when the email channel was enabled. + CreationDate *string `type:"string"` + + // Specifies whether the email channel is enabled for the application. + Enabled *bool `type:"boolean"` + + // The verified email address that you send email from when you send email through + // the channel. + FromAddress *string `type:"string"` + + // (Not used) This property is retained only for backward compatibility. + HasCredential *bool `type:"boolean"` + + // (Deprecated) An identifier for the email channel. This property is retained + // only for backward compatibility. + Id *string `type:"string"` + + // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple + // Email Service (Amazon SES), that you use when you send email through the + // channel. + Identity *string `type:"string"` + + // Specifies whether the email channel is archived. + IsArchived *bool `type:"boolean"` + + // The user who last modified the email channel. + LastModifiedBy *string `type:"string"` + + // The date and time, in ISO 8601 format, when the email channel was last modified. + LastModifiedDate *string `type:"string"` + + // The maximum number of emails that you can send through the channel each second. + MessagesPerSecond *int64 `type:"integer"` + + // The type of messaging or notification platform for the channel. For the email + // channel, this value is EMAIL. // - // EndpointResponse is a required field - EndpointResponse *EndpointResponse `type:"structure" required:"true"` + // Platform is a required field + Platform *string `type:"string" required:"true"` + + // The ARN of the AWS Identity and Access Management (IAM) role that Amazon + // Pinpoint uses to submit email-related event data for the channel. + RoleArn *string `type:"string"` + + // The current version of the email channel. + Version *int64 `type:"integer"` } // String returns the string representation -func (s DeleteEndpointOutput) String() string { +func (s EmailChannelResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEndpointOutput) GoString() string { +func (s EmailChannelResponse) GoString() string { return s.String() } -// SetEndpointResponse sets the EndpointResponse field's value. -func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput { - s.EndpointResponse = v +// SetApplicationId sets the ApplicationId field's value. +func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse { + s.ApplicationId = &v return s } -type DeleteEventStreamInput struct { - _ struct{} `type:"structure"` +// SetConfigurationSet sets the ConfigurationSet field's value. +func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse { + s.ConfigurationSet = &v + return s +} - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +// SetCreationDate sets the CreationDate field's value. +func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse { + s.CreationDate = &v + return s } -// String returns the string representation -func (s DeleteEventStreamInput) String() string { - return awsutil.Prettify(s) +// SetEnabled sets the Enabled field's value. +func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse { + s.Enabled = &v + return s } -// GoString returns the string representation -func (s DeleteEventStreamInput) GoString() string { - return s.String() +// SetFromAddress sets the FromAddress field's value. +func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse { + s.FromAddress = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEventStreamInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } +// SetHasCredential sets the HasCredential field's value. +func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse { + s.HasCredential = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse { + s.Id = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput { - s.ApplicationId = &v +// SetIdentity sets the Identity field's value. +func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse { + s.Identity = &v return s } -type DeleteEventStreamOutput struct { - _ struct{} `type:"structure" payload:"EventStream"` +// SetIsArchived sets the IsArchived field's value. +func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse { + s.IsArchived = &v + return s +} - // Specifies settings for publishing event data to an Amazon Kinesis data stream - // or an Amazon Kinesis Data Firehose delivery stream. - // - // EventStream is a required field - EventStream *EventStream `type:"structure" required:"true"` +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse { + s.LastModifiedBy = &v + return s } -// String returns the string representation -func (s DeleteEventStreamOutput) String() string { - return awsutil.Prettify(s) +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse { + s.LastModifiedDate = &v + return s } -// GoString returns the string representation -func (s DeleteEventStreamOutput) GoString() string { - return s.String() +// SetMessagesPerSecond sets the MessagesPerSecond field's value. +func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse { + s.MessagesPerSecond = &v + return s } -// SetEventStream sets the EventStream field's value. -func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput { - s.EventStream = v +// SetPlatform sets the Platform field's value. +func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse { + s.Platform = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse { + s.RoleArn = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse { + s.Version = &v return s } -type DeleteGcmChannelInput struct { - _ struct{} `type:"structure"` +// Specifies the default settings and content for a one-time email message that's +// sent directly to an endpoint. +type EmailMessage struct { + _ struct{} `type:"structure"` + + // The body of the email message. + Body *string `type:"string"` + + // The email address to forward bounces and complaints to, if feedback forwarding + // is enabled. + FeedbackForwardingAddress *string `type:"string"` + + // The verified email address to send the email message from. The default value + // is the FromAddress specified for the email channel. + FromAddress *string `type:"string"` + + // The email message, represented as a raw MIME message. + RawEmail *RawEmail `type:"structure"` + + // The reply-to email address(es) for the email message. If a recipient replies + // to the email, each reply-to address receives the reply. + ReplyToAddresses []*string `type:"list"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // The email message, composed of a subject, a text part, and an HTML part. + SimpleEmail *SimpleEmail `type:"structure"` + + // The default message variables to use in the email message. You can override + // the default variables with individual address variables. + Substitutions map[string][]*string `type:"map"` } // String returns the string representation -func (s DeleteGcmChannelInput) String() string { +func (s EmailMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGcmChannelInput) GoString() string { +func (s EmailMessage) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGcmChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBody sets the Body field's value. +func (s *EmailMessage) SetBody(v string) *EmailMessage { + s.Body = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput { - s.ApplicationId = &v +// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value. +func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage { + s.FeedbackForwardingAddress = &v return s } -type DeleteGcmChannelOutput struct { - _ struct{} `type:"structure" payload:"GCMChannelResponse"` +// SetFromAddress sets the FromAddress field's value. +func (s *EmailMessage) SetFromAddress(v string) *EmailMessage { + s.FromAddress = &v + return s +} - // Provides information about the status and settings of the GCM channel for - // an application. The GCM channel enables Amazon Pinpoint to send push notifications - // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging - // (GCM), service. - // - // GCMChannelResponse is a required field - GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"` +// SetRawEmail sets the RawEmail field's value. +func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage { + s.RawEmail = v + return s } -// String returns the string representation -func (s DeleteGcmChannelOutput) String() string { - return awsutil.Prettify(s) +// SetReplyToAddresses sets the ReplyToAddresses field's value. +func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage { + s.ReplyToAddresses = v + return s } -// GoString returns the string representation -func (s DeleteGcmChannelOutput) GoString() string { - return s.String() +// SetSimpleEmail sets the SimpleEmail field's value. +func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage { + s.SimpleEmail = v + return s } -// SetGCMChannelResponse sets the GCMChannelResponse field's value. -func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput { - s.GCMChannelResponse = v +// SetSubstitutions sets the Substitutions field's value. +func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage { + s.Substitutions = v return s } -type DeletePushTemplateInput struct { +// Specifies the settings for an email activity in a journey. This type of activity +// sends an email message to participants. +type EmailMessageActivity struct { _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // The "From" address to use for the message. + MessageConfig *JourneyEmailMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after the message + // is sent. + NextActivity *string `type:"string"` + + // The name of the email template to use for the message. + TemplateName *string `type:"string"` } // String returns the string representation -func (s DeletePushTemplateInput) String() string { +func (s EmailMessageActivity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeletePushTemplateInput) GoString() string { +func (s EmailMessageActivity) 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)) - } +// SetMessageConfig sets the MessageConfig field's value. +func (s *EmailMessageActivity) SetMessageConfig(v *JourneyEmailMessage) *EmailMessageActivity { + s.MessageConfig = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextActivity sets the NextActivity field's value. +func (s *EmailMessageActivity) SetNextActivity(v string) *EmailMessageActivity { + s.NextActivity = &v + return s } // SetTemplateName sets the TemplateName field's value. -func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput { +func (s *EmailMessageActivity) SetTemplateName(v string) *EmailMessageActivity { 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() -} +// 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"` -// SetMessageBody sets the MessageBody field's value. -func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput { - s.MessageBody = v - return s -} + // 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"` -type DeleteSegmentInput struct { - _ struct{} `type:"structure"` + // The subject line, or title, to use in email messages that are based on the + // message template. + Subject *string `type:"string"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // 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"` - // SegmentId is a required field - SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` + // 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 DeleteSegmentInput) String() string { +func (s EmailTemplateRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSegmentInput) GoString() string { +func (s EmailTemplateRequest) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSegmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - if s.SegmentId == nil { - invalidParams.Add(request.NewErrParamRequired("SegmentId")) - } - if s.SegmentId != nil && len(*s.SegmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) - } +// SetHtmlPart sets the HtmlPart field's value. +func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest { + s.HtmlPart = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSubject sets the Subject field's value. +func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest { + s.Subject = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput { - s.ApplicationId = &v +// SetTags sets the Tags field's value. +func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest { + s.Tags = v return s } -// SetSegmentId sets the SegmentId field's value. -func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput { - s.SegmentId = &v +// SetTextPart sets the TextPart field's value. +func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest { + s.TextPart = &v return s } -type DeleteSegmentOutput struct { - _ struct{} `type:"structure" payload:"SegmentResponse"` +// 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"` - // Provides information about the configuration, dimension, and other settings - // for a segment. + // The Amazon Resource Name (ARN) of the message template. + Arn *string `type:"string"` + + // The date when the message template was created. // - // SegmentResponse is a required field - SegmentResponse *SegmentResponse `type:"structure" required:"true"` -} + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` -// String returns the string representation -func (s DeleteSegmentOutput) String() string { - return awsutil.Prettify(s) -} + // The message body, in HTML format, that's used in email messages that are + // based on the message template. + HtmlPart *string `type:"string"` -// GoString returns the string representation -func (s DeleteSegmentOutput) GoString() string { - return s.String() -} + // The date when the message template was last modified. + // + // LastModifiedDate is a required field + LastModifiedDate *string `type:"string" required:"true"` -// SetSegmentResponse sets the SegmentResponse field's value. -func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput { - s.SegmentResponse = v - return s -} + // The subject line, or title, that's used in email messages that are based + // on the message template. + Subject *string `type:"string"` -type DeleteSmsChannelInput struct { - _ struct{} `type:"structure"` + // 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"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // 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 DeleteSmsChannelInput) String() string { +func (s EmailTemplateResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSmsChannelInput) GoString() string { +func (s EmailTemplateResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSmsChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse { + s.Arn = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput { - s.ApplicationId = &v +// SetCreationDate sets the CreationDate field's value. +func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse { + s.CreationDate = &v return s } -type DeleteSmsChannelOutput struct { - _ struct{} `type:"structure" payload:"SMSChannelResponse"` - - // Provides information about the status and settings of the SMS channel for - // an application. - // - // SMSChannelResponse is a required field - SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"` +// SetHtmlPart sets the HtmlPart field's value. +func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse { + s.HtmlPart = &v + return s } -// String returns the string representation -func (s DeleteSmsChannelOutput) String() string { - return awsutil.Prettify(s) +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse { + s.LastModifiedDate = &v + return s } -// GoString returns the string representation -func (s DeleteSmsChannelOutput) GoString() string { - return s.String() +// SetSubject sets the Subject field's value. +func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse { + s.Subject = &v + return s } -// SetSMSChannelResponse sets the SMSChannelResponse field's value. -func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput { - s.SMSChannelResponse = v +// SetTags sets the Tags field's value. +func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse { + s.Tags = v return s } -type DeleteSmsTemplateInput struct { - _ struct{} `type:"structure"` - - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +// SetTemplateName sets the TemplateName field's value. +func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse { + s.TemplateName = &v + return s } -// String returns the string representation -func (s DeleteSmsTemplateInput) String() string { - return awsutil.Prettify(s) +// SetTemplateType sets the TemplateType field's value. +func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse { + s.TemplateType = &v + return s } -// GoString returns the string representation -func (s DeleteSmsTemplateInput) GoString() string { - return s.String() +// SetTextPart sets the TextPart field's value. +func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse { + s.TextPart = &v + return s } -// 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)) - } +// Specifies an endpoint to create or update and the settings and attributes +// to set or change for the endpoint. +type EndpointBatchItem struct { + _ struct{} `type:"structure"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The destination address for messages or push notifications that you send + // to the endpoint. The address varies by channel. For a push-notification channel, + // use the token provided by the push notification service, such as an Apple + // Push Notification service (APNs) device token or a Firebase Cloud Messaging + // (FCM) registration token. For the SMS channel, use a phone number in E.164 + // format, such as +12065550100. For the email channel, use an email address. + Address *string `type:"string"` -// SetTemplateName sets the TemplateName field's value. -func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput { - s.TemplateName = &v - return s -} + // One or more custom attributes that describe the endpoint by associating a + // name with an array of values. For example, the value of a custom attribute + // named Interests might be: ["science", "music", "travel"]. You can use these + // attributes as filter criteria when you create segments. + // + // When you define the name of a custom attribute, avoid using the following + // characters: number sign (#), colon (:), question mark (?), backslash (\), + // and slash (/). The Amazon Pinpoint console can't display attribute names + // that contain these characters. This limitation doesn't apply to attribute + // values. + Attributes map[string][]*string `type:"map"` -type DeleteSmsTemplateOutput struct { - _ struct{} `type:"structure" payload:"MessageBody"` + // The channel to use when sending messages or push notifications to the endpoint. + ChannelType *string `type:"string" enum:"ChannelType"` - // Provides information about an API request or response. + // The demographic information for the endpoint, such as the time zone and platform. + Demographic *EndpointDemographic `type:"structure"` + + // The date and time, in ISO 8601 format, when the endpoint was created or updated. + EffectiveDate *string `type:"string"` + + // 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. // - // MessageBody is a required field - MessageBody *MessageBody `type:"structure" required:"true"` + // 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. + Id *string `type:"string"` + + // The geographic information for the endpoint. + Location *EndpointLocation `type:"structure"` + + // One or more custom metrics that your app reports to Amazon Pinpoint for the + // endpoint. + Metrics map[string]*float64 `type:"map"` + + // Specifies whether the user who's associated with the endpoint has opted out + // of receiving messages and push notifications from you. Possible values are: + // ALL, the user has opted out and doesn't want to receive any messages or push + // notifications; and, NONE, the user hasn't opted out and wants to receive + // all messages and push notifications. + OptOut *string `type:"string"` + + // The unique identifier for the request to create or update the endpoint. + RequestId *string `type:"string"` + + // One or more custom user attributes that your app reports to Amazon Pinpoint + // for the user who's associated with the endpoint. + User *EndpointUser `type:"structure"` } // String returns the string representation -func (s DeleteSmsTemplateOutput) String() string { +func (s EndpointBatchItem) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSmsTemplateOutput) GoString() string { +func (s EndpointBatchItem) GoString() string { return s.String() } -// SetMessageBody sets the MessageBody field's value. -func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput { - s.MessageBody = v +// SetAddress sets the Address field's value. +func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem { + s.Address = &v return s } -type DeleteUserEndpointsInput struct { - _ struct{} `type:"structure"` - - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // UserId is a required field - UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"` +// SetAttributes sets the Attributes field's value. +func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem { + s.Attributes = v + return s } -// String returns the string representation -func (s DeleteUserEndpointsInput) String() string { - return awsutil.Prettify(s) +// SetChannelType sets the ChannelType field's value. +func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem { + s.ChannelType = &v + return s } -// GoString returns the string representation -func (s DeleteUserEndpointsInput) GoString() string { - return s.String() +// SetDemographic sets the Demographic field's value. +func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem { + s.Demographic = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserEndpointsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - if s.UserId == nil { - invalidParams.Add(request.NewErrParamRequired("UserId")) - } - if s.UserId != nil && len(*s.UserId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEffectiveDate sets the EffectiveDate field's value. +func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem { + s.EffectiveDate = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput { - s.ApplicationId = &v +// SetEndpointStatus sets the EndpointStatus field's value. +func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem { + s.EndpointStatus = &v return s } -// SetUserId sets the UserId field's value. -func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput { - s.UserId = &v +// SetId sets the Id field's value. +func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem { + s.Id = &v return s } -type DeleteUserEndpointsOutput struct { - _ struct{} `type:"structure" payload:"EndpointsResponse"` +// SetLocation sets the Location field's value. +func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem { + s.Location = v + return s +} - // Provides information about all the endpoints that are associated with a user - // ID. - // - // EndpointsResponse is a required field - EndpointsResponse *EndpointsResponse `type:"structure" required:"true"` +// SetMetrics sets the Metrics field's value. +func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem { + s.Metrics = v + return s } -// String returns the string representation -func (s DeleteUserEndpointsOutput) String() string { - return awsutil.Prettify(s) +// SetOptOut sets the OptOut field's value. +func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem { + s.OptOut = &v + return s } -// GoString returns the string representation -func (s DeleteUserEndpointsOutput) GoString() string { - return s.String() +// SetRequestId sets the RequestId field's value. +func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem { + s.RequestId = &v + return s } -// SetEndpointsResponse sets the EndpointsResponse field's value. -func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput { - s.EndpointsResponse = v +// SetUser sets the User field's value. +func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem { + s.User = v return s } -type DeleteVoiceChannelInput struct { +// Specifies a batch of endpoints to create or update and the settings and attributes +// to set or change for each endpoint. +type EndpointBatchRequest struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // An array that defines the endpoints to create or update and, for each endpoint, + // the property values to set or change. An array can contain a maximum of 100 + // items. + // + // Item is a required field + Item []*EndpointBatchItem `type:"list" required:"true"` } // String returns the string representation -func (s DeleteVoiceChannelInput) String() string { +func (s EndpointBatchRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVoiceChannelInput) GoString() string { +func (s EndpointBatchRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVoiceChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) +func (s *EndpointBatchRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"} + if s.Item == nil { + invalidParams.Add(request.NewErrParamRequired("Item")) } if invalidParams.Len() > 0 { @@ -14427,824 +16595,933 @@ func (s *DeleteVoiceChannelInput) Validate() error { return nil } -// SetApplicationId sets the ApplicationId field's value. -func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput { - s.ApplicationId = &v +// SetItem sets the Item field's value. +func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest { + s.Item = v return s } -type DeleteVoiceChannelOutput struct { - _ struct{} `type:"structure" payload:"VoiceChannelResponse"` +// Specifies demographic information about an endpoint, such as the applicable +// time zone and platform. +type EndpointDemographic struct { + _ struct{} `type:"structure"` - // Provides information about the status and settings of the voice channel for - // an application. - // - // VoiceChannelResponse is a required field - VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"` + // The version of the app that's associated with the endpoint. + AppVersion *string `type:"string"` + + // The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 + // code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value. + Locale *string `type:"string"` + + // The manufacturer of the endpoint device, such as Apple or Samsung. + Make *string `type:"string"` + + // The model name or number of the endpoint device, such as iPhone. + Model *string `type:"string"` + + // The model version of the endpoint device. + ModelVersion *string `type:"string"` + + // The platform of the endpoint device, such as iOS or Android. + Platform *string `type:"string"` + + // The platform version of the endpoint device. + PlatformVersion *string `type:"string"` + + // The time zone of the endpoint, specified as a tz database name value, such + // as America/Los_Angeles. + Timezone *string `type:"string"` } // String returns the string representation -func (s DeleteVoiceChannelOutput) String() string { +func (s EndpointDemographic) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVoiceChannelOutput) GoString() string { +func (s EndpointDemographic) GoString() string { return s.String() } -// SetVoiceChannelResponse sets the VoiceChannelResponse field's value. -func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput { - s.VoiceChannelResponse = v +// SetAppVersion sets the AppVersion field's value. +func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic { + s.AppVersion = &v return s } -// Specifies the settings and content for the default message and any default -// messages that you tailored for specific channels. -type DirectMessageConfiguration struct { - _ struct{} `type:"structure"` +// SetLocale sets the Locale field's value. +func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic { + s.Locale = &v + return s +} - // The default push notification message for the ADM (Amazon Device Messaging) - // channel. This message overrides the default push notification message (DefaultPushNotificationMessage). - ADMMessage *ADMMessage `type:"structure"` +// SetMake sets the Make field's value. +func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic { + s.Make = &v + return s +} - // The default push notification message for the APNs (Apple Push Notification - // service) channel. This message overrides the default push notification message - // (DefaultPushNotificationMessage). - APNSMessage *APNSMessage `type:"structure"` +// SetModel sets the Model field's value. +func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic { + s.Model = &v + return s +} - // The default push notification message for the Baidu (Baidu Cloud Push) channel. - // This message overrides the default push notification message (DefaultPushNotificationMessage). - BaiduMessage *BaiduMessage `type:"structure"` +// SetModelVersion sets the ModelVersion field's value. +func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic { + s.ModelVersion = &v + return s +} - // The default message body for all channels. - DefaultMessage *DefaultMessage `type:"structure"` +// SetPlatform sets the Platform field's value. +func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic { + s.Platform = &v + return s +} - // The default push notification message for all push notification channels. - DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"` +// SetPlatformVersion sets the PlatformVersion field's value. +func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic { + s.PlatformVersion = &v + return s +} - // The default message for the email channel. This message overrides the default - // message (DefaultMessage). - EmailMessage *EmailMessage `type:"structure"` +// SetTimezone sets the Timezone field's value. +func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic { + s.Timezone = &v + return s +} - // The default push notification message for the GCM channel, which is used - // to send notifications through the Firebase Cloud Messaging (FCM), formerly - // Google Cloud Messaging (GCM), service. This message overrides the default - // push notification message (DefaultPushNotificationMessage). - GCMMessage *GCMMessage `type:"structure"` +// Provides the status code and message that result from processing data for +// an endpoint. +type EndpointItemResponse struct { + _ struct{} `type:"structure"` - // The default message for the SMS channel. This message overrides the default - // message (DefaultMessage). - SMSMessage *SMSMessage `type:"structure"` + // The custom message that's returned in the response as a result of processing + // the endpoint data. + Message *string `type:"string"` - // The default message for the voice channel. This message overrides the default - // message (DefaultMessage). - VoiceMessage *VoiceMessage `type:"structure"` + // The status code that's returned in the response as a result of processing + // the endpoint data. + StatusCode *int64 `type:"integer"` } // String returns the string representation -func (s DirectMessageConfiguration) String() string { +func (s EndpointItemResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DirectMessageConfiguration) GoString() string { +func (s EndpointItemResponse) GoString() string { return s.String() } -// SetADMMessage sets the ADMMessage field's value. -func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration { - s.ADMMessage = v +// SetMessage sets the Message field's value. +func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse { + s.Message = &v return s } -// SetAPNSMessage sets the APNSMessage field's value. -func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration { - s.APNSMessage = v +// SetStatusCode sets the StatusCode field's value. +func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse { + s.StatusCode = &v return s } -// SetBaiduMessage sets the BaiduMessage field's value. -func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration { - s.BaiduMessage = v - return s +// Specifies geographic information about an endpoint. +type EndpointLocation struct { + _ struct{} `type:"structure"` + + // The name of the city where the endpoint is located. + City *string `type:"string"` + + // The two-character code, in ISO 3166-1 alpha-2 format, for the country or + // region where the endpoint is located. For example, US for the United States. + Country *string `type:"string"` + + // The latitude coordinate of the endpoint location, rounded to one decimal + // place. + Latitude *float64 `type:"double"` + + // The longitude coordinate of the endpoint location, rounded to one decimal + // place. + Longitude *float64 `type:"double"` + + // The postal or ZIP code for the area where the endpoint is located. + PostalCode *string `type:"string"` + + // The name of the region where the endpoint is located. For locations in the + // United States, this value is the name of a state. + Region *string `type:"string"` } -// SetDefaultMessage sets the DefaultMessage field's value. -func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration { - s.DefaultMessage = v - return s +// String returns the string representation +func (s EndpointLocation) String() string { + return awsutil.Prettify(s) } -// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value. -func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration { - s.DefaultPushNotificationMessage = v +// GoString returns the string representation +func (s EndpointLocation) GoString() string { + return s.String() +} + +// SetCity sets the City field's value. +func (s *EndpointLocation) SetCity(v string) *EndpointLocation { + s.City = &v return s } -// SetEmailMessage sets the EmailMessage field's value. -func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration { - s.EmailMessage = v +// SetCountry sets the Country field's value. +func (s *EndpointLocation) SetCountry(v string) *EndpointLocation { + s.Country = &v return s } -// SetGCMMessage sets the GCMMessage field's value. -func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration { - s.GCMMessage = v +// SetLatitude sets the Latitude field's value. +func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation { + s.Latitude = &v + return s +} + +// SetLongitude sets the Longitude field's value. +func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation { + s.Longitude = &v return s } -// SetSMSMessage sets the SMSMessage field's value. -func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration { - s.SMSMessage = v +// SetPostalCode sets the PostalCode field's value. +func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation { + s.PostalCode = &v return s } -// SetVoiceMessage sets the VoiceMessage field's value. -func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration { - s.VoiceMessage = v +// SetRegion sets the Region field's value. +func (s *EndpointLocation) SetRegion(v string) *EndpointLocation { + s.Region = &v return s } -// Specifies the status and settings of the email channel for an application. -type EmailChannelRequest struct { +// Provides information about the delivery status and results of sending a message +// directly to an endpoint. +type EndpointMessageResult struct { _ struct{} `type:"structure"` - // The configuration set that you want to apply to email that you send through - // the channel by using the Amazon Pinpoint Email API (emailAPIreference.html). - ConfigurationSet *string `type:"string"` - - // Specifies whether to enable the email channel for the application. - Enabled *bool `type:"boolean"` + // The endpoint address that the message was delivered to. + Address *string `type:"string"` - // The verified email address that you want to send email from when you send - // email through the channel. + // The delivery status of the message. Possible values are: // - // FromAddress is a required field - FromAddress *string `type:"string" required:"true"` + // * DUPLICATE - The endpoint address is a duplicate of another endpoint + // address. Amazon Pinpoint won't attempt to send the message again. + // + // * OPT_OUT - The user who's associated with the endpoint has opted out + // of receiving messages from you. Amazon Pinpoint won't attempt to send + // the message again. + // + // * PERMANENT_FAILURE - An error occurred when delivering the message to + // the endpoint. Amazon Pinpoint won't attempt to send the message again. + // + // * SUCCESSFUL - The message was successfully delivered to the endpoint. + // + // * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will + // attempt to deliver the message again later. + // + // * THROTTLED - Amazon Pinpoint throttled the operation to send the message + // to the endpoint. + // + // * TIMEOUT - The message couldn't be sent within the timeout period. + // + // * UNKNOWN_FAILURE - An unknown error occurred. + // + // DeliveryStatus is a required field + DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"` - // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple - // Email Service (Amazon SES), that you want to use when you send email through - // the channel. + // The unique identifier for the message that was sent. + MessageId *string `type:"string"` + + // The downstream service status code for delivering the message. // - // Identity is a required field - Identity *string `type:"string" required:"true"` + // StatusCode is a required field + StatusCode *int64 `type:"integer" required:"true"` - // The ARN of the AWS Identity and Access Management (IAM) role that you want - // Amazon Pinpoint to use when it submits email-related event data for the channel. - RoleArn *string `type:"string"` + // The status message for delivering the message. + StatusMessage *string `type:"string"` + + // For push notifications that are sent through the GCM channel, specifies whether + // the endpoint's device registration token was updated as part of delivering + // the message. + UpdatedToken *string `type:"string"` } // String returns the string representation -func (s EmailChannelRequest) String() string { +func (s EndpointMessageResult) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmailChannelRequest) GoString() string { +func (s EndpointMessageResult) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EmailChannelRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"} - if s.FromAddress == nil { - invalidParams.Add(request.NewErrParamRequired("FromAddress")) - } - if s.Identity == nil { - invalidParams.Add(request.NewErrParamRequired("Identity")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAddress sets the Address field's value. +func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult { + s.Address = &v + return s } -// SetConfigurationSet sets the ConfigurationSet field's value. -func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest { - s.ConfigurationSet = &v +// SetDeliveryStatus sets the DeliveryStatus field's value. +func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult { + s.DeliveryStatus = &v return s } -// SetEnabled sets the Enabled field's value. -func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest { - s.Enabled = &v +// SetMessageId sets the MessageId field's value. +func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult { + s.MessageId = &v return s } -// SetFromAddress sets the FromAddress field's value. -func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest { - s.FromAddress = &v +// SetStatusCode sets the StatusCode field's value. +func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult { + s.StatusCode = &v return s } -// SetIdentity sets the Identity field's value. -func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest { - s.Identity = &v +// SetStatusMessage sets the StatusMessage field's value. +func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult { + s.StatusMessage = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest { - s.RoleArn = &v +// SetUpdatedToken sets the UpdatedToken field's value. +func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult { + s.UpdatedToken = &v return s } -// Provides information about the status and settings of the email channel for -// an application. -type EmailChannelResponse struct { +// Specifies the channel type and other settings for an endpoint. +type EndpointRequest struct { _ struct{} `type:"structure"` - // The unique identifier for the application that the email channel applies - // to. - ApplicationId *string `type:"string"` - - // The configuration set that's applied to email that's sent through the channel - // by using the Amazon Pinpoint Email API (emailAPIreference.html). - ConfigurationSet *string `type:"string"` - - // The date and time, in ISO 8601 format, when the email channel was enabled. - CreationDate *string `type:"string"` - - // Specifies whether the email channel is enabled for the application. - Enabled *bool `type:"boolean"` - - // The verified email address that you send email from when you send email through - // the channel. - FromAddress *string `type:"string"` - - // (Not used) This property is retained only for backward compatibility. - HasCredential *bool `type:"boolean"` - - // (Deprecated) An identifier for the email channel. This property is retained - // only for backward compatibility. - Id *string `type:"string"` - - // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple - // Email Service (Amazon SES), that you use when you send email through the - // channel. - Identity *string `type:"string"` + // The destination address for messages or push notifications that you send + // to the endpoint. The address varies by channel. For a push-notification channel, + // use the token provided by the push notification service, such as an Apple + // Push Notification service (APNs) device token or a Firebase Cloud Messaging + // (FCM) registration token. For the SMS channel, use a phone number in E.164 + // format, such as +12065550100. For the email channel, use an email address. + Address *string `type:"string"` - // Specifies whether the email channel is archived. - IsArchived *bool `type:"boolean"` + // One or more custom attributes that describe the endpoint by associating a + // name with an array of values. For example, the value of a custom attribute + // named Interests might be: ["science", "music", "travel"]. You can use these + // attributes as filter criteria when you create segments. + // + // When you define the name of a custom attribute, avoid using the following + // characters: number sign (#), colon (:), question mark (?), backslash (\), + // and slash (/). The Amazon Pinpoint console can't display attribute names + // that contain these characters. This limitation doesn't apply to attribute + // values. + Attributes map[string][]*string `type:"map"` - // The user who last modified the email channel. - LastModifiedBy *string `type:"string"` + // The channel to use when sending messages or push notifications to the endpoint. + ChannelType *string `type:"string" enum:"ChannelType"` - // The date and time, in ISO 8601 format, when the email channel was last modified. - LastModifiedDate *string `type:"string"` + // The demographic information for the endpoint, such as the time zone and platform. + Demographic *EndpointDemographic `type:"structure"` - // The maximum number of emails that you can send through the channel each second. - MessagesPerSecond *int64 `type:"integer"` + // The date and time, in ISO 8601 format, when the endpoint is updated. + EffectiveDate *string `type:"string"` - // The type of messaging or notification platform for the channel. For the email - // channel, this value is EMAIL. + // 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. // - // Platform is a required field - Platform *string `type:"string" required:"true"` - - // The ARN of the AWS Identity and Access Management (IAM) role that Amazon - // Pinpoint uses to submit email-related event data for the channel. - RoleArn *string `type:"string"` + // 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 current version of the email channel. - Version *int64 `type:"integer"` -} + // The geographic information for the endpoint. + Location *EndpointLocation `type:"structure"` -// String returns the string representation -func (s EmailChannelResponse) String() string { - return awsutil.Prettify(s) -} + // One or more custom metrics that your app reports to Amazon Pinpoint for the + // endpoint. + Metrics map[string]*float64 `type:"map"` -// GoString returns the string representation -func (s EmailChannelResponse) GoString() string { - return s.String() -} + // Specifies whether the user who's associated with the endpoint has opted out + // of receiving messages and push notifications from you. Possible values are: + // ALL, the user has opted out and doesn't want to receive any messages or push + // notifications; and, NONE, the user hasn't opted out and wants to receive + // all messages and push notifications. + OptOut *string `type:"string"` -// SetApplicationId sets the ApplicationId field's value. -func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse { - s.ApplicationId = &v - return s -} + // The unique identifier for the most recent request to update the endpoint. + RequestId *string `type:"string"` -// SetConfigurationSet sets the ConfigurationSet field's value. -func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse { - s.ConfigurationSet = &v - return s + // One or more custom user attributes that describe the user who's associated + // with the endpoint. + User *EndpointUser `type:"structure"` } -// SetCreationDate sets the CreationDate field's value. -func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse { - s.CreationDate = &v - return s +// String returns the string representation +func (s EndpointRequest) String() string { + return awsutil.Prettify(s) } -// SetEnabled sets the Enabled field's value. -func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse { - s.Enabled = &v - return s +// GoString returns the string representation +func (s EndpointRequest) GoString() string { + return s.String() } -// SetFromAddress sets the FromAddress field's value. -func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse { - s.FromAddress = &v +// SetAddress sets the Address field's value. +func (s *EndpointRequest) SetAddress(v string) *EndpointRequest { + s.Address = &v return s } -// SetHasCredential sets the HasCredential field's value. -func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse { - s.HasCredential = &v +// SetAttributes sets the Attributes field's value. +func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest { + s.Attributes = v return s } -// SetId sets the Id field's value. -func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse { - s.Id = &v +// SetChannelType sets the ChannelType field's value. +func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest { + s.ChannelType = &v return s } -// SetIdentity sets the Identity field's value. -func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse { - s.Identity = &v +// SetDemographic sets the Demographic field's value. +func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest { + s.Demographic = v return s } -// SetIsArchived sets the IsArchived field's value. -func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse { - s.IsArchived = &v +// SetEffectiveDate sets the EffectiveDate field's value. +func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest { + s.EffectiveDate = &v return s } -// SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse { - s.LastModifiedBy = &v +// SetEndpointStatus sets the EndpointStatus field's value. +func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest { + s.EndpointStatus = &v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse { - s.LastModifiedDate = &v +// SetLocation sets the Location field's value. +func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest { + s.Location = v return s } -// SetMessagesPerSecond sets the MessagesPerSecond field's value. -func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse { - s.MessagesPerSecond = &v +// SetMetrics sets the Metrics field's value. +func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest { + s.Metrics = v return s } -// SetPlatform sets the Platform field's value. -func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse { - s.Platform = &v +// SetOptOut sets the OptOut field's value. +func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest { + s.OptOut = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse { - s.RoleArn = &v +// SetRequestId sets the RequestId field's value. +func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest { + s.RequestId = &v return s } -// SetVersion sets the Version field's value. -func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse { - s.Version = &v +// SetUser sets the User field's value. +func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest { + s.User = v return s } -// Specifies the default settings and content for a one-time email message that's -// sent directly to an endpoint. -type EmailMessage struct { +// Provides information about the channel type and other settings for an endpoint. +type EndpointResponse struct { _ struct{} `type:"structure"` - // The body of the email message. - Body *string `type:"string"` + // The destination address for messages or push notifications that you send + // to the endpoint. The address varies by channel. For example, the address + // for a push-notification channel is typically the token provided by a push + // notification service, such as an Apple Push Notification service (APNs) device + // token or a Firebase Cloud Messaging (FCM) registration token. The address + // for the SMS channel is a phone number in E.164 format, such as +12065550100. + // The address for the email channel is an email address. + Address *string `type:"string"` - // The email address to forward bounces and complaints to, if feedback forwarding - // is enabled. - FeedbackForwardingAddress *string `type:"string"` + // The unique identifier for the application that's associated with the endpoint. + ApplicationId *string `type:"string"` - // The verified email address to send the email message from. The default value - // is the FromAddress specified for the email channel. - FromAddress *string `type:"string"` + // One or more custom attributes that describe the endpoint by associating a + // name with an array of values. For example, the value of a custom attribute + // named Interests might be: ["science", "music", "travel"]. You can use these + // attributes as filter criteria when you create segments. + Attributes map[string][]*string `type:"map"` - // The email message, represented as a raw MIME message. - RawEmail *RawEmail `type:"structure"` + // The channel that's used when sending messages or push notifications to the + // endpoint. + ChannelType *string `type:"string" enum:"ChannelType"` - // The reply-to email address(es) for the email message. If a recipient replies - // to the email, each reply-to address receives the reply. - ReplyToAddresses []*string `type:"list"` + // A number from 0-99 that represents the cohort that the endpoint is assigned + // to. Endpoints are grouped into cohorts randomly, and each cohort contains + // approximately 1 percent of the endpoints for an application. Amazon Pinpoint + // assigns cohorts to the holdout or treatment allocations for campaigns. + CohortId *string `type:"string"` - // The email message, composed of a subject, a text part, and an HTML part. - SimpleEmail *SimpleEmail `type:"structure"` + // The date and time, in ISO 8601 format, when the endpoint was created. + CreationDate *string `type:"string"` - // The default message variables to use in the email message. You can override - // the default variables with individual address variables. - Substitutions map[string][]*string `type:"map"` + // The demographic information for the endpoint, such as the time zone and platform. + Demographic *EndpointDemographic `type:"structure"` + + // The date and time, in ISO 8601 format, when the endpoint was last updated. + EffectiveDate *string `type:"string"` + + // 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 + // be a globally unique identifier (GUID) to ensure that it doesn't conflict + // with other endpoint identifiers that are associated with the application. + Id *string `type:"string"` + + // The geographic information for the endpoint. + Location *EndpointLocation `type:"structure"` + + // One or more custom metrics that your app reports to Amazon Pinpoint for the + // endpoint. + Metrics map[string]*float64 `type:"map"` + + // Specifies whether the user who's associated with the endpoint has opted out + // of receiving messages and push notifications from you. Possible values are: + // ALL, the user has opted out and doesn't want to receive any messages or push + // notifications; and, NONE, the user hasn't opted out and wants to receive + // all messages and push notifications. + OptOut *string `type:"string"` + + // The unique identifier for the most recent request to update the endpoint. + RequestId *string `type:"string"` + + // One or more custom user attributes that your app reports to Amazon Pinpoint + // for the user who's associated with the endpoint. + User *EndpointUser `type:"structure"` } // String returns the string representation -func (s EmailMessage) String() string { +func (s EndpointResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmailMessage) GoString() string { +func (s EndpointResponse) GoString() string { return s.String() } -// SetBody sets the Body field's value. -func (s *EmailMessage) SetBody(v string) *EmailMessage { - s.Body = &v +// SetAddress sets the Address field's value. +func (s *EndpointResponse) SetAddress(v string) *EndpointResponse { + s.Address = &v return s } -// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value. -func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage { - s.FeedbackForwardingAddress = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse { + s.ApplicationId = &v return s } -// SetFromAddress sets the FromAddress field's value. -func (s *EmailMessage) SetFromAddress(v string) *EmailMessage { - s.FromAddress = &v +// SetAttributes sets the Attributes field's value. +func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse { + s.Attributes = v return s } -// SetRawEmail sets the RawEmail field's value. -func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage { - s.RawEmail = v +// SetChannelType sets the ChannelType field's value. +func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse { + s.ChannelType = &v return s } -// SetReplyToAddresses sets the ReplyToAddresses field's value. -func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage { - s.ReplyToAddresses = v +// SetCohortId sets the CohortId field's value. +func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse { + s.CohortId = &v return s } -// SetSimpleEmail sets the SimpleEmail field's value. -func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage { - s.SimpleEmail = v +// SetCreationDate sets the CreationDate field's value. +func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse { + s.CreationDate = &v return s } -// SetSubstitutions sets the Substitutions field's value. -func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage { - s.Substitutions = v +// SetDemographic sets the Demographic field's value. +func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse { + s.Demographic = v + return s +} + +// SetEffectiveDate sets the EffectiveDate field's value. +func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse { + s.EffectiveDate = &v + return s +} + +// SetEndpointStatus sets the EndpointStatus field's value. +func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse { + s.EndpointStatus = &v + return s +} + +// SetId sets the Id field's value. +func (s *EndpointResponse) SetId(v string) *EndpointResponse { + s.Id = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse { + s.Location = v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse { + s.Metrics = v + return s +} + +// SetOptOut sets the OptOut field's value. +func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse { + s.OptOut = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse { + s.RequestId = &v + return s +} + +// SetUser sets the User field's value. +func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse { + s.User = v 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 { +// Specifies the content, including message variables and attributes, to use +// in a message that's sent directly to an endpoint. +type EndpointSendConfiguration 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 body of the message. If specified, this value overrides the default message + // body. + BodyOverride *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 map of custom attributes to attach to the message for the address. For + // a push notification, this payload is added to the data.pinpoint object. For + // an email or text message, this payload is added to email/SMS delivery receipt + // event attributes. + Context map[string]*string `type:"map"` - // 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 raw, JSON-formatted string to use as the payload for the message. If + // specified, this value overrides the message. + RawContent *string `type:"string"` - // 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"` + // A map of the message variables to merge with the variables specified for + // the default message (DefaultMessage.Substitutions). The variables specified + // in this map take precedence over all other variables. + Substitutions map[string][]*string `type:"map"` + + // The title or subject line of the message. If specified, this value overrides + // the default message title or subject line. + TitleOverride *string `type:"string"` } // String returns the string representation -func (s EmailTemplateRequest) String() string { +func (s EndpointSendConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmailTemplateRequest) GoString() string { +func (s EndpointSendConfiguration) GoString() string { return s.String() } -// SetHtmlPart sets the HtmlPart field's value. -func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest { - s.HtmlPart = &v +// SetBodyOverride sets the BodyOverride field's value. +func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration { + s.BodyOverride = &v return s } -// SetSubject sets the Subject field's value. -func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest { - s.Subject = &v +// SetContext sets the Context field's value. +func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration { + s.Context = v return s } -// SetTags sets the Tags field's value. -func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest { - s.Tags = v +// SetRawContent sets the RawContent field's value. +func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration { + s.RawContent = &v return s } -// SetTextPart sets the TextPart field's value. -func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest { - s.TextPart = &v +// SetSubstitutions sets the Substitutions field's value. +func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration { + s.Substitutions = 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"` +// SetTitleOverride sets the TitleOverride field's value. +func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration { + s.TitleOverride = &v + return s +} - // The name of the message template. - // - // TemplateName is a required field - TemplateName *string `type:"string" required:"true"` +// Specifies data for one or more attributes that describe the user who's associated +// with an endpoint. +type EndpointUser struct { + _ struct{} `type:"structure"` - // The type of channel that the message template is designed for. For an email - // template, this value is EMAIL. + // One or more custom attributes that describe the user by associating a name + // with an array of values. For example, the value of an attribute named Interests + // might be: ["science", "music", "travel"]. You can use these attributes as + // filter criteria when you create segments. // - // TemplateType is a required field - TemplateType *string `type:"string" required:"true" enum:"TemplateType"` + // When you define the name of a custom attribute, avoid using the following + // characters: number sign (#), colon (:), question mark (?), backslash (\), + // and slash (/). The Amazon Pinpoint console can't display attribute names + // that contain these characters. This limitation doesn't apply to attribute + // values. + UserAttributes map[string][]*string `type:"map"` - // The message body, in text format, that's used in email messages that are - // based on the message template. - TextPart *string `type:"string"` + // The unique identifier for the user. + UserId *string `type:"string"` } // String returns the string representation -func (s EmailTemplateResponse) String() string { +func (s EndpointUser) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmailTemplateResponse) GoString() string { +func (s EndpointUser) 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 +// SetUserAttributes sets the UserAttributes field's value. +func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser { + s.UserAttributes = v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse { - s.LastModifiedDate = &v +// SetUserId sets the UserId field's value. +func (s *EndpointUser) SetUserId(v string) *EndpointUser { + s.UserId = &v return s } -// SetSubject sets the Subject field's value. -func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse { - s.Subject = &v - return s -} +// Provides information about all the endpoints that are associated with a user +// ID. +type EndpointsResponse struct { + _ struct{} `type:"structure"` -// SetTags sets the Tags field's value. -func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse { - s.Tags = v - return s + // An array of responses, one for each endpoint that's associated with the user + // ID. + // + // Item is a required field + Item []*EndpointResponse `type:"list" required:"true"` } -// SetTemplateName sets the TemplateName field's value. -func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse { - s.TemplateName = &v - return s +// String returns the string representation +func (s EndpointsResponse) String() string { + return awsutil.Prettify(s) } -// SetTemplateType sets the TemplateType field's value. -func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse { - s.TemplateType = &v - return s +// GoString returns the string representation +func (s EndpointsResponse) GoString() string { + return s.String() } -// SetTextPart sets the TextPart field's value. -func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse { - s.TextPart = &v +// SetItem sets the Item field's value. +func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse { + s.Item = 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 { +// Specifies information about an event that reports data to Amazon Pinpoint. +type Event struct { _ struct{} `type:"structure"` - // The destination address for messages or push notifications that you send - // to the endpoint. The address varies by channel. For a push-notification channel, - // use the token provided by the push notification service, such as an Apple - // Push Notification service (APNs) device token or a Firebase Cloud Messaging - // (FCM) registration token. For the SMS channel, use a phone number in E.164 - // format, such as +12065550100. For the email channel, use an email address. - Address *string `type:"string"` + // The package name of the app that's recording the event. + AppPackageName *string `type:"string"` - // One or more custom attributes that describe the endpoint by associating a - // name with an array of values. For example, the value of a custom attribute - // named Interests might be: ["science", "music", "travel"]. You can use these - // attributes as filter criteria when you create segments. - // - // When you define the name of a custom attribute, avoid using the following - // characters: number sign (#), colon (:), question mark (?), backslash (\), - // and slash (/). The Amazon Pinpoint console can't display attribute names - // that contain these characters. This limitation doesn't apply to attribute - // values. - Attributes map[string][]*string `type:"map"` + // The title of the app that's recording the event. + AppTitle *string `type:"string"` - // The channel to use when sending messages or push notifications to the endpoint. - ChannelType *string `type:"string" enum:"ChannelType"` + // The version number of the app that's recording the event. + AppVersionCode *string `type:"string"` - // The demographic information for the endpoint, such as the time zone and platform. - Demographic *EndpointDemographic `type:"structure"` + // One or more custom attributes that are associated with the event. + Attributes map[string]*string `type:"map"` - // The date and time, in ISO 8601 format, when the endpoint was created or updated. - EffectiveDate *string `type:"string"` + // The version of the SDK that's running on the client device. + ClientSdkVersion *string `type:"string"` - // 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. + // The name of the event. // - // 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. - Id *string `type:"string"` - - // The geographic information for the endpoint. - Location *EndpointLocation `type:"structure"` + // EventType is a required field + EventType *string `type:"string" required:"true"` - // One or more custom metrics that your app reports to Amazon Pinpoint for the - // endpoint. + // One or more custom metrics that are associated with the event. Metrics map[string]*float64 `type:"map"` - // Specifies whether the user who's associated with the endpoint has opted out - // of receiving messages and push notifications from you. Possible values are: - // ALL, the user has opted out and doesn't want to receive any messages or push - // notifications; and, NONE, the user hasn't opted out and wants to receive - // all messages and push notifications. - OptOut *string `type:"string"` + // The name of the SDK that's being used to record the event. + SdkName *string `type:"string"` - // The unique identifier for the request to create or update the endpoint. - RequestId *string `type:"string"` + // Information about the session in which the event occurred. + Session *Session `type:"structure"` - // One or more custom user attributes that your app reports to Amazon Pinpoint - // for the user who's associated with the endpoint. - User *EndpointUser `type:"structure"` + // The date and time, in ISO 8601 format, when the event occurred. + // + // Timestamp is a required field + Timestamp *string `type:"string" required:"true"` } // String returns the string representation -func (s EndpointBatchItem) String() string { +func (s Event) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointBatchItem) GoString() string { +func (s Event) GoString() string { return s.String() } -// SetAddress sets the Address field's value. -func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem { - s.Address = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *Event) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Event"} + if s.EventType == nil { + invalidParams.Add(request.NewErrParamRequired("EventType")) + } + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) + } + if s.Session != nil { + if err := s.Session.Validate(); err != nil { + invalidParams.AddNested("Session", err.(request.ErrInvalidParams)) + } + } -// SetAttributes sets the Attributes field's value. -func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem { - s.Attributes = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetChannelType sets the ChannelType field's value. -func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem { - s.ChannelType = &v +// SetAppPackageName sets the AppPackageName field's value. +func (s *Event) SetAppPackageName(v string) *Event { + s.AppPackageName = &v return s } -// SetDemographic sets the Demographic field's value. -func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem { - s.Demographic = v +// SetAppTitle sets the AppTitle field's value. +func (s *Event) SetAppTitle(v string) *Event { + s.AppTitle = &v return s } -// SetEffectiveDate sets the EffectiveDate field's value. -func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem { - s.EffectiveDate = &v +// SetAppVersionCode sets the AppVersionCode field's value. +func (s *Event) SetAppVersionCode(v string) *Event { + s.AppVersionCode = &v return s } -// SetEndpointStatus sets the EndpointStatus field's value. -func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem { - s.EndpointStatus = &v +// SetAttributes sets the Attributes field's value. +func (s *Event) SetAttributes(v map[string]*string) *Event { + s.Attributes = v return s } -// SetId sets the Id field's value. -func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem { - s.Id = &v +// SetClientSdkVersion sets the ClientSdkVersion field's value. +func (s *Event) SetClientSdkVersion(v string) *Event { + s.ClientSdkVersion = &v return s } -// SetLocation sets the Location field's value. -func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem { - s.Location = v +// SetEventType sets the EventType field's value. +func (s *Event) SetEventType(v string) *Event { + s.EventType = &v return s } // SetMetrics sets the Metrics field's value. -func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem { +func (s *Event) SetMetrics(v map[string]*float64) *Event { s.Metrics = v return s } -// SetOptOut sets the OptOut field's value. -func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem { - s.OptOut = &v +// SetSdkName sets the SdkName field's value. +func (s *Event) SetSdkName(v string) *Event { + s.SdkName = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem { - s.RequestId = &v +// SetSession sets the Session field's value. +func (s *Event) SetSession(v *Session) *Event { + s.Session = v return s } -// SetUser sets the User field's value. -func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem { - s.User = v +// SetTimestamp sets the Timestamp field's value. +func (s *Event) SetTimestamp(v string) *Event { + s.Timestamp = &v return s } -// Specifies a batch of endpoints to create or update and the settings and attributes -// to set or change for each endpoint. -type EndpointBatchRequest struct { +// Specifies the conditions to evaluate for an event that applies to an activity +// in a journey. +type EventCondition struct { _ struct{} `type:"structure"` - // An array that defines the endpoints to create or update and, for each endpoint, - // the property values to set or change. An array can contain a maximum of 100 - // items. + // The dimensions for the event filter to use for the activity. // - // Item is a required field - Item []*EndpointBatchItem `type:"list" required:"true"` + // Dimensions is a required field + Dimensions *EventDimensions `type:"structure" required:"true"` + + // The message identifier (message_id) for the message to use when determining + // whether message events meet the condition. + MessageActivity *string `type:"string"` } // String returns the string representation -func (s EndpointBatchRequest) String() string { +func (s EventCondition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointBatchRequest) GoString() string { +func (s EventCondition) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EndpointBatchRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"} - if s.Item == nil { - invalidParams.Add(request.NewErrParamRequired("Item")) +func (s *EventCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EventCondition"} + if s.Dimensions == nil { + invalidParams.Add(request.NewErrParamRequired("Dimensions")) + } + if s.Dimensions != nil { + if err := s.Dimensions.Validate(); err != nil { + invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -15253,1145 +17530,1134 @@ func (s *EndpointBatchRequest) Validate() error { return nil } -// SetItem sets the Item field's value. -func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest { - s.Item = v +// SetDimensions sets the Dimensions field's value. +func (s *EventCondition) SetDimensions(v *EventDimensions) *EventCondition { + s.Dimensions = v return s } -// Specifies demographic information about an endpoint, such as the applicable -// time zone and platform. -type EndpointDemographic struct { - _ struct{} `type:"structure"` - - // The version of the app that's associated with the endpoint. - AppVersion *string `type:"string"` - - // The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 - // code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value. - Locale *string `type:"string"` - - // The manufacturer of the endpoint device, such as Apple or Samsung. - Make *string `type:"string"` - - // The model name or number of the endpoint device, such as iPhone. - Model *string `type:"string"` +// SetMessageActivity sets the MessageActivity field's value. +func (s *EventCondition) SetMessageActivity(v string) *EventCondition { + s.MessageActivity = &v + return s +} - // The model version of the endpoint device. - ModelVersion *string `type:"string"` +// Specifies the dimensions for an event filter that determines when a campaign +// is sent or a journey activity is performed. +type EventDimensions struct { + _ struct{} `type:"structure"` - // The platform of the endpoint device, such as iOS or Android. - Platform *string `type:"string"` + // One or more custom attributes that your application reports to Amazon Pinpoint. + // You can use these attributes as selection criteria when you create an event + // filter. + Attributes map[string]*AttributeDimension `type:"map"` - // The platform version of the endpoint device. - PlatformVersion *string `type:"string"` + // The name of the event that causes the campaign to be sent or the journey + // activity to be performed. This can be a standard type of event that Amazon + // Pinpoint generates, such as _email.delivered, or a custom event that's specific + // to your application. + EventType *SetDimension `type:"structure"` - // The time zone of the endpoint, specified as a tz database name value, such - // as America/Los_Angeles. - Timezone *string `type:"string"` + // One or more custom metrics that your application reports to Amazon Pinpoint. + // You can use these metrics as selection criteria when you create an event + // filter. + Metrics map[string]*MetricDimension `type:"map"` } // String returns the string representation -func (s EndpointDemographic) String() string { +func (s EventDimensions) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointDemographic) GoString() string { +func (s EventDimensions) GoString() string { return s.String() } -// SetAppVersion sets the AppVersion field's value. -func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic { - s.AppVersion = &v - return s -} - -// SetLocale sets the Locale field's value. -func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic { - s.Locale = &v - return s -} - -// SetMake sets the Make field's value. -func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic { - s.Make = &v - return s -} - -// SetModel sets the Model field's value. -func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic { - s.Model = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *EventDimensions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EventDimensions"} + if s.Attributes != nil { + for i, v := range s.Attributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.EventType != nil { + if err := s.EventType.Validate(); err != nil { + invalidParams.AddNested("EventType", err.(request.ErrInvalidParams)) + } + } + if s.Metrics != nil { + for i, v := range s.Metrics { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams)) + } + } + } -// SetModelVersion sets the ModelVersion field's value. -func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic { - s.ModelVersion = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPlatform sets the Platform field's value. -func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic { - s.Platform = &v +// SetAttributes sets the Attributes field's value. +func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions { + s.Attributes = v return s } -// SetPlatformVersion sets the PlatformVersion field's value. -func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic { - s.PlatformVersion = &v +// SetEventType sets the EventType field's value. +func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions { + s.EventType = v return s } -// SetTimezone sets the Timezone field's value. -func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic { - s.Timezone = &v +// SetMetrics sets the Metrics field's value. +func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions { + s.Metrics = v return s } -// Provides the status code and message that result from processing data for -// an endpoint. -type EndpointItemResponse struct { +// Provides the status code and message that result from processing an event. +type EventItemResponse struct { _ struct{} `type:"structure"` - // The custom message that's returned in the response as a result of processing - // the endpoint data. + // A custom message that's returned in the response as a result of processing + // the event. Message *string `type:"string"` // The status code that's returned in the response as a result of processing - // the endpoint data. + // the event. Possible values are: 202, for events that were accepted; and, + // 400, for events that weren't valid. StatusCode *int64 `type:"integer"` } // String returns the string representation -func (s EndpointItemResponse) String() string { +func (s EventItemResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointItemResponse) GoString() string { +func (s EventItemResponse) GoString() string { return s.String() } // SetMessage sets the Message field's value. -func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse { +func (s *EventItemResponse) SetMessage(v string) *EventItemResponse { s.Message = &v return s } // SetStatusCode sets the StatusCode field's value. -func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse { +func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse { s.StatusCode = &v return s } -// Specifies geographic information about an endpoint. -type EndpointLocation struct { +// Specifies settings for publishing event data to an Amazon Kinesis data stream +// or an Amazon Kinesis Data Firehose delivery stream. +type EventStream struct { _ struct{} `type:"structure"` - // The name of the city where the endpoint is located. - City *string `type:"string"` + // The unique identifier for the application to publish event data for. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` - // The two-character code, in ISO 3166-1 alpha-2 format, for the country or - // region where the endpoint is located. For example, US for the United States. - Country *string `type:"string"` + // The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon + // Kinesis Data Firehose delivery stream to publish event data to. + // + // For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name + // + // For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name + // + // DestinationStreamArn is a required field + DestinationStreamArn *string `type:"string" required:"true"` - // The latitude coordinate of the endpoint location, rounded to one decimal - // place. - Latitude *float64 `type:"double"` + // (Deprecated) Your AWS account ID, which you assigned to an external ID key + // in an IAM trust policy. Amazon Pinpoint previously used this value to assume + // an IAM role when publishing event data, but we removed this requirement. + // We don't recommend use of external IDs for IAM roles that are assumed by + // Amazon Pinpoint. + ExternalId *string `type:"string"` - // The longitude coordinate of the endpoint location, rounded to one decimal - // place. - Longitude *float64 `type:"double"` + // The date, in ISO 8601 format, when the event stream was last modified. + LastModifiedDate *string `type:"string"` - // The postal or ZIP code for the area where the endpoint is located. - PostalCode *string `type:"string"` + // The IAM user who last modified the event stream. + LastUpdatedBy *string `type:"string"` - // The name of the region where the endpoint is located. For locations in the - // United States, this value is the name of a state. - Region *string `type:"string"` + // The AWS Identity and Access Management (IAM) role that authorizes Amazon + // Pinpoint to publish event data to the stream in your AWS account. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` } // String returns the string representation -func (s EndpointLocation) String() string { +func (s EventStream) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointLocation) GoString() string { +func (s EventStream) GoString() string { return s.String() } -// SetCity sets the City field's value. -func (s *EndpointLocation) SetCity(v string) *EndpointLocation { - s.City = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *EventStream) SetApplicationId(v string) *EventStream { + s.ApplicationId = &v return s } -// SetCountry sets the Country field's value. -func (s *EndpointLocation) SetCountry(v string) *EndpointLocation { - s.Country = &v +// SetDestinationStreamArn sets the DestinationStreamArn field's value. +func (s *EventStream) SetDestinationStreamArn(v string) *EventStream { + s.DestinationStreamArn = &v return s } -// SetLatitude sets the Latitude field's value. -func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation { - s.Latitude = &v +// SetExternalId sets the ExternalId field's value. +func (s *EventStream) SetExternalId(v string) *EventStream { + s.ExternalId = &v return s } -// SetLongitude sets the Longitude field's value. -func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation { - s.Longitude = &v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *EventStream) SetLastModifiedDate(v string) *EventStream { + s.LastModifiedDate = &v return s } -// SetPostalCode sets the PostalCode field's value. -func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation { - s.PostalCode = &v +// SetLastUpdatedBy sets the LastUpdatedBy field's value. +func (s *EventStream) SetLastUpdatedBy(v string) *EventStream { + s.LastUpdatedBy = &v return s } -// SetRegion sets the Region field's value. -func (s *EndpointLocation) SetRegion(v string) *EndpointLocation { - s.Region = &v +// SetRoleArn sets the RoleArn field's value. +func (s *EventStream) SetRoleArn(v string) *EventStream { + s.RoleArn = &v return s } -// Provides information about the delivery status and results of sending a message -// directly to an endpoint. -type EndpointMessageResult struct { +// Specifies a batch of endpoints and events to process. +type EventsBatch struct { _ struct{} `type:"structure"` - // The endpoint address that the message was delivered to. - Address *string `type:"string"` - - // The delivery status of the message. Possible values are: - // - // * DUPLICATE - The endpoint address is a duplicate of another endpoint - // address. Amazon Pinpoint won't attempt to send the message again. - // - // * OPT_OUT - The user who's associated with the endpoint has opted out - // of receiving messages from you. Amazon Pinpoint won't attempt to send - // the message again. - // - // * PERMANENT_FAILURE - An error occurred when delivering the message to - // the endpoint. Amazon Pinpoint won't attempt to send the message again. - // - // * SUCCESSFUL - The message was successfully delivered to the endpoint. - // - // * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will - // attempt to deliver the message again later. - // - // * THROTTLED - Amazon Pinpoint throttled the operation to send the message - // to the endpoint. - // - // * TIMEOUT - The message couldn't be sent within the timeout period. - // - // * UNKNOWN_FAILURE - An unknown error occurred. + // A set of properties and attributes that are associated with the endpoint. // - // DeliveryStatus is a required field - DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"` - - // The unique identifier for the message that was sent. - MessageId *string `type:"string"` + // Endpoint is a required field + Endpoint *PublicEndpoint `type:"structure" required:"true"` - // The downstream service status code for delivering the message. + // A set of properties that are associated with the event. // - // StatusCode is a required field - StatusCode *int64 `type:"integer" required:"true"` - - // The status message for delivering the message. - StatusMessage *string `type:"string"` - - // For push notifications that are sent through the GCM channel, specifies whether - // the endpoint's device registration token was updated as part of delivering - // the message. - UpdatedToken *string `type:"string"` + // Events is a required field + Events map[string]*Event `type:"map" required:"true"` } // String returns the string representation -func (s EndpointMessageResult) String() string { +func (s EventsBatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointMessageResult) GoString() string { +func (s EventsBatch) GoString() string { return s.String() } -// SetAddress sets the Address field's value. -func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult { - s.Address = &v - return s -} - -// SetDeliveryStatus sets the DeliveryStatus field's value. -func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult { - s.DeliveryStatus = &v - return s -} - -// SetMessageId sets the MessageId field's value. -func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult { - s.MessageId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *EventsBatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EventsBatch"} + if s.Endpoint == nil { + invalidParams.Add(request.NewErrParamRequired("Endpoint")) + } + if s.Events == nil { + invalidParams.Add(request.NewErrParamRequired("Events")) + } + if s.Events != nil { + for i, v := range s.Events { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams)) + } + } + } -// SetStatusCode sets the StatusCode field's value. -func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult { - s.StatusCode = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatusMessage sets the StatusMessage field's value. -func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult { - s.StatusMessage = &v +// SetEndpoint sets the Endpoint field's value. +func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch { + s.Endpoint = v return s } -// SetUpdatedToken sets the UpdatedToken field's value. -func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult { - s.UpdatedToken = &v +// SetEvents sets the Events field's value. +func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch { + s.Events = v return s } -// Specifies the channel type and other settings for an endpoint. -type EndpointRequest struct { +// Specifies a batch of events to process. +type EventsRequest struct { _ struct{} `type:"structure"` - // The destination address for messages or push notifications that you send - // to the endpoint. The address varies by channel. For a push-notification channel, - // use the token provided by the push notification service, such as an Apple - // Push Notification service (APNs) device token or a Firebase Cloud Messaging - // (FCM) registration token. For the SMS channel, use a phone number in E.164 - // format, such as +12065550100. For the email channel, use an email address. - Address *string `type:"string"` - - // One or more custom attributes that describe the endpoint by associating a - // name with an array of values. For example, the value of a custom attribute - // named Interests might be: ["science", "music", "travel"]. You can use these - // attributes as filter criteria when you create segments. + // The batch of events to process. For each item in a batch, the endpoint ID + // acts as a key that has an EventsBatch object as its value. // - // When you define the name of a custom attribute, avoid using the following - // characters: number sign (#), colon (:), question mark (?), backslash (\), - // and slash (/). The Amazon Pinpoint console can't display attribute names - // that contain these characters. This limitation doesn't apply to attribute - // values. - Attributes map[string][]*string `type:"map"` - - // The channel to use when sending messages or push notifications to the endpoint. - ChannelType *string `type:"string" enum:"ChannelType"` - - // The demographic information for the endpoint, such as the time zone and platform. - Demographic *EndpointDemographic `type:"structure"` + // BatchItem is a required field + BatchItem map[string]*EventsBatch `type:"map" required:"true"` +} - // The date and time, in ISO 8601 format, when the endpoint is updated. - EffectiveDate *string `type:"string"` +// String returns the string representation +func (s EventsRequest) String() string { + return awsutil.Prettify(s) +} - // 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"` +// GoString returns the string representation +func (s EventsRequest) GoString() string { + return s.String() +} - // The geographic information for the endpoint. - Location *EndpointLocation `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *EventsRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EventsRequest"} + if s.BatchItem == nil { + invalidParams.Add(request.NewErrParamRequired("BatchItem")) + } + if s.BatchItem != nil { + for i, v := range s.BatchItem { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams)) + } + } + } - // One or more custom metrics that your app reports to Amazon Pinpoint for the - // endpoint. - Metrics map[string]*float64 `type:"map"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Specifies whether the user who's associated with the endpoint has opted out - // of receiving messages and push notifications from you. Possible values are: - // ALL, the user has opted out and doesn't want to receive any messages or push - // notifications; and, NONE, the user hasn't opted out and wants to receive - // all messages and push notifications. - OptOut *string `type:"string"` +// SetBatchItem sets the BatchItem field's value. +func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest { + s.BatchItem = v + return s +} - // The unique identifier for the most recent request to update the endpoint. - RequestId *string `type:"string"` +// Provides information about endpoints and the events that they're associated +// with. +type EventsResponse struct { + _ struct{} `type:"structure"` - // One or more custom user attributes that describe the user who's associated - // with the endpoint. - User *EndpointUser `type:"structure"` + // A map that contains a multipart response for each endpoint. For each item + // in this object, the endpoint ID is the key and the item response is the value. + // If no item response exists, the value can also be one of the following: 202, + // the request was processed successfully; or 400, the payload wasn't valid + // or required fields were missing. + Results map[string]*ItemResponse `type:"map"` } // String returns the string representation -func (s EndpointRequest) String() string { +func (s EventsResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointRequest) GoString() string { +func (s EventsResponse) GoString() string { return s.String() } -// SetAddress sets the Address field's value. -func (s *EndpointRequest) SetAddress(v string) *EndpointRequest { - s.Address = &v +// SetResults sets the Results field's value. +func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse { + s.Results = v return s } -// SetAttributes sets the Attributes field's value. -func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest { - s.Attributes = v - return s -} +// Specifies the settings for a job that exports endpoint definitions to an +// Amazon Simple Storage Service (Amazon S3) bucket. +type ExportJobRequest struct { + _ struct{} `type:"structure"` -// SetChannelType sets the ChannelType field's value. -func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest { - s.ChannelType = &v - return s -} + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management + // (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location + // where you want to export endpoint definitions to. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` -// SetDemographic sets the Demographic field's value. -func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest { - s.Demographic = v - return s + // The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket + // where you want to export endpoint definitions to. This location is typically + // a folder that contains multiple files. The URL should be in the following + // format: s3://bucket-name/folder-name/. + // + // S3UrlPrefix is a required field + S3UrlPrefix *string `type:"string" required:"true"` + + // The identifier for the segment to export endpoint definitions from. If you + // don't specify this value, Amazon Pinpoint exports definitions for all the + // endpoints that are associated with the application. + SegmentId *string `type:"string"` + + // The version of the segment to export endpoint definitions from, if specified. + SegmentVersion *int64 `type:"integer"` } -// SetEffectiveDate sets the EffectiveDate field's value. -func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest { - s.EffectiveDate = &v - return s +// String returns the string representation +func (s ExportJobRequest) String() string { + return awsutil.Prettify(s) } -// SetEndpointStatus sets the EndpointStatus field's value. -func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest { - s.EndpointStatus = &v - return s +// GoString returns the string representation +func (s ExportJobRequest) GoString() string { + return s.String() } -// SetLocation sets the Location field's value. -func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest { - s.Location = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportJobRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.S3UrlPrefix == nil { + invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMetrics sets the Metrics field's value. -func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest { - s.Metrics = v +// SetRoleArn sets the RoleArn field's value. +func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest { + s.RoleArn = &v return s } -// SetOptOut sets the OptOut field's value. -func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest { - s.OptOut = &v +// SetS3UrlPrefix sets the S3UrlPrefix field's value. +func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest { + s.S3UrlPrefix = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest { - s.RequestId = &v +// SetSegmentId sets the SegmentId field's value. +func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest { + s.SegmentId = &v return s } -// SetUser sets the User field's value. -func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest { - s.User = v +// SetSegmentVersion sets the SegmentVersion field's value. +func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest { + s.SegmentVersion = &v return s } -// Provides information about the channel type and other settings for an endpoint. -type EndpointResponse struct { +// Provides information about the resource settings for a job that exports endpoint +// definitions to a file. The file can be added directly to an Amazon Simple +// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded +// directly to a computer by using the Amazon Pinpoint console. +type ExportJobResource struct { _ struct{} `type:"structure"` - // The destination address for messages or push notifications that you send - // to the endpoint. The address varies by channel. For example, the address - // for a push-notification channel is typically the token provided by a push - // notification service, such as an Apple Push Notification service (APNs) device - // token or a Firebase Cloud Messaging (FCM) registration token. The address - // for the SMS channel is a phone number in E.164 format, such as +12065550100. - // The address for the email channel is an email address. - Address *string `type:"string"` - - // The unique identifier for the application that's associated with the endpoint. - ApplicationId *string `type:"string"` - - // One or more custom attributes that describe the endpoint by associating a - // name with an array of values. For example, the value of a custom attribute - // named Interests might be: ["science", "music", "travel"]. You can use these - // attributes as filter criteria when you create segments. - Attributes map[string][]*string `type:"map"` - - // The channel that's used when sending messages or push notifications to the - // endpoint. - ChannelType *string `type:"string" enum:"ChannelType"` - - // A number from 0-99 that represents the cohort that the endpoint is assigned - // to. Endpoints are grouped into cohorts randomly, and each cohort contains - // approximately 1 percent of the endpoints for an application. Amazon Pinpoint - // assigns cohorts to the holdout or treatment allocations for campaigns. - CohortId *string `type:"string"` - - // The date and time, in ISO 8601 format, when the endpoint was created. - CreationDate *string `type:"string"` - - // The demographic information for the endpoint, such as the time zone and platform. - Demographic *EndpointDemographic `type:"structure"` - - // The date and time, in ISO 8601 format, when the endpoint was last updated. - EffectiveDate *string `type:"string"` - - // 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. + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management + // (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location + // where the endpoint definitions were exported to. // - // 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 - // be a globally unique identifier (GUID) to ensure that it doesn't conflict - // with other endpoint identifiers that are associated with the application. - Id *string `type:"string"` - - // The geographic information for the endpoint. - Location *EndpointLocation `type:"structure"` - - // One or more custom metrics that your app reports to Amazon Pinpoint for the - // endpoint. - Metrics map[string]*float64 `type:"map"` + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` - // Specifies whether the user who's associated with the endpoint has opted out - // of receiving messages and push notifications from you. Possible values are: - // ALL, the user has opted out and doesn't want to receive any messages or push - // notifications; and, NONE, the user hasn't opted out and wants to receive - // all messages and push notifications. - OptOut *string `type:"string"` + // The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket + // where the endpoint definitions were exported to. This location is typically + // a folder that contains multiple files. The URL should be in the following + // format: s3://bucket-name/folder-name/. + // + // S3UrlPrefix is a required field + S3UrlPrefix *string `type:"string" required:"true"` - // The unique identifier for the most recent request to update the endpoint. - RequestId *string `type:"string"` + // The identifier for the segment that the endpoint definitions were exported + // from. If this value isn't present, Amazon Pinpoint exported definitions for + // all the endpoints that are associated with the application. + SegmentId *string `type:"string"` - // One or more custom user attributes that your app reports to Amazon Pinpoint - // for the user who's associated with the endpoint. - User *EndpointUser `type:"structure"` + // The version of the segment that the endpoint definitions were exported from. + SegmentVersion *int64 `type:"integer"` } // String returns the string representation -func (s EndpointResponse) String() string { +func (s ExportJobResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointResponse) GoString() string { +func (s ExportJobResource) GoString() string { return s.String() } -// SetAddress sets the Address field's value. -func (s *EndpointResponse) SetAddress(v string) *EndpointResponse { - s.Address = &v +// SetRoleArn sets the RoleArn field's value. +func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource { + s.RoleArn = &v return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse { - s.ApplicationId = &v +// SetS3UrlPrefix sets the S3UrlPrefix field's value. +func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource { + s.S3UrlPrefix = &v return s } -// SetAttributes sets the Attributes field's value. -func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse { - s.Attributes = v +// SetSegmentId sets the SegmentId field's value. +func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource { + s.SegmentId = &v return s } -// SetChannelType sets the ChannelType field's value. -func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse { - s.ChannelType = &v +// SetSegmentVersion sets the SegmentVersion field's value. +func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource { + s.SegmentVersion = &v return s } -// SetCohortId sets the CohortId field's value. -func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse { - s.CohortId = &v - return s -} +// Provides information about the status and settings of a job that exports +// endpoint definitions to a file. The file can be added directly to an Amazon +// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API +// or downloaded directly to a computer by using the Amazon Pinpoint console. +type ExportJobResponse struct { + _ struct{} `type:"structure"` -// SetCreationDate sets the CreationDate field's value. -func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse { - s.CreationDate = &v - return s -} + // The unique identifier for the application that's associated with the export + // job. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` -// SetDemographic sets the Demographic field's value. -func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse { - s.Demographic = v - return s -} + // The number of pieces that were processed successfully (completed) by the + // export job, as of the time of the request. + CompletedPieces *int64 `type:"integer"` -// SetEffectiveDate sets the EffectiveDate field's value. -func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse { - s.EffectiveDate = &v - return s + // The date, in ISO 8601 format, when the export job was completed. + CompletionDate *string `type:"string"` + + // The date, in ISO 8601 format, when the export job was created. + // + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` + + // The resource settings that apply to the export job. + // + // Definition is a required field + Definition *ExportJobResource `type:"structure" required:"true"` + + // The number of pieces that weren't processed successfully (failed) by the + // export job, as of the time of the request. + FailedPieces *int64 `type:"integer"` + + // An array of entries, one for each of the first 100 entries that weren't processed + // successfully (failed) by the export job, if any. + Failures []*string `type:"list"` + + // The unique identifier for the export job. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The status of the export job. The job status is FAILED if Amazon Pinpoint + // wasn't able to process one or more pieces in the job. + // + // JobStatus is a required field + JobStatus *string `type:"string" required:"true" enum:"JobStatus"` + + // The total number of endpoint definitions that weren't processed successfully + // (failed) by the export job, typically because an error, such as a syntax + // error, occurred. + TotalFailures *int64 `type:"integer"` + + // The total number of pieces that must be processed to complete the export + // job. Each piece consists of an approximately equal portion of the endpoint + // definitions that are part of the export job. + TotalPieces *int64 `type:"integer"` + + // The total number of endpoint definitions that were processed by the export + // job. + TotalProcessed *int64 `type:"integer"` + + // The job type. This value is EXPORT for export jobs. + // + // Type is a required field + Type *string `type:"string" required:"true"` } -// SetEndpointStatus sets the EndpointStatus field's value. -func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse { - s.EndpointStatus = &v - return s +// String returns the string representation +func (s ExportJobResponse) String() string { + return awsutil.Prettify(s) } -// SetId sets the Id field's value. -func (s *EndpointResponse) SetId(v string) *EndpointResponse { - s.Id = &v - return s +// GoString returns the string representation +func (s ExportJobResponse) GoString() string { + return s.String() } -// SetLocation sets the Location field's value. -func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse { - s.Location = v +// SetApplicationId sets the ApplicationId field's value. +func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse { + s.ApplicationId = &v return s } -// SetMetrics sets the Metrics field's value. -func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse { - s.Metrics = v +// SetCompletedPieces sets the CompletedPieces field's value. +func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse { + s.CompletedPieces = &v return s } -// SetOptOut sets the OptOut field's value. -func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse { - s.OptOut = &v +// SetCompletionDate sets the CompletionDate field's value. +func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse { + s.CompletionDate = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse { - s.RequestId = &v +// SetCreationDate sets the CreationDate field's value. +func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse { + s.CreationDate = &v return s } -// SetUser sets the User field's value. -func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse { - s.User = v +// SetDefinition sets the Definition field's value. +func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse { + s.Definition = v return s } -// Specifies the content, including message variables and attributes, to use -// in a message that's sent directly to an endpoint. -type EndpointSendConfiguration struct { - _ struct{} `type:"structure"` - - // The body of the message. If specified, this value overrides the default message - // body. - BodyOverride *string `type:"string"` - - // A map of custom attributes to attach to the message for the address. For - // a push notification, this payload is added to the data.pinpoint object. For - // an email or text message, this payload is added to email/SMS delivery receipt - // event attributes. - Context map[string]*string `type:"map"` - - // The raw, JSON-formatted string to use as the payload for the message. If - // specified, this value overrides the message. - RawContent *string `type:"string"` - - // A map of the message variables to merge with the variables specified for - // the default message (DefaultMessage.Substitutions). The variables specified - // in this map take precedence over all other variables. - Substitutions map[string][]*string `type:"map"` - - // The title or subject line of the message. If specified, this value overrides - // the default message title or subject line. - TitleOverride *string `type:"string"` +// SetFailedPieces sets the FailedPieces field's value. +func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse { + s.FailedPieces = &v + return s } -// String returns the string representation -func (s EndpointSendConfiguration) String() string { - return awsutil.Prettify(s) +// SetFailures sets the Failures field's value. +func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse { + s.Failures = v + return s } -// GoString returns the string representation -func (s EndpointSendConfiguration) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *ExportJobResponse) SetId(v string) *ExportJobResponse { + s.Id = &v + return s } -// SetBodyOverride sets the BodyOverride field's value. -func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration { - s.BodyOverride = &v +// SetJobStatus sets the JobStatus field's value. +func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse { + s.JobStatus = &v return s } -// SetContext sets the Context field's value. -func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration { - s.Context = v +// SetTotalFailures sets the TotalFailures field's value. +func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse { + s.TotalFailures = &v return s } -// SetRawContent sets the RawContent field's value. -func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration { - s.RawContent = &v +// SetTotalPieces sets the TotalPieces field's value. +func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse { + s.TotalPieces = &v return s } -// SetSubstitutions sets the Substitutions field's value. -func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration { - s.Substitutions = v +// SetTotalProcessed sets the TotalProcessed field's value. +func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse { + s.TotalProcessed = &v return s } -// SetTitleOverride sets the TitleOverride field's value. -func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration { - s.TitleOverride = &v +// SetType sets the Type field's value. +func (s *ExportJobResponse) SetType(v string) *ExportJobResponse { + s.Type = &v return s } -// Specifies data for one or more attributes that describe the user who's associated -// with an endpoint. -type EndpointUser struct { +// Provides information about all the export jobs that are associated with an +// application or segment. An export job is a job that exports endpoint definitions +// to a file. +type ExportJobsResponse struct { _ struct{} `type:"structure"` - // One or more custom attributes that describe the user by associating a name - // with an array of values. For example, the value of an attribute named Interests - // might be: ["science", "music", "travel"]. You can use these attributes as - // filter criteria when you create segments. + // An array of responses, one for each export job that's associated with the + // application (Export Jobs resource) or segment (Segment Export Jobs resource). // - // When you define the name of a custom attribute, avoid using the following - // characters: number sign (#), colon (:), question mark (?), backslash (\), - // and slash (/). The Amazon Pinpoint console can't display attribute names - // that contain these characters. This limitation doesn't apply to attribute - // values. - UserAttributes map[string][]*string `type:"map"` + // Item is a required field + Item []*ExportJobResponse `type:"list" required:"true"` - // The unique identifier for the user. - UserId *string `type:"string"` + // 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 EndpointUser) String() string { +func (s ExportJobsResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointUser) GoString() string { +func (s ExportJobsResponse) GoString() string { return s.String() } -// SetUserAttributes sets the UserAttributes field's value. -func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser { - s.UserAttributes = v +// SetItem sets the Item field's value. +func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse { + s.Item = v return s } -// SetUserId sets the UserId field's value. -func (s *EndpointUser) SetUserId(v string) *EndpointUser { - s.UserId = &v +// SetNextToken sets the NextToken field's value. +func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse { + s.NextToken = &v return s } -// Provides information about all the endpoints that are associated with a user -// ID. -type EndpointsResponse struct { +// Specifies the status and settings of the GCM channel for an application. +// This channel enables Amazon Pinpoint to send push notifications through the +// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. +type GCMChannelRequest struct { _ struct{} `type:"structure"` - // An array of responses, one for each endpoint that's associated with the user - // ID. + // The Web API Key, also referred to as an API_KEY or server key, that you received + // from Google to communicate with Google services. // - // Item is a required field - Item []*EndpointResponse `type:"list" required:"true"` + // ApiKey is a required field + ApiKey *string `type:"string" required:"true"` + + // Specifies whether to enable the GCM channel for the application. + Enabled *bool `type:"boolean"` } // String returns the string representation -func (s EndpointsResponse) String() string { +func (s GCMChannelRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EndpointsResponse) GoString() string { +func (s GCMChannelRequest) GoString() string { return s.String() } -// SetItem sets the Item field's value. -func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse { - s.Item = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GCMChannelRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"} + if s.ApiKey == nil { + invalidParams.Add(request.NewErrParamRequired("ApiKey")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiKey sets the ApiKey field's value. +func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest { + s.ApiKey = &v return s } -// Specifies information about an event that reports data to Amazon Pinpoint. -type Event struct { +// SetEnabled sets the Enabled field's value. +func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest { + s.Enabled = &v + return s +} + +// Provides information about the status and settings of the GCM channel for +// an application. The GCM channel enables Amazon Pinpoint to send push notifications +// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging +// (GCM), service. +type GCMChannelResponse struct { _ struct{} `type:"structure"` - // The package name of the app that's recording the event. - AppPackageName *string `type:"string"` + // The unique identifier for the application that the GCM channel applies to. + ApplicationId *string `type:"string"` - // The title of the app that's recording the event. - AppTitle *string `type:"string"` + // The date and time when the GCM channel was enabled. + CreationDate *string `type:"string"` - // The version number of the app that's recording the event. - AppVersionCode *string `type:"string"` + // 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"` - // One or more custom attributes that are associated with the event. - Attributes map[string]*string `type:"map"` + // Specifies whether the GCM channel is enabled for the application. + Enabled *bool `type:"boolean"` - // The version of the SDK that's running on the client device. - ClientSdkVersion *string `type:"string"` + // (Not used) This property is retained only for backward compatibility. + HasCredential *bool `type:"boolean"` - // The name of the event. - // - // EventType is a required field - EventType *string `type:"string" required:"true"` + // (Deprecated) An identifier for the GCM channel. This property is retained + // only for backward compatibility. + Id *string `type:"string"` - // One or more custom metrics that are associated with the event. - Metrics map[string]*float64 `type:"map"` + // Specifies whether the GCM channel is archived. + IsArchived *bool `type:"boolean"` - // The name of the SDK that's being used to record the event. - SdkName *string `type:"string"` + // The user who last modified the GCM channel. + LastModifiedBy *string `type:"string"` - // Information about the session in which the event occurred. - Session *Session `type:"structure"` + // The date and time when the GCM channel was last modified. + LastModifiedDate *string `type:"string"` - // The date and time, in ISO 8601 format, when the event occurred. + // The type of messaging or notification platform for the channel. For the GCM + // channel, this value is GCM. // - // Timestamp is a required field - Timestamp *string `type:"string" required:"true"` + // Platform is a required field + Platform *string `type:"string" required:"true"` + + // The current version of the GCM channel. + Version *int64 `type:"integer"` } // String returns the string representation -func (s Event) String() string { +func (s GCMChannelResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Event) GoString() string { +func (s GCMChannelResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Event) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Event"} - if s.EventType == nil { - invalidParams.Add(request.NewErrParamRequired("EventType")) - } - if s.Timestamp == nil { - invalidParams.Add(request.NewErrParamRequired("Timestamp")) - } - if s.Session != nil { - if err := s.Session.Validate(); err != nil { - invalidParams.AddNested("Session", err.(request.ErrInvalidParams)) - } - } +// SetApplicationId sets the ApplicationId field's value. +func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse { + s.ApplicationId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreationDate sets the CreationDate field's value. +func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse { + s.CreationDate = &v + return s } -// SetAppPackageName sets the AppPackageName field's value. -func (s *Event) SetAppPackageName(v string) *Event { - s.AppPackageName = &v +// SetCredential sets the Credential field's value. +func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse { + s.Credential = &v return s } -// SetAppTitle sets the AppTitle field's value. -func (s *Event) SetAppTitle(v string) *Event { - s.AppTitle = &v +// SetEnabled sets the Enabled field's value. +func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse { + s.Enabled = &v return s } -// SetAppVersionCode sets the AppVersionCode field's value. -func (s *Event) SetAppVersionCode(v string) *Event { - s.AppVersionCode = &v +// SetHasCredential sets the HasCredential field's value. +func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse { + s.HasCredential = &v return s } -// SetAttributes sets the Attributes field's value. -func (s *Event) SetAttributes(v map[string]*string) *Event { - s.Attributes = v +// SetId sets the Id field's value. +func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse { + s.Id = &v + return s +} + +// SetIsArchived sets the IsArchived field's value. +func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse { + s.IsArchived = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse { + s.LastModifiedDate = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse { + s.Platform = &v return s } -// SetClientSdkVersion sets the ClientSdkVersion field's value. -func (s *Event) SetClientSdkVersion(v string) *Event { - s.ClientSdkVersion = &v - return s -} +// SetVersion sets the Version field's value. +func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse { + s.Version = &v + return s +} + +// Specifies the settings for a one-time message that's sent directly to an +// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint +// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud +// Messaging (GCM), service. +type GCMMessage struct { + _ struct{} `type:"structure"` + + // The action to occur if the recipient taps the push notification. 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 body of the notification message. + Body *string `type:"string"` + + // An arbitrary string that identifies a group of messages that can be collapsed + // to ensure that only the last message is sent when delivery can resume. This + // helps avoid sending too many instances of the same messages when the recipient's + // device comes online again or becomes active. + // + // Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) + // collapse_key parameter when it sends the notification message to FCM. + CollapseKey *string `type:"string"` + + // The JSON data payload to use for the push notification, if the notification + // is a silent push notification. This payload is added to the data.pinpoint.jsonBody + // object of the notification. + Data map[string]*string `type:"map"` + + // The icon image name of the asset saved in your app. + IconReference *string `type:"string"` + + // The URL of the large icon image to display in the content view of the push + // notification. + ImageIconUrl *string `type:"string"` + + // The URL of an image to display in the push notification. + ImageUrl *string `type:"string"` -// SetEventType sets the EventType field's value. -func (s *Event) SetEventType(v string) *Event { - s.EventType = &v - return s -} + // para>normal - The notification might be delayed. Delivery is optimized for + // battery usage on the recipient's device. Use this value unless immediate + // delivery is required. + // /listitem> + // high - The notification is sent immediately and might wake a sleeping device. + // /para> + // Amazon Pinpoint specifies this value in the FCM priority parameter when it + // sends the notification message to FCM. + // + // The equivalent values for Apple Push Notification service (APNs) are 5, for + // normal, and 10, for high. If you specify an APNs value for this property, + // Amazon Pinpoint accepts and converts the value to the corresponding FCM value. + Priority *string `type:"string"` -// SetMetrics sets the Metrics field's value. -func (s *Event) SetMetrics(v map[string]*float64) *Event { - s.Metrics = v - return s -} + // The raw, JSON-formatted string to use as the payload for the notification + // message. This value overrides the message. + RawContent *string `type:"string"` -// SetSdkName sets the SdkName field's value. -func (s *Event) SetSdkName(v string) *Event { - s.SdkName = &v - return s -} + // The package name of the application where registration tokens must match + // in order for the recipient to receive the message. + RestrictedPackageName *string `type:"string"` -// SetSession sets the Session field's value. -func (s *Event) SetSession(v *Session) *Event { - s.Session = v - return s -} + // 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 + // or supporting phone home functionality. + SilentPush *bool `type:"boolean"` -// SetTimestamp sets the Timestamp field's value. -func (s *Event) SetTimestamp(v string) *Event { - s.Timestamp = &v - return s -} + // The URL of the small icon image to display in the status bar and the content + // view of the push notification. + SmallImageIconUrl *string `type:"string"` -// Specifies the dimensions for an event filter that determines when a campaign -// is sent. -type EventDimensions struct { - _ struct{} `type:"structure"` + // The sound to play when the recipient receives the push notification. 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"` - // One or more custom attributes that your app reports to Amazon Pinpoint. You - // can use these attributes as selection criteria when you create an event filter. - Attributes map[string]*AttributeDimension `type:"map"` + // The default message variables to use in the notification message. You can + // override the default variables with individual address variables. + Substitutions map[string][]*string `type:"map"` - // The name of the event that causes the campaign to be sent. This can be a - // standard type of event that Amazon Pinpoint generates, such as _session.start, - // or a custom event that's specific to your app. - EventType *SetDimension `type:"structure"` + // The amount of time, in seconds, that FCM should store and attempt to deliver + // the push notification, if the service is unable to deliver the notification + // the first time. If you don't specify this value, FCM defaults to the maximum + // value, which is 2,419,200 seconds (28 days). + // + // Amazon Pinpoint specifies this value in the FCM time_to_live parameter when + // it sends the notification message to FCM. + TimeToLive *int64 `type:"integer"` - // One or more custom metrics that your app reports to Amazon Pinpoint. You - // can use these metrics as selection criteria when you create an event filter. - Metrics map[string]*MetricDimension `type:"map"` + // The title to display above the notification message on the recipient's device. + Title *string `type:"string"` + + // The URL to open in the recipient's default mobile browser, if a recipient + // taps the push notification and the value of the Action property is URL. + Url *string `type:"string"` } // String returns the string representation -func (s EventDimensions) String() string { +func (s GCMMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EventDimensions) GoString() string { +func (s GCMMessage) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EventDimensions) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EventDimensions"} - if s.Attributes != nil { - for i, v := range s.Attributes { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EventType != nil { - if err := s.EventType.Validate(); err != nil { - invalidParams.AddNested("EventType", err.(request.ErrInvalidParams)) - } - } - if s.Metrics != nil { - for i, v := range s.Metrics { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAttributes sets the Attributes field's value. -func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions { - s.Attributes = v +// SetAction sets the Action field's value. +func (s *GCMMessage) SetAction(v string) *GCMMessage { + s.Action = &v return s } -// SetEventType sets the EventType field's value. -func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions { - s.EventType = v +// SetBody sets the Body field's value. +func (s *GCMMessage) SetBody(v string) *GCMMessage { + s.Body = &v return s } -// SetMetrics sets the Metrics field's value. -func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions { - s.Metrics = v +// SetCollapseKey sets the CollapseKey field's value. +func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage { + s.CollapseKey = &v return s } -// Provides the status code and message that result from processing an event. -type EventItemResponse struct { - _ struct{} `type:"structure"` - - // A custom message that's returned in the response as a result of processing - // the event. - Message *string `type:"string"` - - // The status code that's returned in the response as a result of processing - // the event. Possible values are: 202, for events that were accepted; and, - // 400, for events that weren't valid. - StatusCode *int64 `type:"integer"` -} - -// String returns the string representation -func (s EventItemResponse) String() string { - return awsutil.Prettify(s) +// SetData sets the Data field's value. +func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage { + s.Data = v + return s } -// GoString returns the string representation -func (s EventItemResponse) GoString() string { - return s.String() +// SetIconReference sets the IconReference field's value. +func (s *GCMMessage) SetIconReference(v string) *GCMMessage { + s.IconReference = &v + return s } -// SetMessage sets the Message field's value. -func (s *EventItemResponse) SetMessage(v string) *EventItemResponse { - s.Message = &v +// SetImageIconUrl sets the ImageIconUrl field's value. +func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage { + s.ImageIconUrl = &v return s } -// SetStatusCode sets the StatusCode field's value. -func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse { - s.StatusCode = &v +// SetImageUrl sets the ImageUrl field's value. +func (s *GCMMessage) SetImageUrl(v string) *GCMMessage { + s.ImageUrl = &v return s } -// Specifies settings for publishing event data to an Amazon Kinesis data stream -// or an Amazon Kinesis Data Firehose delivery stream. -type EventStream struct { - _ struct{} `type:"structure"` - - // The unique identifier for the application to publish event data for. - // - // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon - // Kinesis Data Firehose delivery stream to publish event data to. - // - // For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name - // - // For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name - // - // DestinationStreamArn is a required field - DestinationStreamArn *string `type:"string" required:"true"` - - // (Deprecated) Your AWS account ID, which you assigned to an external ID key - // in an IAM trust policy. Amazon Pinpoint previously used this value to assume - // an IAM role when publishing event data, but we removed this requirement. - // We don't recommend use of external IDs for IAM roles that are assumed by - // Amazon Pinpoint. - ExternalId *string `type:"string"` - - // The date, in ISO 8601 format, when the event stream was last modified. - LastModifiedDate *string `type:"string"` - - // The IAM user who last modified the event stream. - LastUpdatedBy *string `type:"string"` - - // The AWS Identity and Access Management (IAM) role that authorizes Amazon - // Pinpoint to publish event data to the stream in your AWS account. - // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` +// SetPriority sets the Priority field's value. +func (s *GCMMessage) SetPriority(v string) *GCMMessage { + s.Priority = &v + return s } -// String returns the string representation -func (s EventStream) String() string { - return awsutil.Prettify(s) +// SetRawContent sets the RawContent field's value. +func (s *GCMMessage) SetRawContent(v string) *GCMMessage { + s.RawContent = &v + return s } -// GoString returns the string representation -func (s EventStream) GoString() string { - return s.String() +// SetRestrictedPackageName sets the RestrictedPackageName field's value. +func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage { + s.RestrictedPackageName = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *EventStream) SetApplicationId(v string) *EventStream { - s.ApplicationId = &v +// SetSilentPush sets the SilentPush field's value. +func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage { + s.SilentPush = &v return s } -// SetDestinationStreamArn sets the DestinationStreamArn field's value. -func (s *EventStream) SetDestinationStreamArn(v string) *EventStream { - s.DestinationStreamArn = &v +// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. +func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage { + s.SmallImageIconUrl = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *GCMMessage) SetSound(v string) *GCMMessage { + s.Sound = &v return s } -// SetExternalId sets the ExternalId field's value. -func (s *EventStream) SetExternalId(v string) *EventStream { - s.ExternalId = &v +// SetSubstitutions sets the Substitutions field's value. +func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage { + s.Substitutions = v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *EventStream) SetLastModifiedDate(v string) *EventStream { - s.LastModifiedDate = &v +// SetTimeToLive sets the TimeToLive field's value. +func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage { + s.TimeToLive = &v return s } -// SetLastUpdatedBy sets the LastUpdatedBy field's value. -func (s *EventStream) SetLastUpdatedBy(v string) *EventStream { - s.LastUpdatedBy = &v +// SetTitle sets the Title field's value. +func (s *GCMMessage) SetTitle(v string) *GCMMessage { + s.Title = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *EventStream) SetRoleArn(v string) *EventStream { - s.RoleArn = &v +// SetUrl sets the Url field's value. +func (s *GCMMessage) SetUrl(v string) *GCMMessage { + s.Url = &v return s } -// Specifies a batch of endpoints and events to process. -type EventsBatch struct { +// Specifies the GPS coordinates of a location. +type GPSCoordinates struct { _ struct{} `type:"structure"` - // A set of properties and attributes that are associated with the endpoint. + // The latitude coordinate of the location. // - // Endpoint is a required field - Endpoint *PublicEndpoint `type:"structure" required:"true"` + // Latitude is a required field + Latitude *float64 `type:"double" required:"true"` - // A set of properties that are associated with the event. + // The longitude coordinate of the location. // - // Events is a required field - Events map[string]*Event `type:"map" required:"true"` + // Longitude is a required field + Longitude *float64 `type:"double" required:"true"` } // String returns the string representation -func (s EventsBatch) String() string { +func (s GPSCoordinates) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EventsBatch) GoString() string { +func (s GPSCoordinates) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EventsBatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EventsBatch"} - if s.Endpoint == nil { - invalidParams.Add(request.NewErrParamRequired("Endpoint")) - } - if s.Events == nil { - invalidParams.Add(request.NewErrParamRequired("Events")) +func (s *GPSCoordinates) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"} + if s.Latitude == nil { + invalidParams.Add(request.NewErrParamRequired("Latitude")) } - if s.Events != nil { - for i, v := range s.Events { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams)) - } - } + if s.Longitude == nil { + invalidParams.Add(request.NewErrParamRequired("Longitude")) } if invalidParams.Len() > 0 { @@ -16400,53 +18666,51 @@ func (s *EventsBatch) Validate() error { return nil } -// SetEndpoint sets the Endpoint field's value. -func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch { - s.Endpoint = v +// SetLatitude sets the Latitude field's value. +func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates { + s.Latitude = &v return s } -// SetEvents sets the Events field's value. -func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch { - s.Events = v +// SetLongitude sets the Longitude field's value. +func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates { + s.Longitude = &v return s } -// Specifies a batch of events to process. -type EventsRequest struct { +// Specifies GPS-based criteria for including or excluding endpoints from a +// segment. +type GPSPointDimension struct { _ struct{} `type:"structure"` - // The batch of events to process. For each item in a batch, the endpoint ID - // acts as a key that has an EventsBatch object as its value. + // The GPS coordinates to measure distance from. // - // BatchItem is a required field - BatchItem map[string]*EventsBatch `type:"map" required:"true"` + // Coordinates is a required field + Coordinates *GPSCoordinates `type:"structure" required:"true"` + + // The range, in kilometers, from the GPS coordinates. + RangeInKilometers *float64 `type:"double"` } // String returns the string representation -func (s EventsRequest) String() string { +func (s GPSPointDimension) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EventsRequest) GoString() string { +func (s GPSPointDimension) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EventsRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EventsRequest"} - if s.BatchItem == nil { - invalidParams.Add(request.NewErrParamRequired("BatchItem")) +func (s *GPSPointDimension) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"} + if s.Coordinates == nil { + invalidParams.Add(request.NewErrParamRequired("Coordinates")) } - if s.BatchItem != nil { - for i, v := range s.BatchItem { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams)) - } + if s.Coordinates != nil { + if err := s.Coordinates.Validate(); err != nil { + invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams)) } } @@ -16456,88 +18720,43 @@ func (s *EventsRequest) Validate() error { return nil } -// SetBatchItem sets the BatchItem field's value. -func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest { - s.BatchItem = v +// SetCoordinates sets the Coordinates field's value. +func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension { + s.Coordinates = v return s } -// Provides information about endpoints and the events that they're associated -// with. -type EventsResponse struct { - _ struct{} `type:"structure"` - - // A map that contains a multipart response for each endpoint. For each item - // in this object, the endpoint ID is the key and the item response is the value. - // If no item response exists, the value can also be one of the following: 202, - // the request was processed successfully; or 400, the payload wasn't valid - // or required fields were missing. - Results map[string]*ItemResponse `type:"map"` -} - -// String returns the string representation -func (s EventsResponse) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s EventsResponse) GoString() string { - return s.String() -} - -// SetResults sets the Results field's value. -func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse { - s.Results = v +// SetRangeInKilometers sets the RangeInKilometers field's value. +func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension { + s.RangeInKilometers = &v return s } -// Specifies the settings for a job that exports endpoint definitions to an -// Amazon Simple Storage Service (Amazon S3) bucket. -type ExportJobRequest struct { +type GetAdmChannelInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the AWS Identity and Access Management - // (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location - // where you want to export endpoint definitions to. - // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` - - // The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket - // where you want to export endpoint definitions to. This location is typically - // a folder that contains multiple files. The URL should be in the following - // format: s3://bucket-name/folder-name/. - // - // S3UrlPrefix is a required field - S3UrlPrefix *string `type:"string" required:"true"` - - // The identifier for the segment to export endpoint definitions from. If you - // don't specify this value, Amazon Pinpoint exports definitions for all the - // endpoints that are associated with the application. - SegmentId *string `type:"string"` - - // The version of the segment to export endpoint definitions from, if specified. - SegmentVersion *int64 `type:"integer"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s ExportJobRequest) String() string { +func (s GetAdmChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportJobRequest) GoString() string { +func (s GetAdmChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ExportJobRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"} - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) +func (s *GetAdmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.S3UrlPrefix == nil { - invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix")) + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } if invalidParams.Len() > 0 { @@ -16546,322 +18765,193 @@ func (s *ExportJobRequest) Validate() error { return nil } -// SetRoleArn sets the RoleArn field's value. -func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest { - s.RoleArn = &v - return s -} - -// SetS3UrlPrefix sets the S3UrlPrefix field's value. -func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest { - s.S3UrlPrefix = &v - return s -} - -// SetSegmentId sets the SegmentId field's value. -func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest { - s.SegmentId = &v - return s -} - -// SetSegmentVersion sets the SegmentVersion field's value. -func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest { - s.SegmentVersion = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput { + s.ApplicationId = &v return s } -// Provides information about the resource settings for a job that exports endpoint -// definitions to a file. The file can be added directly to an Amazon Simple -// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded -// directly to a computer by using the Amazon Pinpoint console. -type ExportJobResource struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the AWS Identity and Access Management - // (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location - // where the endpoint definitions were exported to. - // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` - - // The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket - // where the endpoint definitions were exported to. This location is typically - // a folder that contains multiple files. The URL should be in the following - // format: s3://bucket-name/folder-name/. - // - // S3UrlPrefix is a required field - S3UrlPrefix *string `type:"string" required:"true"` - - // The identifier for the segment that the endpoint definitions were exported - // from. If this value isn't present, Amazon Pinpoint exported definitions for - // all the endpoints that are associated with the application. - SegmentId *string `type:"string"` +type GetAdmChannelOutput struct { + _ struct{} `type:"structure" payload:"ADMChannelResponse"` - // The version of the segment that the endpoint definitions were exported from. - SegmentVersion *int64 `type:"integer"` + // Provides information about the status and settings of the ADM (Amazon Device + // Messaging) channel for an application. + // + // ADMChannelResponse is a required field + ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s ExportJobResource) String() string { +func (s GetAdmChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportJobResource) GoString() string { +func (s GetAdmChannelOutput) GoString() string { return s.String() } -// SetRoleArn sets the RoleArn field's value. -func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource { - s.RoleArn = &v - return s -} - -// SetS3UrlPrefix sets the S3UrlPrefix field's value. -func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource { - s.S3UrlPrefix = &v - return s -} - -// SetSegmentId sets the SegmentId field's value. -func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource { - s.SegmentId = &v - return s -} - -// SetSegmentVersion sets the SegmentVersion field's value. -func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource { - s.SegmentVersion = &v +// SetADMChannelResponse sets the ADMChannelResponse field's value. +func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput { + s.ADMChannelResponse = v return s } -// Provides information about the status and settings of a job that exports -// endpoint definitions to a file. The file can be added directly to an Amazon -// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API -// or downloaded directly to a computer by using the Amazon Pinpoint console. -type ExportJobResponse struct { +type GetApnsChannelInput struct { _ struct{} `type:"structure"` - // The unique identifier for the application that's associated with the export - // job. - // // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` - - // The number of pieces that were processed successfully (completed) by the - // export job, as of the time of the request. - CompletedPieces *int64 `type:"integer"` - - // The date, in ISO 8601 format, when the export job was completed. - CompletionDate *string `type:"string"` - - // The date, in ISO 8601 format, when the export job was created. - // - // CreationDate is a required field - CreationDate *string `type:"string" required:"true"` - - // The resource settings that apply to the export job. - // - // Definition is a required field - Definition *ExportJobResource `type:"structure" required:"true"` - - // The number of pieces that weren't processed successfully (failed) by the - // export job, as of the time of the request. - FailedPieces *int64 `type:"integer"` - - // An array of entries, one for each of the first 100 entries that weren't processed - // successfully (failed) by the export job, if any. - Failures []*string `type:"list"` - - // The unique identifier for the export job. - // - // Id is a required field - Id *string `type:"string" required:"true"` - - // The status of the export job. The job status is FAILED if Amazon Pinpoint - // wasn't able to process one or more pieces in the job. - // - // JobStatus is a required field - JobStatus *string `type:"string" required:"true" enum:"JobStatus"` - - // The total number of endpoint definitions that weren't processed successfully - // (failed) by the export job, typically because an error, such as a syntax - // error, occurred. - TotalFailures *int64 `type:"integer"` - - // The total number of pieces that must be processed to complete the export - // job. Each piece consists of an approximately equal portion of the endpoint - // definitions that are part of the export job. - TotalPieces *int64 `type:"integer"` - - // The total number of endpoint definitions that were processed by the export - // job. - TotalProcessed *int64 `type:"integer"` - - // The job type. This value is EXPORT for export jobs. - // - // Type is a required field - Type *string `type:"string" required:"true"` + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s ExportJobResponse) String() string { +func (s GetApnsChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportJobResponse) GoString() string { +func (s GetApnsChannelInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApnsChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetApplicationId sets the ApplicationId field's value. -func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse { +func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput { s.ApplicationId = &v return s } -// SetCompletedPieces sets the CompletedPieces field's value. -func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse { - s.CompletedPieces = &v - return s -} +type GetApnsChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSChannelResponse"` -// SetCompletionDate sets the CompletionDate field's value. -func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse { - s.CompletionDate = &v - return s + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) channel for an application. + // + // APNSChannelResponse is a required field + APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"` } -// SetCreationDate sets the CreationDate field's value. -func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse { - s.CreationDate = &v - return s +// String returns the string representation +func (s GetApnsChannelOutput) String() string { + return awsutil.Prettify(s) } -// SetDefinition sets the Definition field's value. -func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse { - s.Definition = v - return s +// GoString returns the string representation +func (s GetApnsChannelOutput) GoString() string { + return s.String() } -// SetFailedPieces sets the FailedPieces field's value. -func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse { - s.FailedPieces = &v +// SetAPNSChannelResponse sets the APNSChannelResponse field's value. +func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput { + s.APNSChannelResponse = v return s } -// SetFailures sets the Failures field's value. -func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse { - s.Failures = v - return s -} +type GetApnsSandboxChannelInput struct { + _ struct{} `type:"structure"` -// SetId sets the Id field's value. -func (s *ExportJobResponse) SetId(v string) *ExportJobResponse { - s.Id = &v - return s + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } -// SetJobStatus sets the JobStatus field's value. -func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse { - s.JobStatus = &v - return s +// String returns the string representation +func (s GetApnsSandboxChannelInput) String() string { + return awsutil.Prettify(s) } -// SetTotalFailures sets the TotalFailures field's value. -func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse { - s.TotalFailures = &v - return s +// GoString returns the string representation +func (s GetApnsSandboxChannelInput) GoString() string { + return s.String() } -// SetTotalPieces sets the TotalPieces field's value. -func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse { - s.TotalPieces = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApnsSandboxChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } -// SetTotalProcessed sets the TotalProcessed field's value. -func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse { - s.TotalProcessed = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetType sets the Type field's value. -func (s *ExportJobResponse) SetType(v string) *ExportJobResponse { - s.Type = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput { + s.ApplicationId = &v return s } -// Provides information about all the export jobs that are associated with an -// application or segment. An export job is a job that exports endpoint definitions -// to a file. -type ExportJobsResponse struct { - _ struct{} `type:"structure"` +type GetApnsSandboxChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` - // An array of responses, one for each export job that's associated with the - // application (Export Jobs resource) or segment (Segment Export Jobs resource). + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) sandbox channel for an application. // - // Item is a required field - Item []*ExportJobResponse `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"` + // APNSSandboxChannelResponse is a required field + APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s ExportJobsResponse) String() string { +func (s GetApnsSandboxChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportJobsResponse) GoString() string { +func (s GetApnsSandboxChannelOutput) GoString() string { return s.String() } -// SetItem sets the Item field's value. -func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse { - s.Item = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse { - s.NextToken = &v +// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value. +func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput { + s.APNSSandboxChannelResponse = v return s } -// Specifies the status and settings of the GCM channel for an application. -// This channel enables Amazon Pinpoint to send push notifications through the -// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. -type GCMChannelRequest struct { - _ struct{} `type:"structure"` - - // 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"` +type GetApnsVoipChannelInput struct { + _ struct{} `type:"structure"` - // Specifies whether to enable the GCM channel for the application. - Enabled *bool `type:"boolean"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s GCMChannelRequest) String() string { +func (s GetApnsVoipChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GCMChannelRequest) GoString() string { +func (s GetApnsVoipChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GCMChannelRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"} - if s.ApiKey == nil { - invalidParams.Add(request.NewErrParamRequired("ApiKey")) +func (s *GetApnsVoipChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } if invalidParams.Len() > 0 { @@ -16870,448 +18960,424 @@ func (s *GCMChannelRequest) Validate() error { return nil } -// SetApiKey sets the ApiKey field's value. -func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest { - s.ApiKey = &v - return s -} - -// SetEnabled sets the Enabled field's value. -func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest { - s.Enabled = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput { + s.ApplicationId = &v return s } -// Provides information about the status and settings of the GCM channel for -// an application. The GCM channel enables Amazon Pinpoint to send push notifications -// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging -// (GCM), service. -type GCMChannelResponse struct { - _ struct{} `type:"structure"` - - // The unique identifier for the application that the GCM channel applies to. - ApplicationId *string `type:"string"` - - // The date and time when the GCM channel was enabled. - CreationDate *string `type:"string"` - - // 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"` - - // Specifies whether the GCM channel is enabled for the application. - Enabled *bool `type:"boolean"` - - // (Not used) This property is retained only for backward compatibility. - HasCredential *bool `type:"boolean"` - - // (Deprecated) An identifier for the GCM channel. This property is retained - // only for backward compatibility. - Id *string `type:"string"` - - // Specifies whether the GCM channel is archived. - IsArchived *bool `type:"boolean"` - - // The user who last modified the GCM channel. - LastModifiedBy *string `type:"string"` - - // The date and time when the GCM channel was last modified. - LastModifiedDate *string `type:"string"` +type GetApnsVoipChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSVoipChannelResponse"` - // The type of messaging or notification platform for the channel. For the GCM - // channel, this value is GCM. + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) VoIP channel for an application. // - // Platform is a required field - Platform *string `type:"string" required:"true"` - - // The current version of the GCM channel. - Version *int64 `type:"integer"` + // APNSVoipChannelResponse is a required field + APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GCMChannelResponse) String() string { +func (s GetApnsVoipChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GCMChannelResponse) GoString() string { +func (s GetApnsVoipChannelOutput) GoString() string { return s.String() } -// SetApplicationId sets the ApplicationId field's value. -func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse { - s.ApplicationId = &v +// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value. +func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput { + s.APNSVoipChannelResponse = v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse { - s.CreationDate = &v - return s -} +type GetApnsVoipSandboxChannelInput struct { + _ struct{} `type:"structure"` -// SetCredential sets the Credential field's value. -func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse { - s.Credential = &v - return s + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } -// SetEnabled sets the Enabled field's value. -func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse { - s.Enabled = &v - return s +// String returns the string representation +func (s GetApnsVoipSandboxChannelInput) String() string { + return awsutil.Prettify(s) } -// SetHasCredential sets the HasCredential field's value. -func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse { - s.HasCredential = &v - return s +// GoString returns the string representation +func (s GetApnsVoipSandboxChannelInput) GoString() string { + return s.String() } -// SetId sets the Id field's value. -func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse { - s.Id = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApnsVoipSandboxChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetIsArchived sets the IsArchived field's value. -func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse { - s.IsArchived = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput { + s.ApplicationId = &v return s } -// SetLastModifiedBy sets the LastModifiedBy field's value. -func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse { - s.LastModifiedBy = &v - return s +type GetApnsVoipSandboxChannelOutput struct { + _ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"` + + // Provides information about the status and settings of the APNs (Apple Push + // Notification service) VoIP sandbox channel for an application. + // + // APNSVoipSandboxChannelResponse is a required field + APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"` } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse { - s.LastModifiedDate = &v - return s +// String returns the string representation +func (s GetApnsVoipSandboxChannelOutput) String() string { + return awsutil.Prettify(s) } -// SetPlatform sets the Platform field's value. -func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse { - s.Platform = &v - return s +// GoString returns the string representation +func (s GetApnsVoipSandboxChannelOutput) GoString() string { + return s.String() } -// SetVersion sets the Version field's value. -func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse { - s.Version = &v +// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value. +func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput { + s.APNSVoipSandboxChannelResponse = v return s } -// Specifies the settings for a one-time message that's sent directly to an -// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint -// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud -// Messaging (GCM), service. -type GCMMessage struct { +type GetAppInput struct { _ struct{} `type:"structure"` - // The action to occur if the recipient taps the push notification. 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"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} - // The body of the notification message. - Body *string `type:"string"` +// String returns the string representation +func (s GetAppInput) String() string { + return awsutil.Prettify(s) +} - // An arbitrary string that identifies a group of messages that can be collapsed - // to ensure that only the last message is sent when delivery can resume. This - // helps avoid sending too many instances of the same messages when the recipient's - // device comes online again or becomes active. - // - // Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) - // collapse_key parameter when it sends the notification message to FCM. - CollapseKey *string `type:"string"` +// GoString returns the string representation +func (s GetAppInput) GoString() string { + return s.String() +} - // The JSON data payload to use for the push notification, if the notification - // is a silent push notification. This payload is added to the data.pinpoint.jsonBody - // object of the notification. - Data map[string]*string `type:"map"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAppInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } - // The icon image name of the asset saved in your app. - IconReference *string `type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The URL of the large icon image to display in the content view of the push - // notification. - ImageIconUrl *string `type:"string"` +// SetApplicationId sets the ApplicationId field's value. +func (s *GetAppInput) SetApplicationId(v string) *GetAppInput { + s.ApplicationId = &v + return s +} - // The URL of an image to display in the push notification. - ImageUrl *string `type:"string"` +type GetAppOutput struct { + _ struct{} `type:"structure" payload:"ApplicationResponse"` - // para>normal - The notification might be delayed. Delivery is optimized for - // battery usage on the recipient's device. Use this value unless immediate - // delivery is required. - // /listitem> - // high - The notification is sent immediately and might wake a sleeping device. - // /para> - // Amazon Pinpoint specifies this value in the FCM priority parameter when it - // sends the notification message to FCM. + // Provides information about an application. // - // The equivalent values for Apple Push Notification service (APNs) are 5, for - // normal, and 10, for high. If you specify an APNs value for this property, - // Amazon Pinpoint accepts and converts the value to the corresponding FCM value. - Priority *string `type:"string"` + // ApplicationResponse is a required field + ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` +} - // The raw, JSON-formatted string to use as the payload for the notification - // message. This value overrides the message. - RawContent *string `type:"string"` +// String returns the string representation +func (s GetAppOutput) String() string { + return awsutil.Prettify(s) +} - // The package name of the application where registration tokens must match - // in order for the recipient to receive the message. - RestrictedPackageName *string `type:"string"` +// GoString returns the string representation +func (s GetAppOutput) GoString() string { + return s.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 - // or supporting phone home functionality. - SilentPush *bool `type:"boolean"` +// SetApplicationResponse sets the ApplicationResponse field's value. +func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput { + s.ApplicationResponse = v + return s +} - // The URL of the small icon image to display in the status bar and the content - // view of the push notification. - SmallImageIconUrl *string `type:"string"` +type GetApplicationDateRangeKpiInput struct { + _ struct{} `type:"structure"` - // The sound to play when the recipient receives the push notification. 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"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // The default message variables to use in the notification message. You can - // override the default variables with individual address variables. - Substitutions map[string][]*string `type:"map"` + EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"` - // The amount of time, in seconds, that FCM should store and attempt to deliver - // the push notification, if the service is unable to deliver the notification - // the first time. If you don't specify this value, FCM defaults to the maximum - // value, which is 2,419,200 seconds (28 days). - // - // Amazon Pinpoint specifies this value in the FCM time_to_live parameter when - // it sends the notification message to FCM. - TimeToLive *int64 `type:"integer"` + // KpiName is a required field + KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"` - // The title to display above the notification message on the recipient's device. - Title *string `type:"string"` + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - // The URL to open in the recipient's default mobile browser, if a recipient - // taps the push notification and the value of the Action property is URL. - Url *string `type:"string"` + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation -func (s GCMMessage) String() string { +func (s GetApplicationDateRangeKpiInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GCMMessage) GoString() string { +func (s GetApplicationDateRangeKpiInput) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *GCMMessage) SetAction(v string) *GCMMessage { - s.Action = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApplicationDateRangeKpiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.KpiName == nil { + invalidParams.Add(request.NewErrParamRequired("KpiName")) + } + if s.KpiName != nil && len(*s.KpiName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KpiName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBody sets the Body field's value. -func (s *GCMMessage) SetBody(v string) *GCMMessage { - s.Body = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput { + s.ApplicationId = &v return s } -// SetCollapseKey sets the CollapseKey field's value. -func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage { - s.CollapseKey = &v +// SetEndTime sets the EndTime field's value. +func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput { + s.EndTime = &v return s } -// SetData sets the Data field's value. -func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage { - s.Data = v +// SetKpiName sets the KpiName field's value. +func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput { + s.KpiName = &v return s } -// SetIconReference sets the IconReference field's value. -func (s *GCMMessage) SetIconReference(v string) *GCMMessage { - s.IconReference = &v +// SetNextToken sets the NextToken field's value. +func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput { + s.NextToken = &v return s } -// SetImageIconUrl sets the ImageIconUrl field's value. -func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage { - s.ImageIconUrl = &v +// SetPageSize sets the PageSize field's value. +func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput { + s.PageSize = &v return s } -// SetImageUrl sets the ImageUrl field's value. -func (s *GCMMessage) SetImageUrl(v string) *GCMMessage { - s.ImageUrl = &v +// SetStartTime sets the StartTime field's value. +func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput { + s.StartTime = &v return s } -// SetPriority sets the Priority field's value. -func (s *GCMMessage) SetPriority(v string) *GCMMessage { - s.Priority = &v - return s +type GetApplicationDateRangeKpiOutput struct { + _ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"` + + // 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. + // + // ApplicationDateRangeKpiResponse is a required field + ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"` } -// SetRawContent sets the RawContent field's value. -func (s *GCMMessage) SetRawContent(v string) *GCMMessage { - s.RawContent = &v - return s +// String returns the string representation +func (s GetApplicationDateRangeKpiOutput) String() string { + return awsutil.Prettify(s) } -// SetRestrictedPackageName sets the RestrictedPackageName field's value. -func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage { - s.RestrictedPackageName = &v - return s +// GoString returns the string representation +func (s GetApplicationDateRangeKpiOutput) GoString() string { + return s.String() } -// SetSilentPush sets the SilentPush field's value. -func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage { - s.SilentPush = &v +// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value. +func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput { + s.ApplicationDateRangeKpiResponse = v return s } -// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. -func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage { - s.SmallImageIconUrl = &v - return s +type GetApplicationSettingsInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } -// SetSound sets the Sound field's value. -func (s *GCMMessage) SetSound(v string) *GCMMessage { - s.Sound = &v - return s +// String returns the string representation +func (s GetApplicationSettingsInput) String() string { + return awsutil.Prettify(s) } -// SetSubstitutions sets the Substitutions field's value. -func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage { - s.Substitutions = v +// GoString returns the string representation +func (s GetApplicationSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApplicationSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput { + s.ApplicationId = &v return s } -// SetTimeToLive sets the TimeToLive field's value. -func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage { - s.TimeToLive = &v +type GetApplicationSettingsOutput struct { + _ struct{} `type:"structure" payload:"ApplicationSettingsResource"` + + // Provides information about an application, including the default settings + // for an application. + // + // ApplicationSettingsResource is a required field + ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetApplicationSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApplicationSettingsOutput) GoString() string { + return s.String() +} + +// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value. +func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput { + s.ApplicationSettingsResource = v return s } -// SetTitle sets the Title field's value. -func (s *GCMMessage) SetTitle(v string) *GCMMessage { - s.Title = &v +type GetAppsInput struct { + _ struct{} `type:"structure"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` +} + +// String returns the string representation +func (s GetAppsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAppsInput) GoString() string { + return s.String() +} + +// SetPageSize sets the PageSize field's value. +func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput { + s.PageSize = &v return s } -// SetUrl sets the Url field's value. -func (s *GCMMessage) SetUrl(v string) *GCMMessage { - s.Url = &v +// SetToken sets the Token field's value. +func (s *GetAppsInput) SetToken(v string) *GetAppsInput { + s.Token = &v return s } -// Specifies the GPS coordinates of a location. -type GPSCoordinates struct { - _ struct{} `type:"structure"` - - // The latitude coordinate of the location. - // - // Latitude is a required field - Latitude *float64 `type:"double" required:"true"` +type GetAppsOutput struct { + _ struct{} `type:"structure" payload:"ApplicationsResponse"` - // The longitude coordinate of the location. + // Provides information about all of your applications. // - // Longitude is a required field - Longitude *float64 `type:"double" required:"true"` + // ApplicationsResponse is a required field + ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GPSCoordinates) String() string { +func (s GetAppsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GPSCoordinates) GoString() string { +func (s GetAppsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GPSCoordinates) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"} - if s.Latitude == nil { - invalidParams.Add(request.NewErrParamRequired("Latitude")) - } - if s.Longitude == nil { - invalidParams.Add(request.NewErrParamRequired("Longitude")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetLatitude sets the Latitude field's value. -func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates { - s.Latitude = &v - return s -} - -// SetLongitude sets the Longitude field's value. -func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates { - s.Longitude = &v +// SetApplicationsResponse sets the ApplicationsResponse field's value. +func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput { + s.ApplicationsResponse = v return s } -// Specifies GPS-based criteria for including or excluding endpoints from a -// segment. -type GPSPointDimension struct { +type GetBaiduChannelInput struct { _ struct{} `type:"structure"` - // The GPS coordinates to measure distance from. - // - // Coordinates is a required field - Coordinates *GPSCoordinates `type:"structure" required:"true"` - - // The range, in kilometers, from the GPS coordinates. - RangeInKilometers *float64 `type:"double"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } // String returns the string representation -func (s GPSPointDimension) String() string { +func (s GetBaiduChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GPSPointDimension) GoString() string { +func (s GetBaiduChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GPSPointDimension) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"} - if s.Coordinates == nil { - invalidParams.Add(request.NewErrParamRequired("Coordinates")) +func (s *GetBaiduChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.Coordinates != nil { - if err := s.Coordinates.Validate(); err != nil { - invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams)) - } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } if invalidParams.Len() > 0 { @@ -17320,44 +19386,77 @@ func (s *GPSPointDimension) Validate() error { return nil } -// SetCoordinates sets the Coordinates field's value. -func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension { - s.Coordinates = v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput { + s.ApplicationId = &v return s } -// SetRangeInKilometers sets the RangeInKilometers field's value. -func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension { - s.RangeInKilometers = &v +type GetBaiduChannelOutput struct { + _ struct{} `type:"structure" payload:"BaiduChannelResponse"` + + // Provides information about the status and settings of the Baidu (Baidu Cloud + // Push) channel for an application. + // + // BaiduChannelResponse is a required field + BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetBaiduChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBaiduChannelOutput) GoString() string { + return s.String() +} + +// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. +func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput { + s.BaiduChannelResponse = v return s } -type GetAdmChannelInput struct { +type GetCampaignActivitiesInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // CampaignId is a required field + CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetAdmChannelInput) String() string { +func (s GetCampaignActivitiesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAdmChannelInput) GoString() string { +func (s GetCampaignActivitiesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAdmChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"} +func (s *GetCampaignActivitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.CampaignId == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignId")) + } + if s.CampaignId != nil && len(*s.CampaignId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -17366,128 +19465,216 @@ func (s *GetAdmChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput { +func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput { s.ApplicationId = &v return s } -type GetAdmChannelOutput struct { - _ struct{} `type:"structure" payload:"ADMChannelResponse"` +// SetCampaignId sets the CampaignId field's value. +func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput { + s.CampaignId = &v + return s +} - // Provides information about the status and settings of the ADM (Amazon Device - // Messaging) channel for an application. +// SetPageSize sets the PageSize field's value. +func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput { + s.PageSize = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput { + s.Token = &v + return s +} + +type GetCampaignActivitiesOutput struct { + _ struct{} `type:"structure" payload:"ActivitiesResponse"` + + // Provides information about the activities that were performed by a campaign. // - // ADMChannelResponse is a required field - ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` + // ActivitiesResponse is a required field + ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetAdmChannelOutput) String() string { +func (s GetCampaignActivitiesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAdmChannelOutput) GoString() string { +func (s GetCampaignActivitiesOutput) GoString() string { return s.String() } -// SetADMChannelResponse sets the ADMChannelResponse field's value. -func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput { - s.ADMChannelResponse = v +// SetActivitiesResponse sets the ActivitiesResponse field's value. +func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput { + s.ActivitiesResponse = v return s } -type GetApnsChannelInput struct { +type GetCampaignDateRangeKpiInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // CampaignId is a required field + CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` + + EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"` + + // KpiName is a required field + KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation -func (s GetApnsChannelInput) String() string { +func (s GetCampaignDateRangeKpiInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s GetApnsChannelInput) GoString() string { - return s.String() +// GoString returns the string representation +func (s GetCampaignDateRangeKpiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCampaignDateRangeKpiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.CampaignId == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignId")) + } + if s.CampaignId != nil && len(*s.CampaignId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + } + if s.KpiName == nil { + invalidParams.Add(request.NewErrParamRequired("KpiName")) + } + if s.KpiName != nil && len(*s.KpiName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KpiName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput { + s.ApplicationId = &v + return s +} + +// SetCampaignId sets the CampaignId field's value. +func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput { + s.CampaignId = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput { + s.EndTime = &v + return s +} + +// SetKpiName sets the KpiName field's value. +func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput { + s.KpiName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput { + s.NextToken = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetApnsChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPageSize sets the PageSize field's value. +func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput { + s.PageSize = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput { - s.ApplicationId = &v +// SetStartTime sets the StartTime field's value. +func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput { + s.StartTime = &v return s } -type GetApnsChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSChannelResponse"` +type GetCampaignDateRangeKpiOutput struct { + _ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"` - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) channel for an application. + // Provides the results of a query that retrieved the data for a standard metric + // that applies to a campaign, and provides information about that query. // - // APNSChannelResponse is a required field - APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"` + // CampaignDateRangeKpiResponse is a required field + CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetApnsChannelOutput) String() string { +func (s GetCampaignDateRangeKpiOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsChannelOutput) GoString() string { +func (s GetCampaignDateRangeKpiOutput) GoString() string { return s.String() } -// SetAPNSChannelResponse sets the APNSChannelResponse field's value. -func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput { - s.APNSChannelResponse = v +// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value. +func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput { + s.CampaignDateRangeKpiResponse = v return s } -type GetApnsSandboxChannelInput struct { +type GetCampaignInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // CampaignId is a required field + CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` } // String returns the string representation -func (s GetApnsSandboxChannelInput) String() string { +func (s GetCampaignInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsSandboxChannelInput) GoString() string { +func (s GetCampaignInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetApnsSandboxChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"} +func (s *GetCampaignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.CampaignId == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignId")) + } + if s.CampaignId != nil && len(*s.CampaignId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -17496,63 +19683,87 @@ func (s *GetApnsSandboxChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput { +func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput { s.ApplicationId = &v return s } -type GetApnsSandboxChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` +// SetCampaignId sets the CampaignId field's value. +func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput { + s.CampaignId = &v + return s +} - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) sandbox channel for an application. +type GetCampaignOutput struct { + _ struct{} `type:"structure" payload:"CampaignResponse"` + + // Provides information about the status, configuration, and other settings + // for a campaign. // - // APNSSandboxChannelResponse is a required field - APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"` + // CampaignResponse is a required field + CampaignResponse *CampaignResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetApnsSandboxChannelOutput) String() string { +func (s GetCampaignOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsSandboxChannelOutput) GoString() string { +func (s GetCampaignOutput) GoString() string { return s.String() } -// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value. -func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput { - s.APNSSandboxChannelResponse = v +// SetCampaignResponse sets the CampaignResponse field's value. +func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput { + s.CampaignResponse = v return s } -type GetApnsVoipChannelInput struct { +type GetCampaignVersionInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // CampaignId is a required field + CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` + + // Version is a required field + Version *string `location:"uri" locationName:"version" type:"string" required:"true"` } // String returns the string representation -func (s GetApnsVoipChannelInput) String() string { +func (s GetCampaignVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsVoipChannelInput) GoString() string { +func (s GetCampaignVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetApnsVoipChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"} +func (s *GetCampaignVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.CampaignId == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignId")) + } + if s.CampaignId != nil && len(*s.CampaignId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + } + if s.Version == nil { + invalidParams.Add(request.NewErrParamRequired("Version")) + } + if s.Version != nil && len(*s.Version) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Version", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -17561,63 +19772,88 @@ func (s *GetApnsVoipChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput { +func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput { s.ApplicationId = &v return s } -type GetApnsVoipChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSVoipChannelResponse"` +// SetCampaignId sets the CampaignId field's value. +func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput { + s.CampaignId = &v + return s +} - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) VoIP channel for an application. +// SetVersion sets the Version field's value. +func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput { + s.Version = &v + return s +} + +type GetCampaignVersionOutput struct { + _ struct{} `type:"structure" payload:"CampaignResponse"` + + // Provides information about the status, configuration, and other settings + // for a campaign. // - // APNSVoipChannelResponse is a required field - APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"` + // CampaignResponse is a required field + CampaignResponse *CampaignResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetApnsVoipChannelOutput) String() string { +func (s GetCampaignVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsVoipChannelOutput) GoString() string { +func (s GetCampaignVersionOutput) GoString() string { return s.String() } -// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value. -func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput { - s.APNSVoipChannelResponse = v +// SetCampaignResponse sets the CampaignResponse field's value. +func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput { + s.CampaignResponse = v return s } -type GetApnsVoipSandboxChannelInput struct { +type GetCampaignVersionsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // CampaignId is a required field + CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetApnsVoipSandboxChannelInput) String() string { +func (s GetCampaignVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsVoipSandboxChannelInput) GoString() string { +func (s GetCampaignVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetApnsVoipSandboxChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"} +func (s *GetCampaignVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.CampaignId == nil { + invalidParams.Add(request.NewErrParamRequired("CampaignId")) + } + if s.CampaignId != nil && len(*s.CampaignId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -17626,57 +19862,79 @@ func (s *GetApnsVoipSandboxChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput { +func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput { s.ApplicationId = &v return s } -type GetApnsVoipSandboxChannelOutput struct { - _ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"` +// SetCampaignId sets the CampaignId field's value. +func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput { + s.CampaignId = &v + return s +} - // Provides information about the status and settings of the APNs (Apple Push - // Notification service) VoIP sandbox channel for an application. +// SetPageSize sets the PageSize field's value. +func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput { + s.PageSize = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput { + s.Token = &v + return s +} + +type GetCampaignVersionsOutput struct { + _ struct{} `type:"structure" payload:"CampaignsResponse"` + + // Provides information about the configuration and other settings for all the + // campaigns that are associated with an application. // - // APNSVoipSandboxChannelResponse is a required field - APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"` + // CampaignsResponse is a required field + CampaignsResponse *CampaignsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetApnsVoipSandboxChannelOutput) String() string { +func (s GetCampaignVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApnsVoipSandboxChannelOutput) GoString() string { +func (s GetCampaignVersionsOutput) GoString() string { return s.String() } -// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value. -func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput { - s.APNSVoipSandboxChannelResponse = v +// SetCampaignsResponse sets the CampaignsResponse field's value. +func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput { + s.CampaignsResponse = v return s } -type GetAppInput struct { +type GetCampaignsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetAppInput) String() string { +func (s GetCampaignsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAppInput) GoString() string { +func (s GetCampaignsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAppInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAppInput"} +func (s *GetCampaignsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -17691,79 +19949,75 @@ func (s *GetAppInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetAppInput) SetApplicationId(v string) *GetAppInput { +func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput { s.ApplicationId = &v return s } -type GetAppOutput struct { - _ struct{} `type:"structure" payload:"ApplicationResponse"` +// SetPageSize sets the PageSize field's value. +func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput { + s.PageSize = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput { + s.Token = &v + return s +} + +type GetCampaignsOutput struct { + _ struct{} `type:"structure" payload:"CampaignsResponse"` - // Provides information about an application. + // Provides information about the configuration and other settings for all the + // campaigns that are associated with an application. // - // ApplicationResponse is a required field - ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` + // CampaignsResponse is a required field + CampaignsResponse *CampaignsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetAppOutput) String() string { +func (s GetCampaignsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAppOutput) GoString() string { +func (s GetCampaignsOutput) GoString() string { return s.String() } -// SetApplicationResponse sets the ApplicationResponse field's value. -func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput { - s.ApplicationResponse = v +// SetCampaignsResponse sets the CampaignsResponse field's value. +func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput { + s.CampaignsResponse = v return s } -type GetApplicationDateRangeKpiInput struct { +type GetChannelsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"` - - // KpiName is a required field - KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"` - - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - - StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation -func (s GetApplicationDateRangeKpiInput) String() string { +func (s GetChannelsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApplicationDateRangeKpiInput) GoString() string { +func (s GetChannelsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetApplicationDateRangeKpiInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"} +func (s *GetChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.KpiName == nil { - invalidParams.Add(request.NewErrParamRequired("KpiName")) - } - if s.KpiName != nil && len(*s.KpiName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KpiName", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -17772,68 +20026,38 @@ func (s *GetApplicationDateRangeKpiInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput { +func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput { s.ApplicationId = &v return s } -// SetEndTime sets the EndTime field's value. -func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput { - s.EndTime = &v - return s -} - -// SetKpiName sets the KpiName field's value. -func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput { - s.KpiName = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput { - s.NextToken = &v - return s -} - -// SetPageSize sets the PageSize field's value. -func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput { - s.PageSize = &v - return s -} - -// SetStartTime sets the StartTime field's value. -func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput { - s.StartTime = &v - return s -} - -type GetApplicationDateRangeKpiOutput struct { - _ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"` +type GetChannelsOutput struct { + _ struct{} `type:"structure" payload:"ChannelsResponse"` - // 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. + // Provides information about the general settings and status of all channels + // for an application, including channels that aren't enabled for the application. // - // ApplicationDateRangeKpiResponse is a required field - ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"` + // ChannelsResponse is a required field + ChannelsResponse *ChannelsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetApplicationDateRangeKpiOutput) String() string { +func (s GetChannelsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApplicationDateRangeKpiOutput) GoString() string { +func (s GetChannelsOutput) GoString() string { return s.String() } -// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value. -func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput { - s.ApplicationDateRangeKpiResponse = v +// SetChannelsResponse sets the ChannelsResponse field's value. +func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput { + s.ChannelsResponse = v return s } -type GetApplicationSettingsInput struct { +type GetEmailChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -17841,18 +20065,18 @@ type GetApplicationSettingsInput struct { } // String returns the string representation -func (s GetApplicationSettingsInput) String() string { +func (s GetEmailChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApplicationSettingsInput) GoString() string { +func (s GetEmailChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetApplicationSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"} +func (s *GetEmailChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -17867,118 +20091,137 @@ func (s *GetApplicationSettingsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput { +func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput { s.ApplicationId = &v return s } -type GetApplicationSettingsOutput struct { - _ struct{} `type:"structure" payload:"ApplicationSettingsResource"` +type GetEmailChannelOutput struct { + _ struct{} `type:"structure" payload:"EmailChannelResponse"` - // Provides information about an application, including the default settings - // for an application. + // Provides information about the status and settings of the email channel for + // an application. // - // ApplicationSettingsResource is a required field - ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"` + // EmailChannelResponse is a required field + EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetApplicationSettingsOutput) String() string { +func (s GetEmailChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetApplicationSettingsOutput) GoString() string { +func (s GetEmailChannelOutput) GoString() string { return s.String() } -// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value. -func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput { - s.ApplicationSettingsResource = v +// SetEmailChannelResponse sets the EmailChannelResponse field's value. +func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput { + s.EmailChannelResponse = v return s } -type GetAppsInput struct { +type GetEmailTemplateInput struct { _ struct{} `type:"structure"` - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - - Token *string `location:"querystring" locationName:"token" type:"string"` + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` } // String returns the string representation -func (s GetAppsInput) String() string { +func (s GetEmailTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAppsInput) GoString() string { +func (s GetEmailTemplateInput) GoString() string { return s.String() } -// SetPageSize sets the PageSize field's value. -func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput { - s.PageSize = &v - return s +// 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 } -// SetToken sets the Token field's value. -func (s *GetAppsInput) SetToken(v string) *GetAppsInput { - s.Token = &v +// SetTemplateName sets the TemplateName field's value. +func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput { + s.TemplateName = &v return s } -type GetAppsOutput struct { - _ struct{} `type:"structure" payload:"ApplicationsResponse"` +type GetEmailTemplateOutput struct { + _ struct{} `type:"structure" payload:"EmailTemplateResponse"` - // Provides information about all of your applications. + // Provides information about the content and settings for a message template + // that can be used in messages that are sent through the email channel. // - // ApplicationsResponse is a required field - ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"` + // EmailTemplateResponse is a required field + EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetAppsOutput) String() string { +func (s GetEmailTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAppsOutput) GoString() string { +func (s GetEmailTemplateOutput) GoString() string { return s.String() } -// SetApplicationsResponse sets the ApplicationsResponse field's value. -func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput { - s.ApplicationsResponse = v +// SetEmailTemplateResponse sets the EmailTemplateResponse field's value. +func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput { + s.EmailTemplateResponse = v return s } -type GetBaiduChannelInput struct { +type GetEndpointInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // EndpointId is a required field + EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"` } // String returns the string representation -func (s GetBaiduChannelInput) String() string { +func (s GetEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBaiduChannelInput) GoString() string { +func (s GetEndpointInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetBaiduChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"} +func (s *GetEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.EndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointId")) + } + if s.EndpointId != nil && len(*s.EndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -17987,76 +20230,68 @@ func (s *GetBaiduChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput { +func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput { s.ApplicationId = &v return s } -type GetBaiduChannelOutput struct { - _ struct{} `type:"structure" payload:"BaiduChannelResponse"` +// SetEndpointId sets the EndpointId field's value. +func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput { + s.EndpointId = &v + return s +} - // Provides information about the status and settings of the Baidu (Baidu Cloud - // Push) channel for an application. +type GetEndpointOutput struct { + _ struct{} `type:"structure" payload:"EndpointResponse"` + + // Provides information about the channel type and other settings for an endpoint. // - // BaiduChannelResponse is a required field - BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` + // EndpointResponse is a required field + EndpointResponse *EndpointResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetBaiduChannelOutput) String() string { +func (s GetEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBaiduChannelOutput) GoString() string { +func (s GetEndpointOutput) GoString() string { return s.String() } -// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. -func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput { - s.BaiduChannelResponse = v +// SetEndpointResponse sets the EndpointResponse field's value. +func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput { + s.EndpointResponse = v return s } -type GetCampaignActivitiesInput struct { +type GetEventStreamInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // CampaignId is a required field - CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` - - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - - Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetCampaignActivitiesInput) String() string { +func (s GetEventStreamInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignActivitiesInput) GoString() string { +func (s GetEventStreamInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCampaignActivitiesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"} +func (s *GetEventStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.CampaignId == nil { - invalidParams.Add(request.NewErrParamRequired("CampaignId")) - } - if s.CampaignId != nil && len(*s.CampaignId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -18065,105 +20300,71 @@ func (s *GetCampaignActivitiesInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput { +func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput { s.ApplicationId = &v return s } -// SetCampaignId sets the CampaignId field's value. -func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput { - s.CampaignId = &v - return s -} - -// SetPageSize sets the PageSize field's value. -func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput { - s.PageSize = &v - return s -} - -// SetToken sets the Token field's value. -func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput { - s.Token = &v - return s -} - -type GetCampaignActivitiesOutput struct { - _ struct{} `type:"structure" payload:"ActivitiesResponse"` +type GetEventStreamOutput struct { + _ struct{} `type:"structure" payload:"EventStream"` - // Provides information about the activities that were performed by a campaign. + // Specifies settings for publishing event data to an Amazon Kinesis data stream + // or an Amazon Kinesis Data Firehose delivery stream. // - // ActivitiesResponse is a required field - ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"` + // EventStream is a required field + EventStream *EventStream `type:"structure" required:"true"` } // String returns the string representation -func (s GetCampaignActivitiesOutput) String() string { +func (s GetEventStreamOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignActivitiesOutput) GoString() string { +func (s GetEventStreamOutput) GoString() string { return s.String() } -// SetActivitiesResponse sets the ActivitiesResponse field's value. -func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput { - s.ActivitiesResponse = v +// SetEventStream sets the EventStream field's value. +func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput { + s.EventStream = v return s } -type GetCampaignDateRangeKpiInput struct { +type GetExportJobInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // CampaignId is a required field - CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` - - EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"` - - // KpiName is a required field - KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"` - - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - - StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"` + // JobId is a required field + JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"` } // String returns the string representation -func (s GetCampaignDateRangeKpiInput) String() string { +func (s GetExportJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignDateRangeKpiInput) GoString() string { +func (s GetExportJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCampaignDateRangeKpiInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"} +func (s *GetExportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.CampaignId == nil { - invalidParams.Add(request.NewErrParamRequired("CampaignId")) - } - if s.CampaignId != nil && len(*s.CampaignId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) - } - if s.KpiName == nil { - invalidParams.Add(request.NewErrParamRequired("KpiName")) + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) } - if s.KpiName != nil && len(*s.KpiName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KpiName", 1)) + if s.JobId != nil && len(*s.JobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) } if invalidParams.Len() > 0 { @@ -18173,108 +20374,75 @@ func (s *GetCampaignDateRangeKpiInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput { +func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput { s.ApplicationId = &v return s } -// SetCampaignId sets the CampaignId field's value. -func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput { - s.CampaignId = &v - return s -} - -// SetEndTime sets the EndTime field's value. -func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput { - s.EndTime = &v - return s -} - -// SetKpiName sets the KpiName field's value. -func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput { - s.KpiName = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput { - s.NextToken = &v - return s -} - -// SetPageSize sets the PageSize field's value. -func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput { - s.PageSize = &v - return s -} - -// SetStartTime sets the StartTime field's value. -func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput { - s.StartTime = &v +// SetJobId sets the JobId field's value. +func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput { + s.JobId = &v return s } -type GetCampaignDateRangeKpiOutput struct { - _ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"` +type GetExportJobOutput struct { + _ struct{} `type:"structure" payload:"ExportJobResponse"` - // Provides the results of a query that retrieved the data for a standard metric - // that applies to a campaign, and provides information about that query. + // Provides information about the status and settings of a job that exports + // endpoint definitions to a file. The file can be added directly to an Amazon + // Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API + // or downloaded directly to a computer by using the Amazon Pinpoint console. // - // CampaignDateRangeKpiResponse is a required field - CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"` + // ExportJobResponse is a required field + ExportJobResponse *ExportJobResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetCampaignDateRangeKpiOutput) String() string { +func (s GetExportJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignDateRangeKpiOutput) GoString() string { +func (s GetExportJobOutput) GoString() string { return s.String() } -// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value. -func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput { - s.CampaignDateRangeKpiResponse = v +// SetExportJobResponse sets the ExportJobResponse field's value. +func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput { + s.ExportJobResponse = v return s } -type GetCampaignInput struct { +type GetExportJobsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // CampaignId is a required field - CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetCampaignInput) String() string { +func (s GetExportJobsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignInput) GoString() string { +func (s GetExportJobsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCampaignInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"} +func (s *GetExportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.CampaignId == nil { - invalidParams.Add(request.NewErrParamRequired("CampaignId")) - } - if s.CampaignId != nil && len(*s.CampaignId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -18283,87 +20451,76 @@ func (s *GetCampaignInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput { +func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput { s.ApplicationId = &v return s } -// SetCampaignId sets the CampaignId field's value. -func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput { - s.CampaignId = &v +// SetPageSize sets the PageSize field's value. +func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput { + s.PageSize = &v return s } -type GetCampaignOutput struct { - _ struct{} `type:"structure" payload:"CampaignResponse"` +// SetToken sets the Token field's value. +func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput { + s.Token = &v + return s +} - // Provides information about the status, configuration, and other settings - // for a campaign. +type GetExportJobsOutput struct { + _ struct{} `type:"structure" payload:"ExportJobsResponse"` + + // Provides information about all the export jobs that are associated with an + // application or segment. An export job is a job that exports endpoint definitions + // to a file. // - // CampaignResponse is a required field - CampaignResponse *CampaignResponse `type:"structure" required:"true"` + // ExportJobsResponse is a required field + ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetCampaignOutput) String() string { +func (s GetExportJobsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignOutput) GoString() string { +func (s GetExportJobsOutput) GoString() string { return s.String() } -// SetCampaignResponse sets the CampaignResponse field's value. -func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput { - s.CampaignResponse = v +// SetExportJobsResponse sets the ExportJobsResponse field's value. +func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput { + s.ExportJobsResponse = v return s } -type GetCampaignVersionInput struct { +type GetGcmChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // CampaignId is a required field - CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` - - // Version is a required field - Version *string `location:"uri" locationName:"version" type:"string" required:"true"` } // String returns the string representation -func (s GetCampaignVersionInput) String() string { +func (s GetGcmChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignVersionInput) GoString() string { +func (s GetGcmChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCampaignVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"} +func (s *GetGcmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.CampaignId == nil { - invalidParams.Add(request.NewErrParamRequired("CampaignId")) - } - if s.CampaignId != nil && len(*s.CampaignId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) - } - if s.Version == nil { - invalidParams.Add(request.NewErrParamRequired("Version")) - } - if s.Version != nil && len(*s.Version) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Version", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -18372,87 +20529,73 @@ func (s *GetCampaignVersionInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput { +func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput { s.ApplicationId = &v return s } -// SetCampaignId sets the CampaignId field's value. -func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput { - s.CampaignId = &v - return s -} - -// SetVersion sets the Version field's value. -func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput { - s.Version = &v - return s -} - -type GetCampaignVersionOutput struct { - _ struct{} `type:"structure" payload:"CampaignResponse"` +type GetGcmChannelOutput struct { + _ struct{} `type:"structure" payload:"GCMChannelResponse"` - // Provides information about the status, configuration, and other settings - // for a campaign. + // Provides information about the status and settings of the GCM channel for + // an application. The GCM channel enables Amazon Pinpoint to send push notifications + // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging + // (GCM), service. // - // CampaignResponse is a required field - CampaignResponse *CampaignResponse `type:"structure" required:"true"` + // GCMChannelResponse is a required field + GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetCampaignVersionOutput) String() string { +func (s GetGcmChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignVersionOutput) GoString() string { +func (s GetGcmChannelOutput) GoString() string { return s.String() } -// SetCampaignResponse sets the CampaignResponse field's value. -func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput { - s.CampaignResponse = v +// SetGCMChannelResponse sets the GCMChannelResponse field's value. +func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput { + s.GCMChannelResponse = v return s } -type GetCampaignVersionsInput struct { +type GetImportJobInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // CampaignId is a required field - CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"` - - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - - Token *string `location:"querystring" locationName:"token" type:"string"` + // JobId is a required field + JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"` } // String returns the string representation -func (s GetCampaignVersionsInput) String() string { +func (s GetImportJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignVersionsInput) GoString() string { +func (s GetImportJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCampaignVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"} +func (s *GetImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.CampaignId == nil { - invalidParams.Add(request.NewErrParamRequired("CampaignId")) + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) } - if s.CampaignId != nil && len(*s.CampaignId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1)) + if s.JobId != nil && len(*s.JobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) } if invalidParams.Len() > 0 { @@ -18462,56 +20605,46 @@ func (s *GetCampaignVersionsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput { +func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput { s.ApplicationId = &v return s } -// SetCampaignId sets the CampaignId field's value. -func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput { - s.CampaignId = &v - return s -} - -// SetPageSize sets the PageSize field's value. -func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput { - s.PageSize = &v - return s -} - -// SetToken sets the Token field's value. -func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput { - s.Token = &v +// SetJobId sets the JobId field's value. +func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput { + s.JobId = &v return s } -type GetCampaignVersionsOutput struct { - _ struct{} `type:"structure" payload:"CampaignsResponse"` +type GetImportJobOutput struct { + _ struct{} `type:"structure" payload:"ImportJobResponse"` - // Provides information about the configuration and other settings for all the - // campaigns that are associated with an application. + // Provides information about the status and settings of a job that imports + // endpoint definitions from one or more files. The files can be stored in an + // Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from + // a computer by using the Amazon Pinpoint console. // - // CampaignsResponse is a required field - CampaignsResponse *CampaignsResponse `type:"structure" required:"true"` + // ImportJobResponse is a required field + ImportJobResponse *ImportJobResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetCampaignVersionsOutput) String() string { +func (s GetImportJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignVersionsOutput) GoString() string { +func (s GetImportJobOutput) GoString() string { return s.String() } -// SetCampaignsResponse sets the CampaignsResponse field's value. -func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput { - s.CampaignsResponse = v +// SetImportJobResponse sets the ImportJobResponse field's value. +func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput { + s.ImportJobResponse = v return s } -type GetCampaignsInput struct { +type GetImportJobsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -18523,18 +20656,18 @@ type GetCampaignsInput struct { } // String returns the string representation -func (s GetCampaignsInput) String() string { +func (s GetImportJobsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignsInput) GoString() string { +func (s GetImportJobsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCampaignsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"} +func (s *GetImportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } @@ -18549,75 +20682,102 @@ func (s *GetCampaignsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput { +func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput { s.ApplicationId = &v return s } // SetPageSize sets the PageSize field's value. -func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput { +func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput { s.PageSize = &v return s } // SetToken sets the Token field's value. -func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput { +func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput { s.Token = &v return s } -type GetCampaignsOutput struct { - _ struct{} `type:"structure" payload:"CampaignsResponse"` +type GetImportJobsOutput struct { + _ struct{} `type:"structure" payload:"ImportJobsResponse"` - // Provides information about the configuration and other settings for all the - // campaigns that are associated with an application. + // Provides information about the status and settings of all the import jobs + // that are associated with an application or segment. An import job is a job + // that imports endpoint definitions from one or more files. // - // CampaignsResponse is a required field - CampaignsResponse *CampaignsResponse `type:"structure" required:"true"` + // ImportJobsResponse is a required field + ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetCampaignsOutput) String() string { +func (s GetImportJobsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCampaignsOutput) GoString() string { +func (s GetImportJobsOutput) GoString() string { return s.String() } -// SetCampaignsResponse sets the CampaignsResponse field's value. -func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput { - s.CampaignsResponse = v +// SetImportJobsResponse sets the ImportJobsResponse field's value. +func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput { + s.ImportJobsResponse = v return s } -type GetChannelsInput struct { +type GetJourneyDateRangeKpiInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + // KpiName is a required field + KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation -func (s GetChannelsInput) String() string { +func (s GetJourneyDateRangeKpiInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetChannelsInput) GoString() string { +func (s GetJourneyDateRangeKpiInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetChannelsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"} +func (s *GetJourneyDateRangeKpiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyDateRangeKpiInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) + } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } + if s.KpiName == nil { + invalidParams.Add(request.NewErrParamRequired("KpiName")) + } + if s.KpiName != nil && len(*s.KpiName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KpiName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -18626,127 +20786,120 @@ func (s *GetChannelsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput { +func (s *GetJourneyDateRangeKpiInput) SetApplicationId(v string) *GetJourneyDateRangeKpiInput { s.ApplicationId = &v return s } -type GetChannelsOutput struct { - _ struct{} `type:"structure" payload:"ChannelsResponse"` - - // Provides information about the general settings and status of all channels - // for an application, including channels that aren't enabled for the application. - // - // ChannelsResponse is a required field - ChannelsResponse *ChannelsResponse `type:"structure" required:"true"` -} - -// String returns the string representation -func (s GetChannelsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetChannelsOutput) GoString() string { - return s.String() -} - -// SetChannelsResponse sets the ChannelsResponse field's value. -func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput { - s.ChannelsResponse = v +// SetEndTime sets the EndTime field's value. +func (s *GetJourneyDateRangeKpiInput) SetEndTime(v time.Time) *GetJourneyDateRangeKpiInput { + s.EndTime = &v return s } -type GetEmailChannelInput struct { - _ struct{} `type:"structure"` - - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyDateRangeKpiInput) SetJourneyId(v string) *GetJourneyDateRangeKpiInput { + s.JourneyId = &v + return s } -// String returns the string representation -func (s GetEmailChannelInput) String() string { - return awsutil.Prettify(s) +// SetKpiName sets the KpiName field's value. +func (s *GetJourneyDateRangeKpiInput) SetKpiName(v string) *GetJourneyDateRangeKpiInput { + s.KpiName = &v + return s } -// GoString returns the string representation -func (s GetEmailChannelInput) GoString() string { - return s.String() +// SetNextToken sets the NextToken field's value. +func (s *GetJourneyDateRangeKpiInput) SetNextToken(v string) *GetJourneyDateRangeKpiInput { + s.NextToken = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetEmailChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPageSize sets the PageSize field's value. +func (s *GetJourneyDateRangeKpiInput) SetPageSize(v string) *GetJourneyDateRangeKpiInput { + s.PageSize = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput { - s.ApplicationId = &v +// SetStartTime sets the StartTime field's value. +func (s *GetJourneyDateRangeKpiInput) SetStartTime(v time.Time) *GetJourneyDateRangeKpiInput { + s.StartTime = &v return s } -type GetEmailChannelOutput struct { - _ struct{} `type:"structure" payload:"EmailChannelResponse"` +type GetJourneyDateRangeKpiOutput struct { + _ struct{} `type:"structure" payload:"JourneyDateRangeKpiResponse"` - // Provides information about the status and settings of the email channel for - // an application. + // Provides the results of a query that retrieved the data for a standard engagement + // metric that applies to a journey, and provides information about that query. // - // EmailChannelResponse is a required field - EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"` + // JourneyDateRangeKpiResponse is a required field + JourneyDateRangeKpiResponse *JourneyDateRangeKpiResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetEmailChannelOutput) String() string { +func (s GetJourneyDateRangeKpiOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEmailChannelOutput) GoString() string { +func (s GetJourneyDateRangeKpiOutput) GoString() string { return s.String() } -// SetEmailChannelResponse sets the EmailChannelResponse field's value. -func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput { - s.EmailChannelResponse = v +// SetJourneyDateRangeKpiResponse sets the JourneyDateRangeKpiResponse field's value. +func (s *GetJourneyDateRangeKpiOutput) SetJourneyDateRangeKpiResponse(v *JourneyDateRangeKpiResponse) *GetJourneyDateRangeKpiOutput { + s.JourneyDateRangeKpiResponse = v return s } -type GetEmailTemplateInput struct { +type GetJourneyExecutionActivityMetricsInput struct { _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // JourneyActivityId is a required field + JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` } // String returns the string representation -func (s GetEmailTemplateInput) String() string { +func (s GetJourneyExecutionActivityMetricsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEmailTemplateInput) GoString() string { +func (s GetJourneyExecutionActivityMetricsInput) 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")) +func (s *GetJourneyExecutionActivityMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionActivityMetricsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JourneyActivityId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyActivityId")) + } + if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1)) + } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) } - if s.TemplateName != nil && len(*s.TemplateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) } if invalidParams.Len() > 0 { @@ -18755,72 +20908,101 @@ func (s *GetEmailTemplateInput) Validate() error { return nil } -// SetTemplateName sets the TemplateName field's value. -func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput { - s.TemplateName = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetJourneyExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyExecutionActivityMetricsInput { + s.ApplicationId = &v return s } -type GetEmailTemplateOutput struct { - _ struct{} `type:"structure" payload:"EmailTemplateResponse"` +// SetJourneyActivityId sets the JourneyActivityId field's value. +func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyExecutionActivityMetricsInput { + s.JourneyActivityId = &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. +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyExecutionActivityMetricsInput { + s.JourneyId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJourneyExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyExecutionActivityMetricsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *GetJourneyExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyExecutionActivityMetricsInput { + s.PageSize = &v + return s +} + +type GetJourneyExecutionActivityMetricsOutput struct { + _ struct{} `type:"structure" payload:"JourneyExecutionActivityMetricsResponse"` + + // Provides the results of a query that retrieved the data for a standard execution + // metric that applies to a journey activity, and provides information about + // that query. // - // EmailTemplateResponse is a required field - EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"` + // JourneyExecutionActivityMetricsResponse is a required field + JourneyExecutionActivityMetricsResponse *JourneyExecutionActivityMetricsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetEmailTemplateOutput) String() string { +func (s GetJourneyExecutionActivityMetricsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEmailTemplateOutput) GoString() string { +func (s GetJourneyExecutionActivityMetricsOutput) GoString() string { return s.String() } -// SetEmailTemplateResponse sets the EmailTemplateResponse field's value. -func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput { - s.EmailTemplateResponse = v +// SetJourneyExecutionActivityMetricsResponse sets the JourneyExecutionActivityMetricsResponse field's value. +func (s *GetJourneyExecutionActivityMetricsOutput) SetJourneyExecutionActivityMetricsResponse(v *JourneyExecutionActivityMetricsResponse) *GetJourneyExecutionActivityMetricsOutput { + s.JourneyExecutionActivityMetricsResponse = v return s } -type GetEndpointInput struct { +type GetJourneyExecutionMetricsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // EndpointId is a required field - EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"` + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` } // String returns the string representation -func (s GetEndpointInput) String() string { +func (s GetJourneyExecutionMetricsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEndpointInput) GoString() string { +func (s GetJourneyExecutionMetricsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"} +func (s *GetJourneyExecutionMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionMetricsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.EndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointId")) + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) } - if s.EndpointId != nil && len(*s.EndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1)) + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) } if invalidParams.Len() > 0 { @@ -18830,68 +21012,90 @@ func (s *GetEndpointInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput { +func (s *GetJourneyExecutionMetricsInput) SetApplicationId(v string) *GetJourneyExecutionMetricsInput { s.ApplicationId = &v return s } -// SetEndpointId sets the EndpointId field's value. -func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput { - s.EndpointId = &v +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyExecutionMetricsInput) SetJourneyId(v string) *GetJourneyExecutionMetricsInput { + s.JourneyId = &v return s } -type GetEndpointOutput struct { - _ struct{} `type:"structure" payload:"EndpointResponse"` +// SetNextToken sets the NextToken field's value. +func (s *GetJourneyExecutionMetricsInput) SetNextToken(v string) *GetJourneyExecutionMetricsInput { + s.NextToken = &v + return s +} - // Provides information about the channel type and other settings for an endpoint. +// SetPageSize sets the PageSize field's value. +func (s *GetJourneyExecutionMetricsInput) SetPageSize(v string) *GetJourneyExecutionMetricsInput { + s.PageSize = &v + return s +} + +type GetJourneyExecutionMetricsOutput struct { + _ struct{} `type:"structure" payload:"JourneyExecutionMetricsResponse"` + + // Provides the results of a query that retrieved the data for a standard execution + // metric that applies to a journey. // - // EndpointResponse is a required field - EndpointResponse *EndpointResponse `type:"structure" required:"true"` + // JourneyExecutionMetricsResponse is a required field + JourneyExecutionMetricsResponse *JourneyExecutionMetricsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetEndpointOutput) String() string { +func (s GetJourneyExecutionMetricsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEndpointOutput) GoString() string { +func (s GetJourneyExecutionMetricsOutput) GoString() string { return s.String() } -// SetEndpointResponse sets the EndpointResponse field's value. -func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput { - s.EndpointResponse = v +// SetJourneyExecutionMetricsResponse sets the JourneyExecutionMetricsResponse field's value. +func (s *GetJourneyExecutionMetricsOutput) SetJourneyExecutionMetricsResponse(v *JourneyExecutionMetricsResponse) *GetJourneyExecutionMetricsOutput { + s.JourneyExecutionMetricsResponse = v return s } -type GetEventStreamInput struct { +type GetJourneyInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` } // String returns the string representation -func (s GetEventStreamInput) String() string { +func (s GetJourneyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEventStreamInput) GoString() string { +func (s GetJourneyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetEventStreamInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"} +func (s *GetJourneyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) + } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -18900,71 +21104,68 @@ func (s *GetEventStreamInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput { +func (s *GetJourneyInput) SetApplicationId(v string) *GetJourneyInput { s.ApplicationId = &v return s } -type GetEventStreamOutput struct { - _ struct{} `type:"structure" payload:"EventStream"` +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyInput) SetJourneyId(v string) *GetJourneyInput { + s.JourneyId = &v + return s +} - // Specifies settings for publishing event data to an Amazon Kinesis data stream - // or an Amazon Kinesis Data Firehose delivery stream. +type GetJourneyOutput struct { + _ struct{} `type:"structure" payload:"JourneyResponse"` + + // Provides information about the status, configuration, and other settings + // for a journey. // - // EventStream is a required field - EventStream *EventStream `type:"structure" required:"true"` + // JourneyResponse is a required field + JourneyResponse *JourneyResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetEventStreamOutput) String() string { +func (s GetJourneyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEventStreamOutput) GoString() string { +func (s GetJourneyOutput) GoString() string { return s.String() } -// SetEventStream sets the EventStream field's value. -func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput { - s.EventStream = v +// SetJourneyResponse sets the JourneyResponse field's value. +func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOutput { + s.JourneyResponse = v return s } -type GetExportJobInput struct { +type GetPushTemplateInput struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // JobId is a required field - JobId *string `location:"uri" locationName:"job-id" type:"string" 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 GetExportJobInput) String() string { +func (s GetPushTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetExportJobInput) GoString() string { +func (s GetPushTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetExportJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - if s.JobId == nil { - invalidParams.Add(request.NewErrParamRequired("JobId")) +func (s *GetPushTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) } - if s.JobId != nil && len(*s.JobId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } if invalidParams.Len() > 0 { @@ -18973,47 +21174,39 @@ func (s *GetExportJobInput) Validate() error { return nil } -// SetApplicationId sets the ApplicationId field's value. -func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput { - s.ApplicationId = &v - return s -} - -// SetJobId sets the JobId field's value. -func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput { - s.JobId = &v +// SetTemplateName sets the TemplateName field's value. +func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput { + s.TemplateName = &v return s } -type GetExportJobOutput struct { - _ struct{} `type:"structure" payload:"ExportJobResponse"` +type GetPushTemplateOutput struct { + _ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"` - // Provides information about the status and settings of a job that exports - // endpoint definitions to a file. The file can be added directly to an Amazon - // Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API - // or downloaded directly to a computer by using the Amazon Pinpoint console. + // 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. // - // ExportJobResponse is a required field - ExportJobResponse *ExportJobResponse `type:"structure" required:"true"` + // PushNotificationTemplateResponse is a required field + PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetExportJobOutput) String() string { +func (s GetPushTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetExportJobOutput) GoString() string { +func (s GetPushTemplateOutput) GoString() string { return s.String() } -// SetExportJobResponse sets the ExportJobResponse field's value. -func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput { - s.ExportJobResponse = v +// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value. +func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput { + s.PushNotificationTemplateResponse = v return s } -type GetExportJobsInput struct { +type GetSegmentExportJobsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -19021,28 +21214,37 @@ type GetExportJobsInput struct { PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + // SegmentId is a required field + SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetExportJobsInput) String() string { +func (s GetSegmentExportJobsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetExportJobsInput) GoString() string { +func (s GetSegmentExportJobsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetExportJobsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"} +func (s *GetSegmentExportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) + } + if s.SegmentId != nil && len(*s.SegmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -19051,24 +21253,30 @@ func (s *GetExportJobsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput { +func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput { s.ApplicationId = &v return s } // SetPageSize sets the PageSize field's value. -func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput { +func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput { s.PageSize = &v return s } +// SetSegmentId sets the SegmentId field's value. +func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput { + s.SegmentId = &v + return s +} + // SetToken sets the Token field's value. -func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput { +func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput { s.Token = &v return s } -type GetExportJobsOutput struct { +type GetSegmentExportJobsOutput struct { _ struct{} `type:"structure" payload:"ExportJobsResponse"` // Provides information about all the export jobs that are associated with an @@ -19080,47 +21288,60 @@ type GetExportJobsOutput struct { } // String returns the string representation -func (s GetExportJobsOutput) String() string { +func (s GetSegmentExportJobsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetExportJobsOutput) GoString() string { +func (s GetSegmentExportJobsOutput) GoString() string { return s.String() } // SetExportJobsResponse sets the ExportJobsResponse field's value. -func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput { +func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput { s.ExportJobsResponse = v return s } -type GetGcmChannelInput struct { +type GetSegmentImportJobsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + // SegmentId is a required field + SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetGcmChannelInput) String() string { +func (s GetSegmentImportJobsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetGcmChannelInput) GoString() string { +func (s GetSegmentImportJobsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetGcmChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"} +func (s *GetSegmentImportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) + } + if s.SegmentId != nil && len(*s.SegmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -19129,73 +21350,90 @@ func (s *GetGcmChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput { +func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput { s.ApplicationId = &v return s } -type GetGcmChannelOutput struct { - _ struct{} `type:"structure" payload:"GCMChannelResponse"` +// SetPageSize sets the PageSize field's value. +func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput { + s.PageSize = &v + return s +} - // Provides information about the status and settings of the GCM channel for - // an application. The GCM channel enables Amazon Pinpoint to send push notifications - // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging - // (GCM), service. +// SetSegmentId sets the SegmentId field's value. +func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput { + s.SegmentId = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput { + s.Token = &v + return s +} + +type GetSegmentImportJobsOutput struct { + _ struct{} `type:"structure" payload:"ImportJobsResponse"` + + // Provides information about the status and settings of all the import jobs + // that are associated with an application or segment. An import job is a job + // that imports endpoint definitions from one or more files. // - // GCMChannelResponse is a required field - GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"` + // ImportJobsResponse is a required field + ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetGcmChannelOutput) String() string { +func (s GetSegmentImportJobsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetGcmChannelOutput) GoString() string { +func (s GetSegmentImportJobsOutput) GoString() string { return s.String() } -// SetGCMChannelResponse sets the GCMChannelResponse field's value. -func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput { - s.GCMChannelResponse = v +// SetImportJobsResponse sets the ImportJobsResponse field's value. +func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput { + s.ImportJobsResponse = v return s } -type GetImportJobInput struct { +type GetSegmentInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // JobId is a required field - JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"` + // SegmentId is a required field + SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` } // String returns the string representation -func (s GetImportJobInput) String() string { +func (s GetSegmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetImportJobInput) GoString() string { +func (s GetSegmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetImportJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"} +func (s *GetSegmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.JobId == nil { - invalidParams.Add(request.NewErrParamRequired("JobId")) + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) } - if s.JobId != nil && len(*s.JobId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) + if s.SegmentId != nil && len(*s.SegmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) } if invalidParams.Len() > 0 { @@ -19205,75 +21443,87 @@ func (s *GetImportJobInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput { +func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput { s.ApplicationId = &v return s } -// SetJobId sets the JobId field's value. -func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput { - s.JobId = &v +// SetSegmentId sets the SegmentId field's value. +func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput { + s.SegmentId = &v return s } -type GetImportJobOutput struct { - _ struct{} `type:"structure" payload:"ImportJobResponse"` +type GetSegmentOutput struct { + _ struct{} `type:"structure" payload:"SegmentResponse"` - // Provides information about the status and settings of a job that imports - // endpoint definitions from one or more files. The files can be stored in an - // Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from - // a computer by using the Amazon Pinpoint console. + // Provides information about the configuration, dimension, and other settings + // for a segment. // - // ImportJobResponse is a required field - ImportJobResponse *ImportJobResponse `type:"structure" required:"true"` + // SegmentResponse is a required field + SegmentResponse *SegmentResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetImportJobOutput) String() string { +func (s GetSegmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetImportJobOutput) GoString() string { +func (s GetSegmentOutput) GoString() string { return s.String() } -// SetImportJobResponse sets the ImportJobResponse field's value. -func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput { - s.ImportJobResponse = v +// SetSegmentResponse sets the SegmentResponse field's value. +func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput { + s.SegmentResponse = v return s } -type GetImportJobsInput struct { +type GetSegmentVersionInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + // SegmentId is a required field + SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` - Token *string `location:"querystring" locationName:"token" type:"string"` + // Version is a required field + Version *string `location:"uri" locationName:"version" type:"string" required:"true"` } // String returns the string representation -func (s GetImportJobsInput) String() string { +func (s GetSegmentVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetImportJobsInput) GoString() string { +func (s GetSegmentVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetImportJobsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"} +func (s *GetSegmentVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) + } + if s.SegmentId != nil && len(*s.SegmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) + } + if s.Version == nil { + invalidParams.Add(request.NewErrParamRequired("Version")) + } + if s.Version != nil && len(*s.Version) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Version", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -19282,75 +21532,87 @@ func (s *GetImportJobsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput { +func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput { s.ApplicationId = &v return s } -// SetPageSize sets the PageSize field's value. -func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput { - s.PageSize = &v +// SetSegmentId sets the SegmentId field's value. +func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput { + s.SegmentId = &v return s } -// SetToken sets the Token field's value. -func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput { - s.Token = &v +// SetVersion sets the Version field's value. +func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput { + s.Version = &v return s } -type GetImportJobsOutput struct { - _ struct{} `type:"structure" payload:"ImportJobsResponse"` +type GetSegmentVersionOutput struct { + _ struct{} `type:"structure" payload:"SegmentResponse"` - // Provides information about the status and settings of all the import jobs - // that are associated with an application or segment. An import job is a job - // that imports endpoint definitions from one or more files. + // Provides information about the configuration, dimension, and other settings + // for a segment. // - // ImportJobsResponse is a required field - ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"` + // SegmentResponse is a required field + SegmentResponse *SegmentResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetImportJobsOutput) String() string { +func (s GetSegmentVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetImportJobsOutput) GoString() string { +func (s GetSegmentVersionOutput) GoString() string { return s.String() } -// SetImportJobsResponse sets the ImportJobsResponse field's value. -func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput { - s.ImportJobsResponse = v +// SetSegmentResponse sets the SegmentResponse field's value. +func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput { + s.SegmentResponse = v return s } -type GetPushTemplateInput struct { +type GetSegmentVersionsInput struct { _ struct{} `type:"structure"` - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + // SegmentId is a required field + SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetPushTemplateInput) String() string { +func (s GetSegmentVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPushTemplateInput) GoString() string { +func (s GetSegmentVersionsInput) 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")) +func (s *GetSegmentVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } - if s.TemplateName != nil && len(*s.TemplateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) + } + if s.SegmentId != nil && len(*s.SegmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) } if invalidParams.Len() > 0 { @@ -19359,39 +21621,56 @@ func (s *GetPushTemplateInput) Validate() error { return nil } -// SetTemplateName sets the TemplateName field's value. -func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput { - s.TemplateName = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput { + s.ApplicationId = &v return s } -type GetPushTemplateOutput struct { - _ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"` +// SetPageSize sets the PageSize field's value. +func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput { + s.PageSize = &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. +// SetSegmentId sets the SegmentId field's value. +func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput { + s.SegmentId = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput { + s.Token = &v + return s +} + +type GetSegmentVersionsOutput struct { + _ struct{} `type:"structure" payload:"SegmentsResponse"` + + // Provides information about all the segments that are associated with an application. // - // PushNotificationTemplateResponse is a required field - PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"` + // SegmentsResponse is a required field + SegmentsResponse *SegmentsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetPushTemplateOutput) String() string { +func (s GetSegmentVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPushTemplateOutput) GoString() string { +func (s GetSegmentVersionsOutput) GoString() string { return s.String() } -// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value. -func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput { - s.PushNotificationTemplateResponse = v +// SetSegmentsResponse sets the SegmentsResponse field's value. +func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput { + s.SegmentsResponse = v return s } -type GetSegmentExportJobsInput struct { +type GetSegmentsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field @@ -19399,37 +21678,28 @@ type GetSegmentExportJobsInput struct { PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - // SegmentId is a required field - SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` - Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetSegmentExportJobsInput) String() string { +func (s GetSegmentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentExportJobsInput) GoString() string { +func (s GetSegmentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSegmentExportJobsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"} +func (s *GetSegmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.SegmentId == nil { - invalidParams.Add(request.NewErrParamRequired("SegmentId")) - } - if s.SegmentId != nil && len(*s.SegmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -19438,95 +21708,74 @@ func (s *GetSegmentExportJobsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput { +func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput { s.ApplicationId = &v return s } // SetPageSize sets the PageSize field's value. -func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput { +func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput { s.PageSize = &v return s } -// SetSegmentId sets the SegmentId field's value. -func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput { - s.SegmentId = &v - return s -} - // SetToken sets the Token field's value. -func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput { +func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput { s.Token = &v return s } -type GetSegmentExportJobsOutput struct { - _ struct{} `type:"structure" payload:"ExportJobsResponse"` +type GetSegmentsOutput struct { + _ struct{} `type:"structure" payload:"SegmentsResponse"` - // Provides information about all the export jobs that are associated with an - // application or segment. An export job is a job that exports endpoint definitions - // to a file. - // - // ExportJobsResponse is a required field - ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"` + // Provides information about all the segments that are associated with an application. + // + // SegmentsResponse is a required field + SegmentsResponse *SegmentsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetSegmentExportJobsOutput) String() string { +func (s GetSegmentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentExportJobsOutput) GoString() string { +func (s GetSegmentsOutput) GoString() string { return s.String() } -// SetExportJobsResponse sets the ExportJobsResponse field's value. -func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput { - s.ExportJobsResponse = v +// SetSegmentsResponse sets the SegmentsResponse field's value. +func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput { + s.SegmentsResponse = v return s } -type GetSegmentImportJobsInput struct { +type GetSmsChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` - - // SegmentId is a required field - SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` - - Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s GetSegmentImportJobsInput) String() string { +func (s GetSmsChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentImportJobsInput) GoString() string { +func (s GetSmsChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSegmentImportJobsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"} +func (s *GetSmsChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.SegmentId == nil { - invalidParams.Add(request.NewErrParamRequired("SegmentId")) - } - if s.SegmentId != nil && len(*s.SegmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -19535,90 +21784,136 @@ func (s *GetSegmentImportJobsInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput { +func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput { s.ApplicationId = &v return s } -// SetPageSize sets the PageSize field's value. -func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput { - s.PageSize = &v - return s +type GetSmsChannelOutput struct { + _ struct{} `type:"structure" payload:"SMSChannelResponse"` + + // Provides information about the status and settings of the SMS channel for + // an application. + // + // SMSChannelResponse is a required field + SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"` } -// SetSegmentId sets the SegmentId field's value. -func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput { - s.SegmentId = &v +// String returns the string representation +func (s GetSmsChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSmsChannelOutput) GoString() string { + return s.String() +} + +// SetSMSChannelResponse sets the SMSChannelResponse field's value. +func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput { + s.SMSChannelResponse = v return s } -// SetToken sets the Token field's value. -func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput { - s.Token = &v +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 GetSegmentImportJobsOutput struct { - _ struct{} `type:"structure" payload:"ImportJobsResponse"` +type GetSmsTemplateOutput struct { + _ struct{} `type:"structure" payload:"SMSTemplateResponse"` - // Provides information about the status and settings of all the import jobs - // that are associated with an application or segment. An import job is a job - // that imports endpoint definitions from one or more files. + // 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. // - // ImportJobsResponse is a required field - ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"` + // SMSTemplateResponse is a required field + SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetSegmentImportJobsOutput) String() string { +func (s GetSmsTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentImportJobsOutput) GoString() string { +func (s GetSmsTemplateOutput) GoString() string { return s.String() } -// SetImportJobsResponse sets the ImportJobsResponse field's value. -func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput { - s.ImportJobsResponse = v +// SetSMSTemplateResponse sets the SMSTemplateResponse field's value. +func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput { + s.SMSTemplateResponse = v return s } -type GetSegmentInput struct { +type GetUserEndpointsInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // SegmentId is a required field - SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` + // UserId is a required field + UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"` } // String returns the string representation -func (s GetSegmentInput) String() string { +func (s GetUserEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentInput) GoString() string { +func (s GetUserEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSegmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"} +func (s *GetUserEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.SegmentId == nil { - invalidParams.Add(request.NewErrParamRequired("SegmentId")) + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) } - if s.SegmentId != nil && len(*s.SegmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) } if invalidParams.Len() > 0 { @@ -19628,87 +21923,69 @@ func (s *GetSegmentInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput { +func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput { s.ApplicationId = &v return s } -// SetSegmentId sets the SegmentId field's value. -func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput { - s.SegmentId = &v +// SetUserId sets the UserId field's value. +func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput { + s.UserId = &v return s } -type GetSegmentOutput struct { - _ struct{} `type:"structure" payload:"SegmentResponse"` +type GetUserEndpointsOutput struct { + _ struct{} `type:"structure" payload:"EndpointsResponse"` - // Provides information about the configuration, dimension, and other settings - // for a segment. + // Provides information about all the endpoints that are associated with a user + // ID. // - // SegmentResponse is a required field - SegmentResponse *SegmentResponse `type:"structure" required:"true"` + // EndpointsResponse is a required field + EndpointsResponse *EndpointsResponse `type:"structure" required:"true"` } // String returns the string representation -func (s GetSegmentOutput) String() string { +func (s GetUserEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentOutput) GoString() string { +func (s GetUserEndpointsOutput) GoString() string { return s.String() } -// SetSegmentResponse sets the SegmentResponse field's value. -func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput { - s.SegmentResponse = v +// SetEndpointsResponse sets the EndpointsResponse field's value. +func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput { + s.EndpointsResponse = v return s } -type GetSegmentVersionInput struct { +type GetVoiceChannelInput struct { _ struct{} `type:"structure"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - - // SegmentId is a required field - SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` - - // Version is a required field - Version *string `location:"uri" locationName:"version" type:"string" required:"true"` } // String returns the string representation -func (s GetSegmentVersionInput) String() string { +func (s GetVoiceChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentVersionInput) GoString() string { +func (s GetVoiceChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSegmentVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"} +func (s *GetVoiceChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.SegmentId == nil { - invalidParams.Add(request.NewErrParamRequired("SegmentId")) - } - if s.SegmentId != nil && len(*s.SegmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) - } - if s.Version == nil { - invalidParams.Add(request.NewErrParamRequired("Version")) - } - if s.Version != nil && len(*s.Version) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Version", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -19717,87 +21994,166 @@ func (s *GetSegmentVersionInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput { +func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput { s.ApplicationId = &v return s } -// SetSegmentId sets the SegmentId field's value. -func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput { - s.SegmentId = &v - return s +type GetVoiceChannelOutput struct { + _ struct{} `type:"structure" payload:"VoiceChannelResponse"` + + // Provides information about the status and settings of the voice channel for + // an application. + // + // VoiceChannelResponse is a required field + VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"` } -// SetVersion sets the Version field's value. -func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput { - s.Version = &v +// String returns the string representation +func (s GetVoiceChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetVoiceChannelOutput) GoString() string { + return s.String() +} + +// SetVoiceChannelResponse sets the VoiceChannelResponse field's value. +func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput { + s.VoiceChannelResponse = v return s } -type GetSegmentVersionOutput struct { - _ struct{} `type:"structure" payload:"SegmentResponse"` +// Specifies the settings for a holdout activity in a journey. This type of +// activity stops a journey for a specified percentage of participants. +type HoldoutActivity struct { + _ struct{} `type:"structure"` - // Provides information about the configuration, dimension, and other settings - // for a segment. + // The unique identifier for the next activity to perform, after performing + // the holdout activity. + NextActivity *string `type:"string"` + + // The percentage of participants who shouldn't continue the journey. // - // SegmentResponse is a required field - SegmentResponse *SegmentResponse `type:"structure" required:"true"` + // Percentage is a required field + Percentage *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s HoldoutActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HoldoutActivity) GoString() string { + return s.String() } -// String returns the string representation -func (s GetSegmentVersionOutput) String() string { - return awsutil.Prettify(s) +// Validate inspects the fields of the type to determine if they are valid. +func (s *HoldoutActivity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HoldoutActivity"} + if s.Percentage == nil { + invalidParams.Add(request.NewErrParamRequired("Percentage")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// GoString returns the string representation -func (s GetSegmentVersionOutput) GoString() string { - return s.String() +// SetNextActivity sets the NextActivity field's value. +func (s *HoldoutActivity) SetNextActivity(v string) *HoldoutActivity { + s.NextActivity = &v + return s } -// SetSegmentResponse sets the SegmentResponse field's value. -func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput { - s.SegmentResponse = v +// SetPercentage sets the Percentage field's value. +func (s *HoldoutActivity) SetPercentage(v int64) *HoldoutActivity { + s.Percentage = &v return s } -type GetSegmentVersionsInput struct { +// Specifies the settings for a job that imports endpoint definitions from an +// Amazon Simple Storage Service (Amazon S3) bucket. +type ImportJobRequest struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // Specifies whether to create a segment that contains the endpoints, when the + // endpoint definitions are imported. + DefineSegment *bool `type:"boolean"` - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + // (Deprecated) Your AWS account ID, which you assigned to an external ID key + // in an IAM trust policy. Amazon Pinpoint previously used this value to assume + // an IAM role when importing endpoint definitions, but we removed this requirement. + // We don't recommend use of external IDs for IAM roles that are assumed by + // Amazon Pinpoint. + ExternalId *string `type:"string"` - // SegmentId is a required field - SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"` + // The format of the files that contain the endpoint definitions to import. + // Valid values are: CSV, for comma-separated values format; and, JSON, for + // newline-delimited JSON format. If the Amazon S3 location stores multiple + // files that use different formats, Amazon Pinpoint imports data only from + // the files that use the specified format. + // + // Format is a required field + Format *string `type:"string" required:"true" enum:"Format"` - Token *string `location:"querystring" locationName:"token" type:"string"` + // Specifies whether to register the endpoints with Amazon Pinpoint, when the + // endpoint definitions are imported. + RegisterEndpoints *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management + // (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location + // to import endpoint definitions from. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` + + // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains + // the endpoint definitions to import. This location can be a folder or a single + // file. If the location is a folder, Amazon Pinpoint imports endpoint definitions + // from the files in this location, including any subfolders that the folder + // contains. + // + // The URL should be in the following format: s3://bucket-name/folder-name/file-name. + // The location can end with the key for an individual object or a prefix that + // qualifies multiple objects. + // + // S3Url is a required field + S3Url *string `type:"string" required:"true"` + + // The identifier for the segment to update or add the imported endpoint definitions + // to, if the import job is meant to update an existing segment. + SegmentId *string `type:"string"` + + // The custom name for the segment that's created by the import job, if the + // value of the DefineSegment property is true. + SegmentName *string `type:"string"` } // String returns the string representation -func (s GetSegmentVersionsInput) String() string { +func (s ImportJobRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentVersionsInput) GoString() string { +func (s ImportJobRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSegmentVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) +func (s *ImportJobRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"} + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) } - if s.SegmentId == nil { - invalidParams.Add(request.NewErrParamRequired("SegmentId")) + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) } - if s.SegmentId != nil && len(*s.SegmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1)) + if s.S3Url == nil { + invalidParams.Add(request.NewErrParamRequired("S3Url")) } if invalidParams.Len() > 0 { @@ -19806,833 +22162,1029 @@ func (s *GetSegmentVersionsInput) Validate() error { return nil } -// SetApplicationId sets the ApplicationId field's value. -func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput { - s.ApplicationId = &v +// SetDefineSegment sets the DefineSegment field's value. +func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest { + s.DefineSegment = &v return s } -// SetPageSize sets the PageSize field's value. -func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput { - s.PageSize = &v +// SetExternalId sets the ExternalId field's value. +func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest { + s.ExternalId = &v return s } -// SetSegmentId sets the SegmentId field's value. -func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput { - s.SegmentId = &v +// SetFormat sets the Format field's value. +func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest { + s.Format = &v return s } -// SetToken sets the Token field's value. -func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput { - s.Token = &v +// SetRegisterEndpoints sets the RegisterEndpoints field's value. +func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest { + s.RegisterEndpoints = &v return s } -type GetSegmentVersionsOutput struct { - _ struct{} `type:"structure" payload:"SegmentsResponse"` - - // Provides information about all the segments that are associated with an application. - // - // SegmentsResponse is a required field - SegmentsResponse *SegmentsResponse `type:"structure" required:"true"` +// SetRoleArn sets the RoleArn field's value. +func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest { + s.RoleArn = &v + return s } -// String returns the string representation -func (s GetSegmentVersionsOutput) String() string { - return awsutil.Prettify(s) +// SetS3Url sets the S3Url field's value. +func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest { + s.S3Url = &v + return s } -// GoString returns the string representation -func (s GetSegmentVersionsOutput) GoString() string { - return s.String() +// SetSegmentId sets the SegmentId field's value. +func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest { + s.SegmentId = &v + return s } -// SetSegmentsResponse sets the SegmentsResponse field's value. -func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput { - s.SegmentsResponse = v +// SetSegmentName sets the SegmentName field's value. +func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest { + s.SegmentName = &v return s } -type GetSegmentsInput struct { +// Provides information about the resource settings for a job that imports endpoint +// definitions from one or more files. The files can be stored in an Amazon +// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer +// by using the Amazon Pinpoint console. +type ImportJobResource struct { _ struct{} `type:"structure"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // Specifies whether the import job creates a segment that contains the endpoints, + // when the endpoint definitions are imported. + DefineSegment *bool `type:"boolean"` - PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + // (Deprecated) Your AWS account ID, which you assigned to an external ID key + // in an IAM trust policy. Amazon Pinpoint previously used this value to assume + // an IAM role when importing endpoint definitions, but we removed this requirement. + // We don't recommend use of external IDs for IAM roles that are assumed by + // Amazon Pinpoint. + ExternalId *string `type:"string"` - Token *string `location:"querystring" locationName:"token" type:"string"` + // The format of the files that contain the endpoint definitions to import. + // Valid values are: CSV, for comma-separated values format; and, JSON, for + // newline-delimited JSON format. + // + // If the files are stored in an Amazon S3 location and that location contains + // multiple files that use different formats, Amazon Pinpoint imports data only + // from the files that use the specified format. + // + // Format is a required field + Format *string `type:"string" required:"true" enum:"Format"` + + // Specifies whether the import job registers the endpoints with Amazon Pinpoint, + // when the endpoint definitions are imported. + RegisterEndpoints *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management + // (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location + // to import endpoint definitions from. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` + + // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains + // the endpoint definitions to import. This location can be a folder or a single + // file. If the location is a folder, Amazon Pinpoint imports endpoint definitions + // from the files in this location, including any subfolders that the folder + // contains. + // + // The URL should be in the following format: s3://bucket-name/folder-name/file-name. + // The location can end with the key for an individual object or a prefix that + // qualifies multiple objects. + // + // S3Url is a required field + S3Url *string `type:"string" required:"true"` + + // The identifier for the segment that the import job updates or adds endpoint + // definitions to, if the import job updates an existing segment. + SegmentId *string `type:"string"` + + // The custom name for the segment that's created by the import job, if the + // value of the DefineSegment property is true. + SegmentName *string `type:"string"` } // String returns the string representation -func (s GetSegmentsInput) String() string { +func (s ImportJobResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSegmentsInput) GoString() string { +func (s ImportJobResource) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetSegmentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } +// SetDefineSegment sets the DefineSegment field's value. +func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource { + s.DefineSegment = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExternalId sets the ExternalId field's value. +func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource { + s.ExternalId = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *ImportJobResource) SetFormat(v string) *ImportJobResource { + s.Format = &v + return s +} + +// SetRegisterEndpoints sets the RegisterEndpoints field's value. +func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource { + s.RegisterEndpoints = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource { + s.RoleArn = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput { - s.ApplicationId = &v +// SetS3Url sets the S3Url field's value. +func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource { + s.S3Url = &v return s } -// SetPageSize sets the PageSize field's value. -func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput { - s.PageSize = &v +// SetSegmentId sets the SegmentId field's value. +func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource { + s.SegmentId = &v return s } -// SetToken sets the Token field's value. -func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput { - s.Token = &v +// SetSegmentName sets the SegmentName field's value. +func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource { + s.SegmentName = &v return s } -type GetSegmentsOutput struct { - _ struct{} `type:"structure" payload:"SegmentsResponse"` +// Provides information about the status and settings of a job that imports +// endpoint definitions from one or more files. The files can be stored in an +// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from +// a computer by using the Amazon Pinpoint console. +type ImportJobResponse struct { + _ struct{} `type:"structure"` - // Provides information about all the segments that are associated with an application. + // The unique identifier for the application that's associated with the import + // job. // - // SegmentsResponse is a required field - SegmentsResponse *SegmentsResponse `type:"structure" required:"true"` -} + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` -// String returns the string representation -func (s GetSegmentsOutput) String() string { - return awsutil.Prettify(s) -} + // The number of pieces that were processed successfully (completed) by the + // import job, as of the time of the request. + CompletedPieces *int64 `type:"integer"` -// GoString returns the string representation -func (s GetSegmentsOutput) GoString() string { - return s.String() -} + // The date, in ISO 8601 format, when the import job was completed. + CompletionDate *string `type:"string"` -// SetSegmentsResponse sets the SegmentsResponse field's value. -func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput { - s.SegmentsResponse = v - return s -} + // The date, in ISO 8601 format, when the import job was created. + // + // CreationDate is a required field + CreationDate *string `type:"string" required:"true"` -type GetSmsChannelInput struct { - _ struct{} `type:"structure"` + // The resource settings that apply to the import job. + // + // Definition is a required field + Definition *ImportJobResource `type:"structure" required:"true"` - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + // The number of pieces that weren't processed successfully (failed) by the + // import job, as of the time of the request. + FailedPieces *int64 `type:"integer"` + + // An array of entries, one for each of the first 100 entries that weren't processed + // successfully (failed) by the import job, if any. + Failures []*string `type:"list"` + + // The unique identifier for the import job. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The status of the import job. The job status is FAILED if Amazon Pinpoint + // wasn't able to process one or more pieces in the job. + // + // JobStatus is a required field + JobStatus *string `type:"string" required:"true" enum:"JobStatus"` + + // The total number of endpoint definitions that weren't processed successfully + // (failed) by the import job, typically because an error, such as a syntax + // error, occurred. + TotalFailures *int64 `type:"integer"` + + // The total number of pieces that must be processed to complete the import + // job. Each piece consists of an approximately equal portion of the endpoint + // definitions that are part of the import job. + TotalPieces *int64 `type:"integer"` + + // The total number of endpoint definitions that were processed by the import + // job. + TotalProcessed *int64 `type:"integer"` + + // The job type. This value is IMPORT for import jobs. + // + // Type is a required field + Type *string `type:"string" required:"true"` } // String returns the string representation -func (s GetSmsChannelInput) String() string { +func (s ImportJobResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSmsChannelInput) GoString() string { +func (s ImportJobResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetSmsChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetApplicationId sets the ApplicationId field's value. -func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput { +func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse { s.ApplicationId = &v return s } -type GetSmsChannelOutput struct { - _ struct{} `type:"structure" payload:"SMSChannelResponse"` +// SetCompletedPieces sets the CompletedPieces field's value. +func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse { + s.CompletedPieces = &v + return s +} - // Provides information about the status and settings of the SMS channel for - // an application. - // - // SMSChannelResponse is a required field - SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"` +// SetCompletionDate sets the CompletionDate field's value. +func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse { + s.CompletionDate = &v + return s } -// String returns the string representation -func (s GetSmsChannelOutput) String() string { - return awsutil.Prettify(s) +// SetCreationDate sets the CreationDate field's value. +func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse { + s.CreationDate = &v + return s } -// GoString returns the string representation -func (s GetSmsChannelOutput) GoString() string { - return s.String() +// SetDefinition sets the Definition field's value. +func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse { + s.Definition = v + return s } -// SetSMSChannelResponse sets the SMSChannelResponse field's value. -func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput { - s.SMSChannelResponse = v +// SetFailedPieces sets the FailedPieces field's value. +func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse { + s.FailedPieces = &v return s } -type GetSmsTemplateInput struct { - _ struct{} `type:"structure"` +// SetFailures sets the Failures field's value. +func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse { + s.Failures = v + return s +} - // TemplateName is a required field - TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"` +// SetId sets the Id field's value. +func (s *ImportJobResponse) SetId(v string) *ImportJobResponse { + s.Id = &v + return s } -// String returns the string representation -func (s GetSmsTemplateInput) String() string { - return awsutil.Prettify(s) +// SetJobStatus sets the JobStatus field's value. +func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse { + s.JobStatus = &v + return s } -// GoString returns the string representation -func (s GetSmsTemplateInput) GoString() string { - return s.String() +// SetTotalFailures sets the TotalFailures field's value. +func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse { + s.TotalFailures = &v + return s } -// 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)) - } +// SetTotalPieces sets the TotalPieces field's value. +func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse { + s.TotalPieces = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTotalProcessed sets the TotalProcessed field's value. +func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse { + s.TotalProcessed = &v + return s } -// SetTemplateName sets the TemplateName field's value. -func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput { - s.TemplateName = &v +// SetType sets the Type field's value. +func (s *ImportJobResponse) SetType(v string) *ImportJobResponse { + s.Type = &v return s } -type GetSmsTemplateOutput struct { - _ struct{} `type:"structure" payload:"SMSTemplateResponse"` +// Provides information about the status and settings of all the import jobs +// that are associated with an application or segment. An import job is a job +// that imports endpoint definitions from one or more files. +type ImportJobsResponse struct { + _ struct{} `type:"structure"` - // 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. + // An array of responses, one for each import job that's associated with the + // application (Import Jobs resource) or segment (Segment Import Jobs resource). // - // SMSTemplateResponse is a required field - SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"` + // Item is a required field + Item []*ImportJobResponse `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 GetSmsTemplateOutput) String() string { +func (s ImportJobsResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSmsTemplateOutput) GoString() string { +func (s ImportJobsResponse) GoString() string { return s.String() } -// SetSMSTemplateResponse sets the SMSTemplateResponse field's value. -func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput { - s.SMSTemplateResponse = v +// SetItem sets the Item field's value. +func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse { + s.Item = v return s } -type GetUserEndpointsInput struct { - _ struct{} `type:"structure"` +// SetNextToken sets the NextToken field's value. +func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse { + s.NextToken = &v + return s +} - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +// Provides information about the results of a request to create or update an +// endpoint that's associated with an event. +type ItemResponse struct { + _ struct{} `type:"structure"` - // UserId is a required field - UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"` + // The response that was received after the endpoint data was accepted. + EndpointItemResponse *EndpointItemResponse `type:"structure"` + + // A multipart response object that contains a key and a value for each event + // in the request. In each object, the event ID is the key and an EventItemResponse + // object is the value. + EventsItemResponse map[string]*EventItemResponse `type:"map"` } // String returns the string representation -func (s GetUserEndpointsInput) String() string { +func (s ItemResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetUserEndpointsInput) GoString() string { +func (s ItemResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetUserEndpointsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } - if s.UserId == nil { - invalidParams.Add(request.NewErrParamRequired("UserId")) - } - if s.UserId != nil && len(*s.UserId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetApplicationId sets the ApplicationId field's value. -func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput { - s.ApplicationId = &v +// SetEndpointItemResponse sets the EndpointItemResponse field's value. +func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse { + s.EndpointItemResponse = v return s } -// SetUserId sets the UserId field's value. -func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput { - s.UserId = &v +// SetEventsItemResponse sets the EventsItemResponse field's value. +func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse { + s.EventsItemResponse = v return s } -type GetUserEndpointsOutput struct { - _ struct{} `type:"structure" payload:"EndpointsResponse"` +// Provides the results of a query that retrieved the data for a standard engagement +// metric that applies to a journey, and provides information about that query. +type JourneyDateRangeKpiResponse struct { + _ struct{} `type:"structure"` - // Provides information about all the endpoints that are associated with a user - // ID. + // The unique identifier for the application that the metric applies to. // - // EndpointsResponse is a required field - EndpointsResponse *EndpointsResponse `type:"structure" required:"true"` + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` + + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The unique identifier for the journey that the metric applies to. + // + // JourneyId is a required field + JourneyId *string `type:"string" required:"true"` + + // The name of the metric, also referred to as a key performance indicator (KPI), + // 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 possible values, see the + // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // + // KpiName is a required field + KpiName *string `type:"string" required:"true"` + + // An array of objects that contains the results of the query. Each object contains + // the value for the metric and metadata about that value. + // + // KpiResult is a required field + 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 Journey Engagement Metrics + // resource because the resource returns all results in a single page. + NextToken *string `type:"string"` + + // StartTime is a required field + StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` } // String returns the string representation -func (s GetUserEndpointsOutput) String() string { +func (s JourneyDateRangeKpiResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetUserEndpointsOutput) GoString() string { +func (s JourneyDateRangeKpiResponse) GoString() string { return s.String() } -// SetEndpointsResponse sets the EndpointsResponse field's value. -func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput { - s.EndpointsResponse = v +// SetApplicationId sets the ApplicationId field's value. +func (s *JourneyDateRangeKpiResponse) SetApplicationId(v string) *JourneyDateRangeKpiResponse { + s.ApplicationId = &v return s } -type GetVoiceChannelInput struct { - _ struct{} `type:"structure"` - - // ApplicationId is a required field - ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +// SetEndTime sets the EndTime field's value. +func (s *JourneyDateRangeKpiResponse) SetEndTime(v time.Time) *JourneyDateRangeKpiResponse { + s.EndTime = &v + return s } -// String returns the string representation -func (s GetVoiceChannelInput) String() string { - return awsutil.Prettify(s) +// SetJourneyId sets the JourneyId field's value. +func (s *JourneyDateRangeKpiResponse) SetJourneyId(v string) *JourneyDateRangeKpiResponse { + s.JourneyId = &v + return s } -// GoString returns the string representation -func (s GetVoiceChannelInput) GoString() string { - return s.String() +// SetKpiName sets the KpiName field's value. +func (s *JourneyDateRangeKpiResponse) SetKpiName(v string) *JourneyDateRangeKpiResponse { + s.KpiName = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetVoiceChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) - } +// SetKpiResult sets the KpiResult field's value. +func (s *JourneyDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *JourneyDateRangeKpiResponse { + s.KpiResult = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *JourneyDateRangeKpiResponse) SetNextToken(v string) *JourneyDateRangeKpiResponse { + s.NextToken = &v + return s } -// SetApplicationId sets the ApplicationId field's value. -func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput { - s.ApplicationId = &v +// SetStartTime sets the StartTime field's value. +func (s *JourneyDateRangeKpiResponse) SetStartTime(v time.Time) *JourneyDateRangeKpiResponse { + s.StartTime = &v return s } -type GetVoiceChannelOutput struct { - _ struct{} `type:"structure" payload:"VoiceChannelResponse"` +// Specifies the "From" address for an email message that's sent to participants +// in a journey. +type JourneyEmailMessage struct { + _ struct{} `type:"structure"` - // Provides information about the status and settings of the voice channel for - // an application. - // - // VoiceChannelResponse is a required field - VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"` + // The verified email address to send the email message from. The default address + // is the FromAddress specified for the email channel for the application. + FromAddress *string `type:"string"` } // String returns the string representation -func (s GetVoiceChannelOutput) String() string { +func (s JourneyEmailMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetVoiceChannelOutput) GoString() string { +func (s JourneyEmailMessage) GoString() string { return s.String() } -// SetVoiceChannelResponse sets the VoiceChannelResponse field's value. -func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput { - s.VoiceChannelResponse = v +// SetFromAddress sets the FromAddress field's value. +func (s *JourneyEmailMessage) SetFromAddress(v string) *JourneyEmailMessage { + s.FromAddress = &v return s } -// Specifies the settings for a job that imports endpoint definitions from an -// Amazon Simple Storage Service (Amazon S3) bucket. -type ImportJobRequest struct { +// Provides the results of a query that retrieved the data for a standard execution +// metric that applies to a journey activity, and provides information about +// that query. +type JourneyExecutionActivityMetricsResponse struct { _ struct{} `type:"structure"` - // Specifies whether to create a segment that contains the endpoints, when the - // endpoint definitions are imported. - DefineSegment *bool `type:"boolean"` - - // (Deprecated) Your AWS account ID, which you assigned to an external ID key - // in an IAM trust policy. Amazon Pinpoint previously used this value to assume - // an IAM role when importing endpoint definitions, but we removed this requirement. - // We don't recommend use of external IDs for IAM roles that are assumed by - // Amazon Pinpoint. - ExternalId *string `type:"string"` - - // The format of the files that contain the endpoint definitions to import. - // Valid values are: CSV, for comma-separated values format; and, JSON, for - // newline-delimited JSON format. If the Amazon S3 location stores multiple - // files that use different formats, Amazon Pinpoint imports data only from - // the files that use the specified format. + // The type of activity that the metric applies to. Possible values are: // - // Format is a required field - Format *string `type:"string" required:"true" enum:"Format"` - - // Specifies whether to register the endpoints with Amazon Pinpoint, when the - // endpoint definitions are imported. - RegisterEndpoints *bool `type:"boolean"` + // * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity + // that sends participants down one of two paths in a journey. + // + // * HOLDOUT - For a holdout activity, which is an activity that stops a + // journey for a specified percentage of participants. + // + // * MESSAGE - For an email activity, which is an activity that sends an + // email message to participants. + // + // * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is + // an activity that sends participants down one of as many as five paths + // in a journey. + // + // * RANDOM_SPLIT - For a random split activity, which is an activity that + // sends specified percentages of participants down one of as many as five + // paths in a journey. + // + // * WAIT - For a wait activity, which is an activity that waits for a certain + // amount of time or until a specific date and time before moving participants + // to the next activity in a journey. + // + // ActivityType is a required field + ActivityType *string `type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the AWS Identity and Access Management - // (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location - // to import endpoint definitions from. + // The unique identifier for the application that the metric applies to. // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` - // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains - // the endpoint definitions to import. This location can be a folder or a single - // file. If the location is a folder, Amazon Pinpoint imports endpoint definitions - // from the files in this location, including any subfolders that the folder - // contains. + // The unique identifier for the activity that the metric applies to. // - // The URL should be in the following format: s3://bucket-name/folder-name/file-name. - // The location can end with the key for an individual object or a prefix that - // qualifies multiple objects. + // JourneyActivityId is a required field + JourneyActivityId *string `type:"string" required:"true"` + + // The unique identifier for the journey that the metric applies to. // - // S3Url is a required field - S3Url *string `type:"string" required:"true"` + // JourneyId is a required field + JourneyId *string `type:"string" required:"true"` - // The identifier for the segment to update or add the imported endpoint definitions - // to, if the import job is meant to update an existing segment. - SegmentId *string `type:"string"` + // The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated + // the execution status of the activity and updated the data for the metric. + // + // LastEvaluatedTime is a required field + LastEvaluatedTime *string `type:"string" required:"true"` - // The custom name for the segment that's created by the import job, if the - // value of the DefineSegment property is true. - SegmentName *string `type:"string"` + // A JSON object that contains the results of the query. The results vary depending + // on the type of activity (ActivityType). For information about the structure + // and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // + // Metrics is a required field + Metrics map[string]*string `type:"map" required:"true"` } // String returns the string representation -func (s ImportJobRequest) String() string { +func (s JourneyExecutionActivityMetricsResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportJobRequest) GoString() string { +func (s JourneyExecutionActivityMetricsResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ImportJobRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"} - if s.Format == nil { - invalidParams.Add(request.NewErrParamRequired("Format")) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.S3Url == nil { - invalidParams.Add(request.NewErrParamRequired("S3Url")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDefineSegment sets the DefineSegment field's value. -func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest { - s.DefineSegment = &v - return s -} - -// SetExternalId sets the ExternalId field's value. -func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest { - s.ExternalId = &v - return s -} - -// SetFormat sets the Format field's value. -func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest { - s.Format = &v +// SetActivityType sets the ActivityType field's value. +func (s *JourneyExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyExecutionActivityMetricsResponse { + s.ActivityType = &v return s } -// SetRegisterEndpoints sets the RegisterEndpoints field's value. -func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest { - s.RegisterEndpoints = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *JourneyExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyExecutionActivityMetricsResponse { + s.ApplicationId = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest { - s.RoleArn = &v +// SetJourneyActivityId sets the JourneyActivityId field's value. +func (s *JourneyExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyExecutionActivityMetricsResponse { + s.JourneyActivityId = &v return s } -// SetS3Url sets the S3Url field's value. -func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest { - s.S3Url = &v +// SetJourneyId sets the JourneyId field's value. +func (s *JourneyExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyExecutionActivityMetricsResponse { + s.JourneyId = &v return s } - -// SetSegmentId sets the SegmentId field's value. -func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest { - s.SegmentId = &v + +// SetLastEvaluatedTime sets the LastEvaluatedTime field's value. +func (s *JourneyExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionActivityMetricsResponse { + s.LastEvaluatedTime = &v return s } -// SetSegmentName sets the SegmentName field's value. -func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest { - s.SegmentName = &v +// SetMetrics sets the Metrics field's value. +func (s *JourneyExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionActivityMetricsResponse { + s.Metrics = v return s } -// Provides information about the resource settings for a job that imports endpoint -// definitions from one or more files. The files can be stored in an Amazon -// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer -// by using the Amazon Pinpoint console. -type ImportJobResource struct { +// Provides the results of a query that retrieved the data for a standard execution +// metric that applies to a journey. +type JourneyExecutionMetricsResponse struct { _ struct{} `type:"structure"` - // Specifies whether the import job creates a segment that contains the endpoints, - // when the endpoint definitions are imported. - DefineSegment *bool `type:"boolean"` - - // (Deprecated) Your AWS account ID, which you assigned to an external ID key - // in an IAM trust policy. Amazon Pinpoint previously used this value to assume - // an IAM role when importing endpoint definitions, but we removed this requirement. - // We don't recommend use of external IDs for IAM roles that are assumed by - // Amazon Pinpoint. - ExternalId *string `type:"string"` - - // The format of the files that contain the endpoint definitions to import. - // Valid values are: CSV, for comma-separated values format; and, JSON, for - // newline-delimited JSON format. - // - // If the files are stored in an Amazon S3 location and that location contains - // multiple files that use different formats, Amazon Pinpoint imports data only - // from the files that use the specified format. + // The unique identifier for the application that the metric applies to. // - // Format is a required field - Format *string `type:"string" required:"true" enum:"Format"` - - // Specifies whether the import job registers the endpoints with Amazon Pinpoint, - // when the endpoint definitions are imported. - RegisterEndpoints *bool `type:"boolean"` + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the AWS Identity and Access Management - // (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location - // to import endpoint definitions from. + // The unique identifier for the journey that the metric applies to. // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` + // JourneyId is a required field + JourneyId *string `type:"string" required:"true"` - // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains - // the endpoint definitions to import. This location can be a folder or a single - // file. If the location is a folder, Amazon Pinpoint imports endpoint definitions - // from the files in this location, including any subfolders that the folder - // contains. + // The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated + // the journey and updated the data for the metric. // - // The URL should be in the following format: s3://bucket-name/folder-name/file-name. - // The location can end with the key for an individual object or a prefix that - // qualifies multiple objects. - // - // S3Url is a required field - S3Url *string `type:"string" required:"true"` - - // The identifier for the segment that the import job updates or adds endpoint - // definitions to, if the import job updates an existing segment. - SegmentId *string `type:"string"` + // LastEvaluatedTime is a required field + LastEvaluatedTime *string `type:"string" required:"true"` - // The custom name for the segment that's created by the import job, if the - // value of the DefineSegment property is true. - SegmentName *string `type:"string"` + // A JSON object that contains the results of the query. For information about + // the structure and contents of the results, see the Amazon Pinpoint Developer + // Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // + // Metrics is a required field + Metrics map[string]*string `type:"map" required:"true"` } // String returns the string representation -func (s ImportJobResource) String() string { +func (s JourneyExecutionMetricsResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportJobResource) GoString() string { +func (s JourneyExecutionMetricsResponse) GoString() string { return s.String() } -// SetDefineSegment sets the DefineSegment field's value. -func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource { - s.DefineSegment = &v +// SetApplicationId sets the ApplicationId field's value. +func (s *JourneyExecutionMetricsResponse) SetApplicationId(v string) *JourneyExecutionMetricsResponse { + s.ApplicationId = &v return s } -// SetExternalId sets the ExternalId field's value. -func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource { - s.ExternalId = &v +// SetJourneyId sets the JourneyId field's value. +func (s *JourneyExecutionMetricsResponse) SetJourneyId(v string) *JourneyExecutionMetricsResponse { + s.JourneyId = &v return s } -// SetFormat sets the Format field's value. -func (s *ImportJobResource) SetFormat(v string) *ImportJobResource { - s.Format = &v +// SetLastEvaluatedTime sets the LastEvaluatedTime field's value. +func (s *JourneyExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionMetricsResponse { + s.LastEvaluatedTime = &v return s } -// SetRegisterEndpoints sets the RegisterEndpoints field's value. -func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource { - s.RegisterEndpoints = &v +// SetMetrics sets the Metrics field's value. +func (s *JourneyExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionMetricsResponse { + s.Metrics = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource { - s.RoleArn = &v - return s +// Specifies limits on the messages that a journey can send and the number of +// times participants can enter a journey. +type JourneyLimits struct { + _ struct{} `type:"structure"` + + // The maximum number of messages that the journey can send to a single participant + // during a 24-hour period. The maximum value is 100. + DailyCap *int64 `type:"integer"` + + // The maximum number of times that a participant can enter the journey. The + // maximum value is 100. To allow participants to enter the journey an unlimited + // number of times, set this value to 0. + EndpointReentryCap *int64 `type:"integer"` + + // The maximum number of messages that the journey can send each second. + MessagesPerSecond *int64 `type:"integer"` } -// SetS3Url sets the S3Url field's value. -func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource { - s.S3Url = &v +// String returns the string representation +func (s JourneyLimits) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneyLimits) GoString() string { + return s.String() +} + +// SetDailyCap sets the DailyCap field's value. +func (s *JourneyLimits) SetDailyCap(v int64) *JourneyLimits { + s.DailyCap = &v return s } -// SetSegmentId sets the SegmentId field's value. -func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource { - s.SegmentId = &v +// SetEndpointReentryCap sets the EndpointReentryCap field's value. +func (s *JourneyLimits) SetEndpointReentryCap(v int64) *JourneyLimits { + s.EndpointReentryCap = &v return s } -// SetSegmentName sets the SegmentName field's value. -func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource { - s.SegmentName = &v +// SetMessagesPerSecond sets the MessagesPerSecond field's value. +func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits { + s.MessagesPerSecond = &v return s } -// Provides information about the status and settings of a job that imports -// endpoint definitions from one or more files. The files can be stored in an -// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from -// a computer by using the Amazon Pinpoint console. -type ImportJobResponse struct { +// Provides information about the status, configuration, and other settings +// for a journey. +type JourneyResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the application that's associated with the import - // job. + // The configuration and other settings for the activities that comprise the + // journey. + Activities map[string]*Activity `type:"map"` + + // The unique identifier for the application that the journey applies to. // // ApplicationId is a required field ApplicationId *string `type:"string" required:"true"` - // The number of pieces that were processed successfully (completed) by the - // import job, as of the time of the request. - CompletedPieces *int64 `type:"integer"` - - // The date, in ISO 8601 format, when the import job was completed. - CompletionDate *string `type:"string"` + // The date, in ISO 8601 format, when the journey was created. + CreationDate *string `type:"string"` - // The date, in ISO 8601 format, when the import job was created. + // The unique identifier for the journey. // - // CreationDate is a required field - CreationDate *string `type:"string" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` - // The resource settings that apply to the import job. - // - // Definition is a required field - Definition *ImportJobResource `type:"structure" required:"true"` + // The date, in ISO 8601 format, when the journey was last modified. + LastModifiedDate *string `type:"string"` - // The number of pieces that weren't processed successfully (failed) by the - // import job, as of the time of the request. - FailedPieces *int64 `type:"integer"` + // The messaging and entry limits for the journey. + Limits *JourneyLimits `type:"structure"` - // An array of entries, one for each of the first 100 entries that weren't processed - // successfully (failed) by the import job, if any. - Failures []*string `type:"list"` + // Specifies whether the journey's scheduled start and end times use each participant's + // local time. If this value is true, the schedule uses each participant's local + // time. + LocalTime *bool `type:"boolean"` - // The unique identifier for the import job. + // The name of the journey. // - // Id is a required field - Id *string `type:"string" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` - // The status of the import job. The job status is FAILED if Amazon Pinpoint - // wasn't able to process one or more pieces in the job. + // The quiet time settings for the journey. Quiet time is a specific time range + // when a journey doesn't send messages to participants, if all the following + // conditions are met: // - // JobStatus is a required field - JobStatus *string `type:"string" required:"true" enum:"JobStatus"` + // * The EndpointDemographic.Timezone property of the endpoint for the participant + // is set to a valid value. + // + // * The current time in the participant's time zone is later than or equal + // to the time specified by the QuietTime.Start property for the journey. + // + // * The current time in the participant's time zone is earlier than or equal + // to the time specified by the QuietTime.End property for the journey. + // + // If any of the preceding conditions isn't met, the participant will receive + // messages from the journey, even if quiet time is enabled. + QuietTime *QuietTime `type:"structure"` - // The total number of endpoint definitions that weren't processed successfully - // (failed) by the import job, typically because an error, such as a syntax - // error, occurred. - TotalFailures *int64 `type:"integer"` + // The frequency with which Amazon Pinpoint evaluates segment and event data + // for the journey, as a duration in ISO 8601 format. + RefreshFrequency *string `type:"string"` - // The total number of pieces that must be processed to complete the import - // job. Each piece consists of an approximately equal portion of the endpoint - // definitions that are part of the import job. - TotalPieces *int64 `type:"integer"` + // The schedule settings for the journey. + Schedule *JourneySchedule `type:"structure"` - // The total number of endpoint definitions that were processed by the import - // job. - TotalProcessed *int64 `type:"integer"` + // The unique identifier for the first activity in the journey. + StartActivity *string `type:"string"` - // The job type. This value is IMPORT for import jobs. + // The segment that defines which users are participants in the journey. + StartCondition *StartCondition `type:"structure"` + + // The current status of the journey. Possible values are: // - // Type is a required field - Type *string `type:"string" required:"true"` + // * DRAFT - The journey is being developed and hasn't been published yet. + // + // * ACTIVE - The journey has been developed and published. Depending on + // the journey's schedule, the journey may currently be running or scheduled + // to start running at a later time. If a journey's status is ACTIVE, you + // can't add, change, or remove activities from it. + // + // * COMPLETED - The journey has been published and has finished running. + // All participants have entered the journey and no participants are waiting + // to complete the journey or any activities in the journey. + // + // * CANCELLED - The journey has been stopped. If a journey's status is CANCELLED, + // you can't add, change, or remove activities or segment settings from the + // journey. + // + // * CLOSED - The journey has been published and has started running. It + // may have also passed its scheduled end time, or passed its scheduled start + // time and a refresh frequency hasn't been specified for it. If a journey's + // status is CLOSED, you can't add participants to it, and no existing participants + // can enter the journey for the first time. However, any existing participants + // who are currently waiting to start an activity may resume the journey. + State *string `type:"string" enum:"State"` + + // A string-to-string map of key-value pairs that identifies the tags that are + // associated with the journey. 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 ImportJobResponse) String() string { +func (s JourneyResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportJobResponse) GoString() string { +func (s JourneyResponse) GoString() string { return s.String() } +// SetActivities sets the Activities field's value. +func (s *JourneyResponse) SetActivities(v map[string]*Activity) *JourneyResponse { + s.Activities = v + return s +} + // SetApplicationId sets the ApplicationId field's value. -func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse { +func (s *JourneyResponse) SetApplicationId(v string) *JourneyResponse { s.ApplicationId = &v return s } -// SetCompletedPieces sets the CompletedPieces field's value. -func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse { - s.CompletedPieces = &v +// SetCreationDate sets the CreationDate field's value. +func (s *JourneyResponse) SetCreationDate(v string) *JourneyResponse { + s.CreationDate = &v return s } -// SetCompletionDate sets the CompletionDate field's value. -func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse { - s.CompletionDate = &v +// SetId sets the Id field's value. +func (s *JourneyResponse) SetId(v string) *JourneyResponse { + s.Id = &v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse { - s.CreationDate = &v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *JourneyResponse) SetLastModifiedDate(v string) *JourneyResponse { + s.LastModifiedDate = &v return s } -// SetDefinition sets the Definition field's value. -func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse { - s.Definition = v +// SetLimits sets the Limits field's value. +func (s *JourneyResponse) SetLimits(v *JourneyLimits) *JourneyResponse { + s.Limits = v + return s +} + +// SetLocalTime sets the LocalTime field's value. +func (s *JourneyResponse) SetLocalTime(v bool) *JourneyResponse { + s.LocalTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *JourneyResponse) SetName(v string) *JourneyResponse { + s.Name = &v + return s +} + +// SetQuietTime sets the QuietTime field's value. +func (s *JourneyResponse) SetQuietTime(v *QuietTime) *JourneyResponse { + s.QuietTime = v + return s +} + +// SetRefreshFrequency sets the RefreshFrequency field's value. +func (s *JourneyResponse) SetRefreshFrequency(v string) *JourneyResponse { + s.RefreshFrequency = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *JourneyResponse) SetSchedule(v *JourneySchedule) *JourneyResponse { + s.Schedule = v + return s +} + +// SetStartActivity sets the StartActivity field's value. +func (s *JourneyResponse) SetStartActivity(v string) *JourneyResponse { + s.StartActivity = &v + return s +} + +// SetStartCondition sets the StartCondition field's value. +func (s *JourneyResponse) SetStartCondition(v *StartCondition) *JourneyResponse { + s.StartCondition = v + return s +} + +// SetState sets the State field's value. +func (s *JourneyResponse) SetState(v string) *JourneyResponse { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse { + s.Tags = v return s } -// SetFailedPieces sets the FailedPieces field's value. -func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse { - s.FailedPieces = &v +// Specifies the schedule settings for a journey. +type JourneySchedule struct { + _ struct{} `type:"structure"` + + EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The starting UTC offset for the journey schedule, if the value of the journey's + // LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, + // UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, + // UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, + // UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30, + // UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11. + Timezone *string `type:"string"` +} + +// String returns the string representation +func (s JourneySchedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneySchedule) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *JourneySchedule) SetEndTime(v time.Time) *JourneySchedule { + s.EndTime = &v return s } -// SetFailures sets the Failures field's value. -func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse { - s.Failures = v +// SetStartTime sets the StartTime field's value. +func (s *JourneySchedule) SetStartTime(v time.Time) *JourneySchedule { + s.StartTime = &v return s } -// SetId sets the Id field's value. -func (s *ImportJobResponse) SetId(v string) *ImportJobResponse { - s.Id = &v +// SetTimezone sets the Timezone field's value. +func (s *JourneySchedule) SetTimezone(v string) *JourneySchedule { + s.Timezone = &v return s } -// SetJobStatus sets the JobStatus field's value. -func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse { - s.JobStatus = &v - return s -} +// Changes the status of a journey. +type JourneyStateRequest struct { + _ struct{} `type:"structure"` -// SetTotalFailures sets the TotalFailures field's value. -func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse { - s.TotalFailures = &v - return s + // The status of the journey. Currently, the only supported value is CANCELLED. + // + // If you cancel a journey, Amazon Pinpoint continues to perform activities + // that are currently in progress, until those activities are complete. Amazon + // Pinpoint also continues to collect and aggregate analytics data for those + // activities, until they are complete, and any activities that were complete + // when you cancelled the journey. + // + // After you cancel a journey, you can't add, change, or remove any activities + // from the journey. In addition, Amazon Pinpoint stops evaluating the journey + // and doesn't perform any activities that haven't started. + State *string `type:"string" enum:"State"` } -// SetTotalPieces sets the TotalPieces field's value. -func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse { - s.TotalPieces = &v - return s +// String returns the string representation +func (s JourneyStateRequest) String() string { + return awsutil.Prettify(s) } -// SetTotalProcessed sets the TotalProcessed field's value. -func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse { - s.TotalProcessed = &v - return s +// GoString returns the string representation +func (s JourneyStateRequest) GoString() string { + return s.String() } -// SetType sets the Type field's value. -func (s *ImportJobResponse) SetType(v string) *ImportJobResponse { - s.Type = &v +// SetState sets the State field's value. +func (s *JourneyStateRequest) SetState(v string) *JourneyStateRequest { + s.State = &v return s } -// Provides information about the status and settings of all the import jobs -// that are associated with an application or segment. An import job is a job -// that imports endpoint definitions from one or more files. -type ImportJobsResponse struct { +// Provides information about the status, configuration, and other settings +// for all the journeys that are associated with an application. +type JourneysResponse struct { _ struct{} `type:"structure"` - // An array of responses, one for each import job that's associated with the - // application (Import Jobs resource) or segment (Segment Import Jobs resource). + // An array of responses, one for each journey that's associated with the application. // // Item is a required field - Item []*ImportJobResponse `type:"list" required:"true"` + Item []*JourneyResponse `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. @@ -20640,60 +23192,105 @@ type ImportJobsResponse struct { } // String returns the string representation -func (s ImportJobsResponse) String() string { +func (s JourneysResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportJobsResponse) GoString() string { +func (s JourneysResponse) GoString() string { return s.String() } // SetItem sets the Item field's value. -func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse { +func (s *JourneysResponse) SetItem(v []*JourneyResponse) *JourneysResponse { s.Item = v return s } // SetNextToken sets the NextToken field's value. -func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse { +func (s *JourneysResponse) SetNextToken(v string) *JourneysResponse { s.NextToken = &v return s } -// Provides information about the results of a request to create or update an -// endpoint that's associated with an event. -type ItemResponse struct { +type ListJourneysInput struct { _ struct{} `type:"structure"` - // The response that was received after the endpoint data was accepted. - EndpointItemResponse *EndpointItemResponse `type:"structure"` + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // A multipart response object that contains a key and a value for each event - // in the request. In each object, the event ID is the key and an EventItemResponse - // object is the value. - EventsItemResponse map[string]*EventItemResponse `type:"map"` + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` } // String returns the string representation -func (s ItemResponse) String() string { +func (s ListJourneysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ItemResponse) GoString() string { +func (s ListJourneysInput) GoString() string { return s.String() } -// SetEndpointItemResponse sets the EndpointItemResponse field's value. -func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse { - s.EndpointItemResponse = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJourneysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJourneysInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListJourneysInput) SetApplicationId(v string) *ListJourneysInput { + s.ApplicationId = &v return s } -// SetEventsItemResponse sets the EventsItemResponse field's value. -func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse { - s.EventsItemResponse = v +// SetPageSize sets the PageSize field's value. +func (s *ListJourneysInput) SetPageSize(v string) *ListJourneysInput { + s.PageSize = &v + return s +} + +// SetToken sets the Token field's value. +func (s *ListJourneysInput) SetToken(v string) *ListJourneysInput { + s.Token = &v + return s +} + +type ListJourneysOutput struct { + _ struct{} `type:"structure" payload:"JourneysResponse"` + + // Provides information about the status, configuration, and other settings + // for all the journeys that are associated with an application. + // + // JourneysResponse is a required field + JourneysResponse *JourneysResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ListJourneysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJourneysOutput) GoString() string { + return s.String() +} + +// SetJourneysResponse sets the JourneysResponse field's value. +func (s *ListJourneysOutput) SetJourneysResponse(v *JourneysResponse) *ListJourneysOutput { + s.JourneysResponse = v return s } @@ -20739,8 +23336,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, message - // template, or segment. + // Specifies the tags (keys and values) for an application, campaign, journey, + // message template, or segment. // // TagsModel is a required field TagsModel *TagsModel `type:"structure" required:"true"` @@ -21418,6 +24015,121 @@ func (s *MetricDimension) SetValue(v float64) *MetricDimension { return s } +// Specifies a condition to evaluate for an activity path in a journey. +type MultiConditionalBranch struct { + _ struct{} `type:"structure"` + + // The condition to evaluate for the activity path. + Condition *SimpleCondition `type:"structure"` + + // The unique identifier for the next activity to perform, after completing + // the activity for the path. + NextActivity *string `type:"string"` +} + +// String returns the string representation +func (s MultiConditionalBranch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MultiConditionalBranch) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiConditionalBranch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiConditionalBranch"} + if s.Condition != nil { + if err := s.Condition.Validate(); err != nil { + invalidParams.AddNested("Condition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCondition sets the Condition field's value. +func (s *MultiConditionalBranch) SetCondition(v *SimpleCondition) *MultiConditionalBranch { + s.Condition = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *MultiConditionalBranch) SetNextActivity(v string) *MultiConditionalBranch { + s.NextActivity = &v + return s +} + +// Specifies the settings for a multivariate split activity in a journey. This +// type of activity sends participants down one of as many as five paths in +// a journey, based on conditions that you specify. +type MultiConditionalSplitActivity struct { + _ struct{} `type:"structure"` + + // The paths for the activity, including the conditions for entering each path + // and the activity to perform for each path. + Branches []*MultiConditionalBranch `type:"list"` + + // The activity to perform by default for any path in the activity. + DefaultActivity *string `type:"string"` + + // The amount of time to wait or the date and time when Amazon Pinpoint determines + // whether the conditions are met. + EvaluationWaitTime *WaitTime `type:"structure"` +} + +// String returns the string representation +func (s MultiConditionalSplitActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MultiConditionalSplitActivity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiConditionalSplitActivity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiConditionalSplitActivity"} + if s.Branches != nil { + for i, v := range s.Branches { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Branches", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBranches sets the Branches field's value. +func (s *MultiConditionalSplitActivity) SetBranches(v []*MultiConditionalBranch) *MultiConditionalSplitActivity { + s.Branches = v + return s +} + +// SetDefaultActivity sets the DefaultActivity field's value. +func (s *MultiConditionalSplitActivity) SetDefaultActivity(v string) *MultiConditionalSplitActivity { + s.DefaultActivity = &v + return s +} + +// SetEvaluationWaitTime sets the EvaluationWaitTime field's value. +func (s *MultiConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *MultiConditionalSplitActivity { + s.EvaluationWaitTime = v + return s +} + // Specifies a phone number to validate and retrieve information about. type NumberValidateRequest struct { _ struct{} `type:"structure"` @@ -21896,6 +24608,7 @@ type PushNotificationTemplateResponse struct { // channels (DefaultPushNotificationTemplate). APNS *APNSPushNotificationTemplate `type:"structure"` + // The Amazon Resource Name (ARN) of the message template. Arn *string `type:"string"` // The message template that's used for the Baidu (Baidu Cloud Push) channel. @@ -22225,6 +24938,67 @@ func (s *QuietTime) SetStart(v string) *QuietTime { return s } +// Specifies the settings for a random split activity in a journey. This type +// of activity randomly sends specified percentages of participants down one +// of as many as five paths in a journey, based on conditions that you specify. +type RandomSplitActivity struct { + _ struct{} `type:"structure"` + + // The paths for the activity, including the percentage of participants to enter + // each path and the activity to perform for each path. + Branches []*RandomSplitEntry `type:"list"` +} + +// String returns the string representation +func (s RandomSplitActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RandomSplitActivity) GoString() string { + return s.String() +} + +// SetBranches sets the Branches field's value. +func (s *RandomSplitActivity) SetBranches(v []*RandomSplitEntry) *RandomSplitActivity { + s.Branches = v + return s +} + +// Specifies the settings for a path in a random split activity in a journey. +type RandomSplitEntry struct { + _ struct{} `type:"structure"` + + // The unique identifier for the next activity to perform, after completing + // the activity for the path. + NextActivity *string `type:"string"` + + // The percentage of participants to send down the activity path. + Percentage *int64 `type:"integer"` +} + +// String returns the string representation +func (s RandomSplitEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RandomSplitEntry) GoString() string { + return s.String() +} + +// SetNextActivity sets the NextActivity field's value. +func (s *RandomSplitEntry) SetNextActivity(v string) *RandomSplitEntry { + s.NextActivity = &v + return s +} + +// SetPercentage sets the Percentage field's value. +func (s *RandomSplitEntry) SetPercentage(v int64) *RandomSplitEntry { + s.Percentage = &v + return s +} + // Specifies the contents of an email message, represented as a raw MIME message. type RawEmail struct { _ struct{} `type:"structure"` @@ -22402,7 +25176,7 @@ func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *R } // Provides the results of a query that retrieved the data for a standard metric -// that applies to an application or campaign. +// that applies to an application, campaign, or journey. type ResultRow struct { _ struct{} `type:"structure"` @@ -22414,7 +25188,7 @@ type ResultRow struct { GroupedBys []*ResultRowValue `type:"list" required:"true"` // An array of objects that provides pre-aggregated values for a standard metric - // that applies to an application or campaign. + // that applies to an application, campaign, or journey. // // Values is a required field Values []*ResultRowValue `type:"list" required:"true"` @@ -22443,13 +25217,12 @@ func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow { } // Provides a single value and metadata about that value as part of an array -// of query results for a standard metric that applies to an application or -// campaign. +// of query results for a standard metric that applies to an application, campaign, +// or journey. type ResultRowValue struct { _ struct{} `type:"structure"` - // The name of the field that Amazon Pinpoint uses to store the value specified - // by the Value property. + // The friendly name of the metric whose value is specified by the Value property. // // Key is a required field Key *string `type:"string" required:"true"` @@ -22808,6 +25581,7 @@ func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest { type SMSTemplateResponse struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the message template. Arn *string `type:"string"` // The message body that's used in text messages that are based on the message @@ -22897,7 +25671,7 @@ func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse { type Schedule struct { _ struct{} `type:"structure"` - // The scheduled time, in ISO 8601 format, for the campaign to end. + // The scheduled time, in ISO 8601 format, when the campaign ended or will end. EndTime *string `type:"string"` // The type of event that causes the campaign to be sent, if the value of the @@ -22930,7 +25704,7 @@ type Schedule struct { // from the campaign, even if quiet time is enabled. QuietTime *QuietTime `type:"structure"` - // The scheduled time, in ISO 8601 format, for the campaign to begin. + // The scheduled time, in ISO 8601 format, when the campaign began or will begin. // // StartTime is a required field StartTime *string `type:"string" required:"true"` @@ -23033,12 +25807,51 @@ func (s SegmentBehaviors) GoString() string { } // Validate inspects the fields of the type to determine if they are valid. -func (s *SegmentBehaviors) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"} - if s.Recency != nil { - if err := s.Recency.Validate(); err != nil { - invalidParams.AddNested("Recency", err.(request.ErrInvalidParams)) - } +func (s *SegmentBehaviors) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"} + if s.Recency != nil { + if err := s.Recency.Validate(); err != nil { + invalidParams.AddNested("Recency", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecency sets the Recency field's value. +func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors { + s.Recency = v + return s +} + +// Specifies a segment to associate with an activity in a journey. +type SegmentCondition struct { + _ struct{} `type:"structure"` + + // The unique identifier for the segment to associate with the activity. + // + // SegmentId is a required field + SegmentId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SegmentCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SegmentCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SegmentCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SegmentCondition"} + if s.SegmentId == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentId")) } if invalidParams.Len() > 0 { @@ -23047,9 +25860,9 @@ func (s *SegmentBehaviors) Validate() error { return nil } -// SetRecency sets the Recency field's value. -func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors { - s.Recency = v +// SetSegmentId sets the SegmentId field's value. +func (s *SegmentCondition) SetSegmentId(v string) *SegmentCondition { + s.SegmentId = &v return s } @@ -24244,6 +27057,73 @@ func (s *SetDimension) SetValues(v []*string) *SetDimension { return s } +// Specifies a condition to evaluate for an activity in a journey. +type SimpleCondition struct { + _ struct{} `type:"structure"` + + // The dimension settings for the event that's associated with the activity. + EventCondition *EventCondition `type:"structure"` + + // The segment that's associated with the activity. + SegmentCondition *SegmentCondition `type:"structure"` + + // The dimension settings for the segment that's associated with the activity. + SegmentDimensions *SegmentDimensions `locationName:"segmentDimensions" type:"structure"` +} + +// String returns the string representation +func (s SimpleCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SimpleCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SimpleCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SimpleCondition"} + if s.EventCondition != nil { + if err := s.EventCondition.Validate(); err != nil { + invalidParams.AddNested("EventCondition", err.(request.ErrInvalidParams)) + } + } + if s.SegmentCondition != nil { + if err := s.SegmentCondition.Validate(); err != nil { + invalidParams.AddNested("SegmentCondition", err.(request.ErrInvalidParams)) + } + } + if s.SegmentDimensions != nil { + if err := s.SegmentDimensions.Validate(); err != nil { + invalidParams.AddNested("SegmentDimensions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventCondition sets the EventCondition field's value. +func (s *SimpleCondition) SetEventCondition(v *EventCondition) *SimpleCondition { + s.EventCondition = v + return s +} + +// SetSegmentCondition sets the SegmentCondition field's value. +func (s *SimpleCondition) SetSegmentCondition(v *SegmentCondition) *SimpleCondition { + s.SegmentCondition = v + return s +} + +// SetSegmentDimensions sets the SegmentDimensions field's value. +func (s *SimpleCondition) SetSegmentDimensions(v *SegmentDimensions) *SimpleCondition { + s.SegmentDimensions = v + return s +} + // Specifies the contents of an email message, composed of a subject, a text // part, and an HTML part. type SimpleEmail struct { @@ -24325,14 +27205,64 @@ func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart { return s } +// Specifies the conditions for the first activity in a journey. This activity +// and its conditions determine which users are participants in a journey. +type StartCondition struct { + _ struct{} `type:"structure"` + + // The custom description of the condition. + Description *string `type:"string"` + + // The segment that's associated with the first activity in the journey. This + // segment determines which users are participants in the journey. + SegmentStartCondition *SegmentCondition `type:"structure"` +} + +// String returns the string representation +func (s StartCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartCondition"} + if s.SegmentStartCondition != nil { + if err := s.SegmentStartCondition.Validate(); err != nil { + invalidParams.AddNested("SegmentStartCondition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *StartCondition) SetDescription(v string) *StartCondition { + s.Description = &v + return s +} + +// SetSegmentStartCondition sets the SegmentStartCondition field's value. +func (s *StartCondition) SetSegmentStartCondition(v *SegmentCondition) *StartCondition { + s.SegmentStartCondition = v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure" payload:"TagsModel"` // 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, message - // template, or segment. + // Specifies the tags (keys and values) for an application, campaign, journey, + // message template, or segment. // // TagsModel is a required field TagsModel *TagsModel `type:"structure" required:"true"` @@ -24398,14 +27328,14 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// Specifies the tags (keys and values) for an application, campaign, message -// template, or segment. +// Specifies the tags (keys and values) for an application, campaign, journey, +// 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. + // campaign, journey, message template, or segment. Each of these resources + // 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 @@ -24469,7 +27399,7 @@ func (s *Template) SetName(v string) *Template { return s } -// Specifies the message template to use for the message, for each type of channel. +// Specifies the message template for each type of channel. type TemplateConfiguration struct { _ struct{} `type:"structure"` @@ -24652,10 +27582,10 @@ type TreatmentResource struct { // SizePercent is a required field SizePercent *int64 `type:"integer" required:"true"` - // The status of the treatment. + // The current status of the treatment. State *CampaignState `type:"structure"` - // The message template that’s used for the treatment. + // The message template to use for the treatment. TemplateConfiguration *TemplateConfiguration `type:"structure"` // The custom description of the treatment. @@ -25721,64 +28651,244 @@ type UpdateEndpointOutput struct { // Provides information about an API request or response. // - // MessageBody is a required field - MessageBody *MessageBody `type:"structure" required:"true"` + // MessageBody is a required field + MessageBody *MessageBody `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput { + s.MessageBody = v + return s +} + +type UpdateEndpointsBatchInput struct { + _ struct{} `type:"structure" payload:"EndpointBatchRequest"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // Specifies a batch of endpoints to create or update and the settings and attributes + // to set or change for each endpoint. + // + // EndpointBatchRequest is a required field + EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateEndpointsBatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointsBatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEndpointsBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.EndpointBatchRequest == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest")) + } + if s.EndpointBatchRequest != nil { + if err := s.EndpointBatchRequest.Validate(); err != nil { + invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput { + s.ApplicationId = &v + return s +} + +// SetEndpointBatchRequest sets the EndpointBatchRequest field's value. +func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput { + s.EndpointBatchRequest = v + return s +} + +type UpdateEndpointsBatchOutput 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 UpdateEndpointsBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEndpointsBatchOutput) GoString() string { + return s.String() +} + +// SetMessageBody sets the MessageBody field's value. +func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput { + s.MessageBody = v + return s +} + +type UpdateGcmChannelInput struct { + _ struct{} `type:"structure" payload:"GCMChannelRequest"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // Specifies the status and settings of the GCM channel for an application. + // This channel enables Amazon Pinpoint to send push notifications through the + // Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. + // + // GCMChannelRequest is a required field + GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateGcmChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGcmChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGcmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.GCMChannelRequest == nil { + invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest")) + } + if s.GCMChannelRequest != nil { + if err := s.GCMChannelRequest.Validate(); err != nil { + invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput { + s.ApplicationId = &v + return s +} + +// SetGCMChannelRequest sets the GCMChannelRequest field's value. +func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput { + s.GCMChannelRequest = v + return s +} + +type UpdateGcmChannelOutput struct { + _ struct{} `type:"structure" payload:"GCMChannelResponse"` + + // Provides information about the status and settings of the GCM channel for + // an application. The GCM channel enables Amazon Pinpoint to send push notifications + // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging + // (GCM), service. + // + // GCMChannelResponse is a required field + GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"` } // String returns the string representation -func (s UpdateEndpointOutput) String() string { +func (s UpdateGcmChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateEndpointOutput) GoString() string { +func (s UpdateGcmChannelOutput) GoString() string { return s.String() } -// SetMessageBody sets the MessageBody field's value. -func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput { - s.MessageBody = v +// SetGCMChannelResponse sets the GCMChannelResponse field's value. +func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput { + s.GCMChannelResponse = v return s } -type UpdateEndpointsBatchInput struct { - _ struct{} `type:"structure" payload:"EndpointBatchRequest"` +type UpdateJourneyInput struct { + _ struct{} `type:"structure" payload:"WriteJourneyRequest"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // Specifies a batch of endpoints to create or update and the settings and attributes - // to set or change for each endpoint. + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + // Specifies the configuration and other settings for a journey. // - // EndpointBatchRequest is a required field - EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"` + // WriteJourneyRequest is a required field + WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"` } // String returns the string representation -func (s UpdateEndpointsBatchInput) String() string { +func (s UpdateJourneyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateEndpointsBatchInput) GoString() string { +func (s UpdateJourneyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateEndpointsBatchInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"} +func (s *UpdateJourneyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.EndpointBatchRequest == nil { - invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest")) + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) } - if s.EndpointBatchRequest != nil { - if err := s.EndpointBatchRequest.Validate(); err != nil { - invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams)) + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } + if s.WriteJourneyRequest == nil { + invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest")) + } + if s.WriteJourneyRequest != nil { + if err := s.WriteJourneyRequest.Validate(); err != nil { + invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams)) } } @@ -25789,82 +28899,91 @@ func (s *UpdateEndpointsBatchInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput { +func (s *UpdateJourneyInput) SetApplicationId(v string) *UpdateJourneyInput { s.ApplicationId = &v return s } -// SetEndpointBatchRequest sets the EndpointBatchRequest field's value. -func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput { - s.EndpointBatchRequest = v +// SetJourneyId sets the JourneyId field's value. +func (s *UpdateJourneyInput) SetJourneyId(v string) *UpdateJourneyInput { + s.JourneyId = &v return s } -type UpdateEndpointsBatchOutput struct { - _ struct{} `type:"structure" payload:"MessageBody"` +// SetWriteJourneyRequest sets the WriteJourneyRequest field's value. +func (s *UpdateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *UpdateJourneyInput { + s.WriteJourneyRequest = v + return s +} - // Provides information about an API request or response. +type UpdateJourneyOutput struct { + _ struct{} `type:"structure" payload:"JourneyResponse"` + + // Provides information about the status, configuration, and other settings + // for a journey. // - // MessageBody is a required field - MessageBody *MessageBody `type:"structure" required:"true"` + // JourneyResponse is a required field + JourneyResponse *JourneyResponse `type:"structure" required:"true"` } // String returns the string representation -func (s UpdateEndpointsBatchOutput) String() string { +func (s UpdateJourneyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateEndpointsBatchOutput) GoString() string { +func (s UpdateJourneyOutput) GoString() string { return s.String() } -// SetMessageBody sets the MessageBody field's value. -func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput { - s.MessageBody = v +// SetJourneyResponse sets the JourneyResponse field's value. +func (s *UpdateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyOutput { + s.JourneyResponse = v return s } -type UpdateGcmChannelInput struct { - _ struct{} `type:"structure" payload:"GCMChannelRequest"` +type UpdateJourneyStateInput struct { + _ struct{} `type:"structure" payload:"JourneyStateRequest"` // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // Specifies the status and settings of the GCM channel for an application. - // This channel enables Amazon Pinpoint to send push notifications through the - // Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + // Changes the status of a journey. // - // GCMChannelRequest is a required field - GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"` + // JourneyStateRequest is a required field + JourneyStateRequest *JourneyStateRequest `type:"structure" required:"true"` } // String returns the string representation -func (s UpdateGcmChannelInput) String() string { +func (s UpdateJourneyStateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGcmChannelInput) GoString() string { +func (s UpdateJourneyStateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateGcmChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"} +func (s *UpdateJourneyStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyStateInput"} if s.ApplicationId == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationId")) } if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) } - if s.GCMChannelRequest == nil { - invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest")) + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) } - if s.GCMChannelRequest != nil { - if err := s.GCMChannelRequest.Validate(); err != nil { - invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams)) - } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } + if s.JourneyStateRequest == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyStateRequest")) } if invalidParams.Len() > 0 { @@ -25874,42 +28993,46 @@ func (s *UpdateGcmChannelInput) Validate() error { } // SetApplicationId sets the ApplicationId field's value. -func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput { +func (s *UpdateJourneyStateInput) SetApplicationId(v string) *UpdateJourneyStateInput { s.ApplicationId = &v return s } -// SetGCMChannelRequest sets the GCMChannelRequest field's value. -func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput { - s.GCMChannelRequest = v +// SetJourneyId sets the JourneyId field's value. +func (s *UpdateJourneyStateInput) SetJourneyId(v string) *UpdateJourneyStateInput { + s.JourneyId = &v return s } -type UpdateGcmChannelOutput struct { - _ struct{} `type:"structure" payload:"GCMChannelResponse"` +// SetJourneyStateRequest sets the JourneyStateRequest field's value. +func (s *UpdateJourneyStateInput) SetJourneyStateRequest(v *JourneyStateRequest) *UpdateJourneyStateInput { + s.JourneyStateRequest = v + return s +} - // Provides information about the status and settings of the GCM channel for - // an application. The GCM channel enables Amazon Pinpoint to send push notifications - // through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging - // (GCM), service. +type UpdateJourneyStateOutput struct { + _ struct{} `type:"structure" payload:"JourneyResponse"` + + // Provides information about the status, configuration, and other settings + // for a journey. // - // GCMChannelResponse is a required field - GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"` + // JourneyResponse is a required field + JourneyResponse *JourneyResponse `type:"structure" required:"true"` } // String returns the string representation -func (s UpdateGcmChannelOutput) String() string { +func (s UpdateJourneyStateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGcmChannelOutput) GoString() string { +func (s UpdateJourneyStateOutput) GoString() string { return s.String() } -// SetGCMChannelResponse sets the GCMChannelResponse field's value. -func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput { - s.GCMChannelResponse = v +// SetJourneyResponse sets the JourneyResponse field's value. +func (s *UpdateJourneyStateOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyStateOutput { + s.JourneyResponse = v return s } @@ -26385,8 +29508,6 @@ type VoiceChannelResponse struct { // The date and time, in ISO 8601 format, when the voice channel was last modified. LastModifiedDate *string `type:"string"` - OriginationNumber *string `type:"string"` - // The type of messaging or notification platform for the channel. For the voice // channel, this value is VOICE. // @@ -26455,12 +29576,6 @@ func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelRespon return s } -// SetOriginationNumber sets the OriginationNumber field's value. -func (s *VoiceChannelResponse) SetOriginationNumber(v string) *VoiceChannelResponse { - s.OriginationNumber = &v - return s -} - // SetPlatform sets the Platform field's value. func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse { s.Platform = &v @@ -26540,6 +29655,82 @@ func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage { return s } +// Specifies the settings for a wait activity in a journey. This type of activity +// waits for a certain amount of time or until a specific date and time before +// moving participants to the next activity in a journey. +type WaitActivity struct { + _ struct{} `type:"structure"` + + // The unique identifier for the next activity to perform, after performing + // the wait activity. + NextActivity *string `type:"string"` + + // The amount of time to wait or the date and time when the activity moves participants + // to the next activity in the journey. + WaitTime *WaitTime `type:"structure"` +} + +// String returns the string representation +func (s WaitActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WaitActivity) GoString() string { + return s.String() +} + +// SetNextActivity sets the NextActivity field's value. +func (s *WaitActivity) SetNextActivity(v string) *WaitActivity { + s.NextActivity = &v + return s +} + +// SetWaitTime sets the WaitTime field's value. +func (s *WaitActivity) SetWaitTime(v *WaitTime) *WaitActivity { + s.WaitTime = v + return s +} + +// Specifies a duration or a date and time that indicates when Amazon Pinpoint +// determines whether an activity's conditions have been met or an activity +// moves participants to the next activity in a journey. +type WaitTime struct { + _ struct{} `type:"structure"` + + // The amount of time, as a duration in ISO 8601 format, to wait before determining + // whether the activity's conditions have been met or moving participants to + // the next activity in the journey. + WaitFor *string `type:"string"` + + // The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether + // the activity's conditions have been met or the activity moves participants + // to the next activity in the journey. + WaitUntil *string `type:"string"` +} + +// String returns the string representation +func (s WaitTime) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WaitTime) GoString() string { + return s.String() +} + +// SetWaitFor sets the WaitFor field's value. +func (s *WaitTime) SetWaitFor(v string) *WaitTime { + s.WaitFor = &v + return s +} + +// SetWaitUntil sets the WaitUntil field's value. +func (s *WaitTime) SetWaitUntil(v string) *WaitTime { + s.WaitUntil = &v + return s +} + // Specifies the default settings for an application. type WriteApplicationSettingsRequest struct { _ struct{} `type:"structure"` @@ -26558,26 +29749,27 @@ type WriteApplicationSettingsRequest struct { // custom limits for the campaign. Limits *CampaignLimits `type:"structure"` - // The default quiet time for campaigns in the application. Quiet time is a - // specific time range when campaigns don't send messages to endpoints, if all - // the following conditions are met: + // The default quiet time for campaigns and journeys in the application. Quiet + // time is a specific time range when messages aren't sent to endpoints, if + // all the following conditions are met: // // * The EndpointDemographic.Timezone property of the endpoint is set to // a valid value. // // * The current time in the endpoint's time zone is later than or equal // to the time specified by the QuietTime.Start property for the application - // (or a campaign that has custom quiet time settings). + // (or a campaign or journey that has custom quiet time settings). // // * The current time in the endpoint's time zone is earlier than or equal // to the time specified by the QuietTime.End property for the application - // (or a campaign that has custom quiet time settings). + // (or a campaign or journey that has custom quiet time settings). // // If any of the preceding conditions isn't met, the endpoint will receive messages - // from a campaign, even if quiet time is enabled. + // from a campaign or journey, even if quiet time is enabled. // - // To override the default quiet time settings for a specific campaign, use - // the Campaign resource to define a custom quiet time for the campaign. + // To override the default quiet time settings for a specific campaign or journey, + // use the Campaign resource or the Journey resource to define a custom quiet + // time for the campaign or journey. QuietTime *QuietTime `type:"structure"` } @@ -26862,6 +30054,190 @@ func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream { return s } +// Specifies the configuration and other settings for a journey. +type WriteJourneyRequest struct { + _ struct{} `type:"structure"` + + // The configuration and other settings for the activities that comprise the + // journey. + Activities map[string]*Activity `type:"map"` + + // The date, in ISO 8601 format, when the journey was created. + CreationDate *string `type:"string"` + + // The date, in ISO 8601 format, when the journey was last modified. + LastModifiedDate *string `type:"string"` + + // The messaging and entry limits for the journey. + Limits *JourneyLimits `type:"structure"` + + // Specifies whether the journey's scheduled start and end times use each participant's + // local time. To base the schedule on each participant's local time, set this + // value to true. + LocalTime *bool `type:"boolean"` + + // The name of the journey. A journey name can contain a maximum of 150 characters. + // The characters can be alphanumeric characters or symbols, such as underscores + // (_) or hyphens (-). A journey name can't contain any spaces. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The quiet time settings for the journey. Quiet time is a specific time range + // when a journey doesn't send messages to participants, if all the following + // conditions are met: + // + // * The EndpointDemographic.Timezone property of the endpoint for the participant + // is set to a valid value. + // + // * The current time in the participant's time zone is later than or equal + // to the time specified by the QuietTime.Start property for the journey. + // + // * The current time in the participant's time zone is earlier than or equal + // to the time specified by the QuietTime.End property for the journey. + // + // If any of the preceding conditions isn't met, the participant will receive + // messages from the journey, even if quiet time is enabled. + QuietTime *QuietTime `type:"structure"` + + // The frequency with which Amazon Pinpoint evaluates segment and event data + // for the journey, as a duration in ISO 8601 format. + RefreshFrequency *string `type:"string"` + + // The schedule settings for the journey. + Schedule *JourneySchedule `type:"structure"` + + // The unique identifier for the first activity in the journey. + StartActivity *string `type:"string"` + + // The segment that defines which users are participants in the journey. + StartCondition *StartCondition `type:"structure"` + + // The status of the journey. Valid values are: + // + // * DRAFT - Saves the journey and doesn't publish it. + // + // * ACTIVE - Saves and publishes the journey. Depending on the journey's + // schedule, the journey starts running immediately or at the scheduled start + // time. If a journey's status is ACTIVE, you can't add, change, or remove + // activities from it. + // + // The CANCELLED, COMPLETED, and CLOSED values are not supported in requests + // to create or update a journey. To cancel a journey, use the Journey State + // resource. + State *string `type:"string" enum:"State"` +} + +// String returns the string representation +func (s WriteJourneyRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WriteJourneyRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WriteJourneyRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WriteJourneyRequest"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Activities != nil { + for i, v := range s.Activities { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Activities", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StartCondition != nil { + if err := s.StartCondition.Validate(); err != nil { + invalidParams.AddNested("StartCondition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActivities sets the Activities field's value. +func (s *WriteJourneyRequest) SetActivities(v map[string]*Activity) *WriteJourneyRequest { + s.Activities = v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *WriteJourneyRequest) SetCreationDate(v string) *WriteJourneyRequest { + s.CreationDate = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *WriteJourneyRequest) SetLastModifiedDate(v string) *WriteJourneyRequest { + s.LastModifiedDate = &v + return s +} + +// SetLimits sets the Limits field's value. +func (s *WriteJourneyRequest) SetLimits(v *JourneyLimits) *WriteJourneyRequest { + s.Limits = v + return s +} + +// SetLocalTime sets the LocalTime field's value. +func (s *WriteJourneyRequest) SetLocalTime(v bool) *WriteJourneyRequest { + s.LocalTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *WriteJourneyRequest) SetName(v string) *WriteJourneyRequest { + s.Name = &v + return s +} + +// SetQuietTime sets the QuietTime field's value. +func (s *WriteJourneyRequest) SetQuietTime(v *QuietTime) *WriteJourneyRequest { + s.QuietTime = v + return s +} + +// SetRefreshFrequency sets the RefreshFrequency field's value. +func (s *WriteJourneyRequest) SetRefreshFrequency(v string) *WriteJourneyRequest { + s.RefreshFrequency = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *WriteJourneyRequest) SetSchedule(v *JourneySchedule) *WriteJourneyRequest { + s.Schedule = v + return s +} + +// SetStartActivity sets the StartActivity field's value. +func (s *WriteJourneyRequest) SetStartActivity(v string) *WriteJourneyRequest { + s.StartActivity = &v + return s +} + +// SetStartCondition sets the StartCondition field's value. +func (s *WriteJourneyRequest) SetStartCondition(v *StartCondition) *WriteJourneyRequest { + s.StartCondition = v + return s +} + +// SetState sets the State field's value. +func (s *WriteJourneyRequest) SetState(v string) *WriteJourneyRequest { + s.State = &v + return s +} + // Specifies the configuration, dimension, and other settings for a segment. // A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups // object, but not both. @@ -27206,12 +30582,18 @@ const ( // JobStatusCreated is a JobStatus enum value JobStatusCreated = "CREATED" + // JobStatusPreparingForInitialization is a JobStatus enum value + JobStatusPreparingForInitialization = "PREPARING_FOR_INITIALIZATION" + // JobStatusInitializing is a JobStatus enum value JobStatusInitializing = "INITIALIZING" // JobStatusProcessing is a JobStatus enum value JobStatusProcessing = "PROCESSING" + // JobStatusPendingJob is a JobStatus enum value + JobStatusPendingJob = "PENDING_JOB" + // JobStatusCompleting is a JobStatus enum value JobStatusCompleting = "COMPLETING" @@ -27241,6 +30623,14 @@ const ( ModeFilter = "FILTER" ) +const ( + // OperatorAll is a Operator enum value + OperatorAll = "ALL" + + // OperatorAny is a Operator enum value + OperatorAny = "ANY" +) + const ( // RecencyTypeActive is a RecencyType enum value RecencyTypeActive = "ACTIVE" @@ -27268,6 +30658,23 @@ const ( SourceTypeNone = "NONE" ) +const ( + // StateDraft is a State enum value + StateDraft = "DRAFT" + + // StateActive is a State enum value + StateActive = "ACTIVE" + + // StateCompleted is a State enum value + StateCompleted = "COMPLETED" + + // StateCancelled is a State enum value + StateCancelled = "CANCELLED" + + // StateClosed is a State enum value + StateClosed = "CLOSED" +) + const ( // TemplateTypeEmail is a TemplateType enum value TemplateTypeEmail = "EMAIL" @@ -27275,6 +30682,9 @@ const ( // TemplateTypeSms is a TemplateType enum value TemplateTypeSms = "SMS" + // TemplateTypeVoice is a TemplateType enum value + TemplateTypeVoice = "VOICE" + // TemplateTypePush is a TemplateType enum value TemplateTypePush = "PUSH" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index 7cee4532fc2..331f16db603 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -817,6 +817,11 @@ func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (r // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). +// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion +// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl +// manually. Specifying SourceRegion autogenerates a pre-signed URL that +// is a valid request for the operation that can be executed in the source +// AWS Region. // // * TargetDBClusterSnapshotIdentifier - The identifier for the new copy // of the DB cluster snapshot in the destination AWS Region. @@ -3879,8 +3884,8 @@ func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput // DeleteInstallationMedia API operation for Amazon Relational Database Service. // -// Deletes the installation media for an on-premises, bring your own media (BYOM) -// DB engine, such as Microsoft SQL Server. +// Deletes the installation medium for a DB engine that requires an on-premises +// customer provided license, such as Microsoft SQL Server. // // 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 @@ -3891,7 +3896,7 @@ func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput // // Returned Error Codes: // * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound" -// InstallationMediaID doesn't refer to an existing installation media. +// InstallationMediaID doesn't refer to an existing installation medium. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) { @@ -7017,8 +7022,8 @@ func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaI // DescribeInstallationMedia API operation for Amazon Relational Database Service. // -// Describes the available installation media for on-premises, bring your own -// media (BYOM) DB engines, such as Microsoft SQL Server. +// Describes the available installation media for a DB engine that requires +// an on-premises customer provided license, such as Microsoft SQL Server. // // 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 @@ -7029,7 +7034,7 @@ func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaI // // Returned Error Codes: // * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound" -// InstallationMediaID doesn't refer to an existing installation media. +// InstallationMediaID doesn't refer to an existing installation medium. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) { @@ -8291,8 +8296,8 @@ func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput // ImportInstallationMedia API operation for Amazon Relational Database Service. // -// Imports the installation media for an on-premises, bring your own media (BYOM) -// DB engine, such as SQL Server. +// Imports the installation media for a DB engine that requires an on-premises +// customer provided license, such as SQL Server. // // 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 @@ -8307,7 +8312,7 @@ func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput // Zone identifier. // // * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists" -// The specified installation media has already been imported. +// The specified installation medium has already been imported. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) { @@ -10905,8 +10910,8 @@ func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSna // // If a DB cluster snapshot is specified, the target DB cluster is created from // the source DB cluster restore point with the same configuration as the original -// source DB cluster, except that the new DB cluster is created with the default -// security group. +// source DB cluster. If you don't specify a security group, the new DB cluster +// is associated with the default security group. // // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) // in the Amazon Aurora User Guide. @@ -12886,7 +12891,7 @@ type AuthorizeDBSecurityGroupIngressInput struct { EC2SecurityGroupName *string `type:"string"` // AWS account number of the owner of the EC2 security group specified in the - // EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable + // EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable // value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, // EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId // must be provided. @@ -13053,7 +13058,7 @@ type BacktrackDBClusterInput struct { // 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia // page. (http://en.wikipedia.org/wiki/ISO_8601) // - // If the specified time is not a consistent time for the DB cluster, Aurora + // If the specified time isn't a consistent time for the DB cluster, Aurora // automatically chooses the nearest possible consistent time for the DB cluster. // // Constraints: @@ -13534,7 +13539,8 @@ type CopyDBClusterSnapshotInput struct { // The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot // API action in the AWS Region that contains the source DB cluster snapshot // to copy. The PreSignedUrl parameter must be used when copying an encrypted - // DB cluster snapshot from another AWS Region. + // DB cluster snapshot from another AWS Region. Don't specify PreSignedUrl when + // you are copying an encrypted DB cluster snapshot in the same AWS Region. // // The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot // API action that can be executed in the source AWS Region that contains the @@ -13560,10 +13566,14 @@ type CopyDBClusterSnapshotInput struct { // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). + // + // If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion + // (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. + // Specifying SourceRegion autogenerates a pre-signed URL that is a valid request + // for the operation that can be executed in the source AWS Region. PreSignedUrl *string `type:"string"` - // The identifier of the DB cluster snapshot to copy. This parameter is not - // case-sensitive. + // The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive. // // You can't copy an encrypted, shared DB cluster snapshot from one AWS Region // to another. @@ -13595,7 +13605,7 @@ type CopyDBClusterSnapshotInput struct { Tags []*Tag `locationNameList:"Tag" type:"list"` // The identifier of the new DB cluster snapshot to create from the source DB - // cluster snapshot. This parameter is not case-sensitive. + // cluster snapshot. This parameter isn't case-sensitive. // // Constraints: // @@ -13880,9 +13890,8 @@ type CopyDBSnapshotInput struct { // to copy. // // You must specify this parameter when you copy an encrypted DB snapshot from - // another AWS Region by using the Amazon RDS API. You can specify the --source-region - // option instead of this parameter when you copy an encrypted DB snapshot from - // another AWS Region by using the AWS CLI. + // another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl + // when you are copying an encrypted DB snapshot in the same AWS Region. // // The presigned URL must be a valid request for the CopyDBSnapshot API action // that can be executed in the source AWS Region that contains the encrypted @@ -13912,6 +13921,11 @@ type CopyDBSnapshotInput struct { // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). + // + // If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion + // (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. + // Specifying SourceRegion autogenerates a pre-signed URL that is a valid request + // for the operation that can be executed in the source AWS Region. PreSignedUrl *string `type:"string"` // The identifier for the source DB snapshot. @@ -14210,13 +14224,13 @@ type CreateCustomAvailabilityZoneInput struct { // The name of a new VPN tunnel between the Amazon RDS website and the VMware // vSphere cluster. // - // Specify this parameter only if ExistingVpnId is not specified. + // Specify this parameter only if ExistingVpnId isn't specified. NewVpnTunnelName *string `type:"string"` // The IP address of network traffic from your on-premises data center. A custom // AZ receives the network traffic. // - // Specify this parameter only if ExistingVpnId is not specified. + // Specify this parameter only if ExistingVpnId isn't specified. VpnTunnelOriginatorIP *string `type:"string"` } @@ -14559,7 +14573,8 @@ type CreateDBClusterInput struct { DBClusterIdentifier *string `type:"string" required:"true"` // The name of the DB cluster parameter group to associate with this DB cluster. - // If this argument is omitted, default.aurora5.6 is used. + // If you do not specify a value, then the default DB cluster parameter group + // for the specified DB engine and version is used. // // Constraints: // @@ -14661,14 +14676,14 @@ type CreateDBClusterInput struct { // the KMS encryption key used to encrypt the new DB cluster, then you can use // the KMS key alias instead of the ARN for the KMS encryption key. // - // If an encryption key is not specified in KmsKeyId: + // If an encryption key isn't specified in KmsKeyId: // // * If ReplicationSourceIdentifier identifies an encrypted source, then // Amazon RDS will use the encryption key used to encrypt the source. Otherwise, // Amazon RDS will use your default encryption key. // // * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier - // is not specified, then Amazon RDS will use your default encryption key. + // isn't specified, then Amazon RDS will use your default encryption key. // // AWS KMS creates the default encryption key for your AWS account. Your AWS // account has a different default encryption key for each AWS Region. @@ -14736,6 +14751,11 @@ type CreateDBClusterInput struct { // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). + // + // If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion + // (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. + // Specifying SourceRegion autogenerates a pre-signed URL that is a valid request + // for the operation that can be executed in the source AWS Region. PreSignedUrl *string `type:"string"` // The daily time range during which automated backups are created if automated @@ -15162,7 +15182,7 @@ type CreateDBClusterSnapshotInput struct { _ struct{} `type:"structure"` // The identifier of the DB cluster to create a snapshot for. This parameter - // is not case-sensitive. + // isn't case-sensitive. // // Constraints: // @@ -15428,7 +15448,7 @@ type CreateDBInstanceInput struct { // MySQL // // The name of the database to create when the DB instance is created. If this - // parameter is not specified, no database is created in the DB instance. + // parameter isn't specified, no database is created in the DB instance. // // Constraints: // @@ -15439,7 +15459,7 @@ type CreateDBInstanceInput struct { // MariaDB // // The name of the database to create when the DB instance is created. If this - // parameter is not specified, no database is created in the DB instance. + // parameter isn't specified, no database is created in the DB instance. // // Constraints: // @@ -15450,7 +15470,7 @@ type CreateDBInstanceInput struct { // PostgreSQL // // The name of the database to create when the DB instance is created. If this - // parameter is not specified, the default "postgres" database is created in + // parameter isn't specified, the default "postgres" database is created in // the DB instance. // // Constraints: @@ -15481,7 +15501,7 @@ type CreateDBInstanceInput struct { // Amazon Aurora // // The name of the database to create when the primary instance of the DB cluster - // is created. If this parameter is not specified, no database is created in + // is created. If this parameter isn't specified, no database is created in // the DB instance. // // Constraints: @@ -15492,8 +15512,8 @@ type CreateDBInstanceInput struct { DBName *string `type:"string"` // The name of the DB parameter group to associate with this DB instance. If - // you do not specify a value for DBParameterGroupName, then the default DBParameterGroup - // for the specified DB engine is used. + // you do not specify a value, then the default DB parameter group for the specified + // DB engine and version is used. // // Constraints: // @@ -15941,13 +15961,13 @@ type CreateDBInstanceInput struct { // A value that indicates whether the DB instance is publicly accessible. When // the DB instance is publicly accessible, it is an Internet-facing instance // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance is not publicly accessible, it is an internal instance + // When the DB instance isn't publicly accessible, it is an internal instance // with a DNS name that resolves to a private IP address. // // Default: The default behavior varies depending on whether DBSubnetGroupName // is specified. // - // If DBSubnetGroupName is not specified, and PubliclyAccessible is not specified, + // If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, // the following applies: // // * If the default VPC in the target region doesn’t have an Internet gateway @@ -15956,7 +15976,7 @@ type CreateDBInstanceInput struct { // * If the default VPC in the target region has an Internet gateway attached // to it, the DB instance is public. // - // If DBSubnetGroupName is specified, and PubliclyAccessible is not specified, + // If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, // the following applies: // // * If the subnets are part of a VPC that doesn’t have an Internet gateway @@ -15967,7 +15987,7 @@ type CreateDBInstanceInput struct { PubliclyAccessible *bool `type:"boolean"` // A value that indicates whether the DB instance is encrypted. By default, - // it is not encrypted. + // it isn't encrypted. // // Amazon Aurora // @@ -16382,6 +16402,9 @@ type CreateDBInstanceReadReplicaInput struct { // or the default DBParameterGroup for the specified DB engine for a cross region // Read Replica. // + // Currently, specifying a parameter group for this operation is only supported + // for Oracle DB instances. + // // Constraints: // // * Must be 1 to 255 letters, numbers, or hyphens. @@ -16393,7 +16416,7 @@ type CreateDBInstanceReadReplicaInput struct { // Specifies a DB subnet group for the DB instance. The new DB instance is created // in the VPC associated with the DB subnet group. If no DB subnet group is - // specified, then the new DB instance is not created in a VPC. + // specified, then the new DB instance isn't created in a VPC. // // Constraints: // @@ -16533,9 +16556,8 @@ type CreateDBInstanceReadReplicaInput struct { // API action in the source AWS Region that contains the source DB instance. // // You must specify this parameter when you create an encrypted Read Replica - // from another AWS Region by using the Amazon RDS API. You can specify the - // --source-region option instead of this parameter when you create an encrypted - // Read Replica from another AWS Region by using the AWS CLI. + // from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl + // when you are creating an encrypted Read Replica in the same AWS Region. // // The presigned URL must be a valid request for the CreateDBInstanceReadReplica // API action that can be executed in the source AWS Region that contains the @@ -16567,6 +16589,11 @@ type CreateDBInstanceReadReplicaInput struct { // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). + // + // If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion + // (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. + // Specifying SourceRegion autogenerates a pre-signed URL that is a valid request + // for the operation that can be executed in the source AWS Region. PreSignedUrl *string `type:"string"` // The number of CPU cores and the number of threads per core for the DB instance @@ -16576,7 +16603,7 @@ type CreateDBInstanceReadReplicaInput struct { // A value that indicates whether the DB instance is publicly accessible. When // the DB instance is publicly accessible, it is an Internet-facing instance // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance is not publicly accessible, it is an internal instance + // When the DB instance isn't publicly accessible, it is an internal instance // with a DNS name that resolves to a private IP address. For more information, // see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` @@ -17318,7 +17345,7 @@ type CreateEventSubscriptionInput struct { _ struct{} `type:"structure"` // A value that indicates whether to activate the subscription. If the event - // notification subscription is not activated, the subscription is created but + // notification subscription isn't activated, the subscription is created but // not active. Enabled *bool `type:"boolean"` @@ -17360,7 +17387,7 @@ type CreateEventSubscriptionInput struct { // The type of source that is generating the events. For example, if you want // to be notified of events generated by a DB instance, you would set this parameter - // to db-instance. if this value is not specified, all events are returned. + // to db-instance. if this value isn't specified, all events are returned. // // Valid values: db-instance | db-cluster | db-parameter-group | db-security-group // | db-snapshot | db-cluster-snapshot @@ -17780,7 +17807,7 @@ type DBCluster struct { // For all database engines except Amazon Aurora, AllocatedStorage specifies // the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage - // always returns 1, because Aurora DB cluster storage size is not fixed, but + // always returns 1, because Aurora DB cluster storage size isn't fixed, but // instead automatically adjusts as needed. AllocatedStorage *int64 `type:"integer"` @@ -18960,7 +18987,7 @@ type DBEngineVersion struct { DBParameterGroupFamily *string `type:"string"` // The default character set for new instances of this engine version, if the - // CharacterSetName parameter of the CreateDBInstance API is not specified. + // CharacterSetName parameter of the CreateDBInstance API isn't specified. DefaultCharacterSet *CharacterSet `type:"structure"` // The name of the database engine. @@ -19343,7 +19370,7 @@ type DBInstance struct { // instance with multi-AZ support. SecondaryAvailabilityZone *string `type:"string"` - // The status of a Read Replica. If the instance is not a Read Replica, this + // The status of a Read Replica. If the instance isn't a Read Replica, this // is blank. StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"` @@ -20031,7 +20058,7 @@ type DBInstanceStatusInfo struct { _ struct{} `type:"structure"` // Details of the error if there is an error for the instance. If the instance - // is not in an error state, this value is blank. + // isn't in an error state, this value is blank. Message *string `type:"string"` // Boolean value that is true if the instance is operating normally, or false @@ -21025,9 +21052,9 @@ type DeleteDBClusterInput struct { // A value that indicates whether to skip the creation of a final DB cluster // snapshot before the DB cluster is deleted. If skip is specified, no DB cluster - // snapshot is created. If skip is not specified, a DB cluster snapshot is created - // before the DB cluster is deleted. By default, skip is not specified, and - // the DB cluster snapshot is created. By default, this parameter is disabled. + // snapshot is created. If skip isn't specified, a DB cluster snapshot is created + // before the DB cluster is deleted. By default, skip isn't specified, and the + // DB cluster snapshot is created. By default, this parameter is disabled. // // You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot // is disabled. @@ -21330,8 +21357,8 @@ type DeleteDBInstanceInput struct { // A value that indicates whether to skip the creation of a final DB snapshot // before the DB instance is deleted. If skip is specified, no DB snapshot is - // created. If skip is not specified, a DB snapshot is created before the DB - // instance is deleted. By default, skip is not specified, and the DB snapshot + // created. If skip isn't specified, a DB snapshot is created before the DB + // instance is deleted. By default, skip isn't specified, and the DB snapshot // is created. // // Note that when a DB instance is in a failure state and has a status of 'failed', @@ -21340,8 +21367,7 @@ type DeleteDBInstanceInput struct { // // Specify skip when deleting a Read Replica. // - // The FinalDBSnapshotIdentifier parameter must be specified if skip is not - // specified. + // The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified. SkipFinalSnapshot *bool `type:"boolean"` } @@ -21794,7 +21820,7 @@ func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGl type DeleteInstallationMediaInput struct { _ struct{} `type:"structure"` - // The installation media ID. + // The installation medium ID. // // InstallationMediaId is a required field InstallationMediaId *string `type:"string" required:"true"` @@ -21829,8 +21855,8 @@ func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteI return s } -// Contains the installation media for on-premises, bring your own media (BYOM) -// DB engines, such as Microsoft SQL Server. +// Contains the installation media for a DB engine that requires an on-premises +// customer provided license, such as Microsoft SQL Server. type DeleteInstallationMediaOutput struct { _ struct{} `type:"structure"` @@ -21840,7 +21866,7 @@ type DeleteInstallationMediaOutput struct { // The DB engine. Engine *string `type:"string"` - // The path to the installation media for the DB engine. + // The path to the installation medium for the DB engine. EngineInstallationMediaPath *string `type:"string"` // The engine version of the DB engine. @@ -21849,14 +21875,14 @@ type DeleteInstallationMediaOutput struct { // If an installation media failure occurred, the cause of the failure. FailureCause *InstallationMediaFailureCause `type:"structure"` - // The installation media ID. + // The installation medium ID. InstallationMediaId *string `type:"string"` - // The path to the installation media for the operating system associated with + // The path to the installation medium for the operating system associated with // the DB engine. OSInstallationMediaPath *string `type:"string"` - // The status of the installation media. + // The status of the installation medium. Status *string `type:"string"` } @@ -22023,7 +22049,7 @@ type DescribeCertificatesInput struct { // * Must match an existing CertificateIdentifier. CertificateIdentifier *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeCertificates @@ -22033,7 +22059,7 @@ type DescribeCertificatesInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -22147,7 +22173,7 @@ type DescribeCustomAvailabilityZonesInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -22293,7 +22319,7 @@ type DescribeDBClusterBacktracksInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -22426,7 +22452,7 @@ type DescribeDBClusterEndpointsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -22539,7 +22565,7 @@ type DescribeDBClusterParameterGroupsInput struct { // * If supplied, must match the name of an existing DBClusterParameterGroup. DBClusterParameterGroupName *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeDBClusterParameterGroups @@ -22549,7 +22575,7 @@ type DescribeDBClusterParameterGroupsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -22658,7 +22684,7 @@ type DescribeDBClusterParametersInput struct { // DBClusterParameterGroupName is a required field DBClusterParameterGroupName *string `type:"string" required:"true"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeDBClusterParameters @@ -22668,7 +22694,7 @@ type DescribeDBClusterParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -22850,7 +22876,7 @@ type DescribeDBClusterSnapshotsInput struct { // The ID of the DB cluster to retrieve the list of DB cluster snapshots for. // This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier - // parameter. This parameter is not case-sensitive. + // parameter. This parameter isn't case-sensitive. // // Constraints: // @@ -22906,7 +22932,7 @@ type DescribeDBClusterSnapshotsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -23086,7 +23112,7 @@ type DescribeDBClustersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -23210,7 +23236,7 @@ type DescribeDBEngineVersionsInput struct { // Example: 5.1.49 EngineVersion *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // A value that indicates whether to include engine versions that aren't available @@ -23240,7 +23266,7 @@ type DescribeDBEngineVersionsInput struct { // The maximum number of records to include in the response. If more than the // MaxRecords value is available, a pagination token called a marker is included - // in the response so that you can retrieve the remaining results. + // in the response so you can retrieve the remaining results. // // Default: 100 // @@ -23721,7 +23747,7 @@ type DescribeDBLogFilesInput struct { // string. FilenameContains *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // The pagination token provided in the previous request. If this parameter @@ -23731,7 +23757,7 @@ type DescribeDBLogFilesInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. MaxRecords *int64 `type:"integer"` } @@ -23853,7 +23879,7 @@ type DescribeDBParameterGroupsInput struct { // * If supplied, must match the name of an existing DBClusterParameterGroup. DBParameterGroupName *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeDBParameterGroups @@ -23973,7 +23999,7 @@ type DescribeDBParametersInput struct { // DBParameterGroupName is a required field DBParameterGroupName *string `type:"string" required:"true"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeDBParameters @@ -24103,7 +24129,7 @@ type DescribeDBSecurityGroupsInput struct { // The name of the DB security group to return details for. DBSecurityGroupName *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeDBSecurityGroups @@ -24282,7 +24308,7 @@ type DescribeDBSnapshotsInput struct { // The ID of the DB instance to retrieve the list of DB snapshots for. This // parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter - // is not case-sensitive. + // isn't case-sensitive. // // Constraints: // @@ -24507,7 +24533,7 @@ type DescribeDBSubnetGroupsInput struct { // The name of the DB subnet group to return details for. DBSubnetGroupName *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeDBSubnetGroups @@ -24624,7 +24650,7 @@ type DescribeEngineDefaultClusterParametersInput struct { // DBParameterGroupFamily is a required field DBParameterGroupFamily *string `type:"string" required:"true"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters @@ -24634,7 +24660,7 @@ type DescribeEngineDefaultClusterParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -24731,7 +24757,7 @@ type DescribeEngineDefaultParametersInput struct { // DBParameterGroupFamily is a required field DBParameterGroupFamily *string `type:"string" required:"true"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeEngineDefaultParameters @@ -24741,7 +24767,7 @@ type DescribeEngineDefaultParametersInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -24833,7 +24859,7 @@ func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefau type DescribeEventCategoriesInput struct { _ struct{} `type:"structure"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // The type of source that is generating the events. @@ -24911,7 +24937,7 @@ func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCate type DescribeEventSubscriptionsInput struct { _ struct{} `type:"structure"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions @@ -25040,7 +25066,7 @@ type DescribeEventsInput struct { // subscription. EventCategories []*string `locationNameList:"EventCategory" type:"list"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeEvents request. @@ -25348,7 +25374,7 @@ type DescribeInstallationMediaInput struct { // information about the valid engines for installation media, see ImportInstallationMedia. Filters []*Filter `locationNameList:"Filter" type:"list"` - // The installation media ID. + // The installation medium ID. InstallationMediaId *string `type:"string"` // An optional pagination token provided by a previous request. If this parameter @@ -25458,7 +25484,7 @@ type DescribeOptionGroupOptionsInput struct { // EngineName is a required field EngineName *string `type:"string" required:"true"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // If specified, filters the results to include only options for the specified @@ -25584,7 +25610,7 @@ type DescribeOptionGroupsInput struct { // a specific database engine. EngineName *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // Filters the list of option groups to only include groups associated with @@ -25728,7 +25754,7 @@ type DescribeOrderableDBInstanceOptionsInput struct { // available offerings matching the specified engine version. EngineVersion *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // The license model filter value. Specify this parameter to show only the available @@ -26008,7 +26034,7 @@ type DescribeReservedDBInstancesInput struct { // Valid Values: 1 | 3 | 31536000 | 94608000 Duration *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // The lease identifier filter value. Specify this parameter to show only the @@ -26025,7 +26051,7 @@ type DescribeReservedDBInstancesInput struct { // The maximum number of records to include in the response. If more than the // MaxRecords value is available, a pagination token called a marker is included - // in the response so that you can retrieve the remaining results. + // in the response so you can retrieve the remaining results. // // Default: 100 // @@ -26164,7 +26190,7 @@ type DescribeReservedDBInstancesOfferingsInput struct { // Valid Values: 1 | 3 | 31536000 | 94608000 Duration *string `type:"string"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous request. If this parameter @@ -26174,7 +26200,7 @@ type DescribeReservedDBInstancesOfferingsInput struct { // The maximum number of records to include in the response. If more than the // MaxRecords value is available, a pagination token called a marker is included - // in the response so that you can retrieve the reamaining results. + // in the response so you can retrieve the remaining results. // // Default: 100 // @@ -26363,7 +26389,7 @@ func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*Reserved type DescribeSourceRegionsInput struct { _ struct{} `type:"structure"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // An optional pagination token provided by a previous DescribeSourceRegions @@ -26373,7 +26399,7 @@ type DescribeSourceRegionsInput struct { // The maximum number of records to include in the response. If more records // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that you can retrieve the remaining results. + // is included in the response so you can retrieve the remaining results. // // Default: 100 // @@ -26662,8 +26688,8 @@ type DownloadDBLogFilePortionInput struct { // is returned up to a maximum of 10000 lines, starting with the most recent // log entries first. // - // * If NumberOfLines is specified and Marker is not specified, then the - // most recent lines from the end of the log file are returned. + // * If NumberOfLines is specified and Marker isn't specified, then the most + // recent lines from the end of the log file are returned. // // * If Marker is specified as "0", then the specified number of lines from // the beginning of the log file are returned. @@ -27149,7 +27175,7 @@ func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscrip type FailoverDBClusterInput struct { _ struct{} `type:"structure"` - // A DB cluster identifier to force a failover for. This parameter is not case-sensitive. + // A DB cluster identifier to force a failover for. This parameter isn't case-sensitive. // // Constraints: // @@ -27496,8 +27522,8 @@ type ImportInstallationMediaInput struct { // The name of the database engine to be used for this instance. // - // The list only includes supported on-premises, bring your own media (BYOM) - // DB engines. + // The list only includes supported DB engines that require an on-premises customer + // provided license. // // Valid Values: // @@ -27512,7 +27538,7 @@ type ImportInstallationMediaInput struct { // Engine is a required field Engine *string `type:"string" required:"true"` - // The path to the installation media for the specified DB engine. + // The path to the installation medium for the specified DB engine. // // Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso // @@ -27524,8 +27550,8 @@ type ImportInstallationMediaInput struct { // For a list of valid engine versions, call DescribeDBEngineVersions. // // The following are the database engines and links to information about the - // major and minor versions. The list only includes supported on-premises, bring - // your own media (BYOM) DB engines. + // major and minor versions. The list only includes DB engines that require + // an on-premises customer provided license. // // Microsoft SQL Server // @@ -27535,7 +27561,7 @@ type ImportInstallationMediaInput struct { // EngineVersion is a required field EngineVersion *string `type:"string" required:"true"` - // The path to the installation media for the operating system associated with + // The path to the installation medium for the operating system associated with // the specified DB engine. // // Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso @@ -27609,8 +27635,8 @@ func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *Imp return s } -// Contains the installation media for on-premises, bring your own media (BYOM) -// DB engines, such as Microsoft SQL Server. +// Contains the installation media for a DB engine that requires an on-premises +// customer provided license, such as Microsoft SQL Server. type ImportInstallationMediaOutput struct { _ struct{} `type:"structure"` @@ -27620,7 +27646,7 @@ type ImportInstallationMediaOutput struct { // The DB engine. Engine *string `type:"string"` - // The path to the installation media for the DB engine. + // The path to the installation medium for the DB engine. EngineInstallationMediaPath *string `type:"string"` // The engine version of the DB engine. @@ -27629,14 +27655,14 @@ type ImportInstallationMediaOutput struct { // If an installation media failure occurred, the cause of the failure. FailureCause *InstallationMediaFailureCause `type:"structure"` - // The installation media ID. + // The installation medium ID. InstallationMediaId *string `type:"string"` - // The path to the installation media for the operating system associated with + // The path to the installation medium for the operating system associated with // the DB engine. OSInstallationMediaPath *string `type:"string"` - // The status of the installation media. + // The status of the installation medium. Status *string `type:"string"` } @@ -27698,8 +27724,8 @@ func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationM return s } -// Contains the installation media for on-premises, bring your own media (BYOM) -// DB engines, such as Microsoft SQL Server. +// Contains the installation media for a DB engine that requires an on-premises +// customer provided license, such as Microsoft SQL Server. type InstallationMedia struct { _ struct{} `type:"structure"` @@ -27709,7 +27735,7 @@ type InstallationMedia struct { // The DB engine. Engine *string `type:"string"` - // The path to the installation media for the DB engine. + // The path to the installation medium for the DB engine. EngineInstallationMediaPath *string `type:"string"` // The engine version of the DB engine. @@ -27718,14 +27744,14 @@ type InstallationMedia struct { // If an installation media failure occurred, the cause of the failure. FailureCause *InstallationMediaFailureCause `type:"structure"` - // The installation media ID. + // The installation medium ID. InstallationMediaId *string `type:"string"` - // The path to the installation media for the operating system associated with + // The path to the installation medium for the operating system associated with // the DB engine. OSInstallationMediaPath *string `type:"string"` - // The status of the installation media. + // The status of the installation medium. Status *string `type:"string"` } @@ -27788,8 +27814,8 @@ func (s *InstallationMedia) SetStatus(v string) *InstallationMedia { } // Contains the cause of an installation media failure. Installation media is -// used for on-premises, bring your own media (BYOM) DB engines, such as Microsoft -// SQL Server. +// used for a DB engine that requires an on-premises customer provided license, +// such as Microsoft SQL Server. type InstallationMediaFailureCause struct { _ struct{} `type:"structure"` @@ -27816,7 +27842,7 @@ func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaF type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // This parameter is not currently supported. + // This parameter isn't currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` // The Amazon RDS resource with tags to be listed. This value is an Amazon Resource @@ -27944,7 +27970,7 @@ type ModifyCurrentDBClusterCapacityInput struct { Capacity *int64 `type:"integer"` // The DB cluster identifier for the cluster being modified. This parameter - // is not case-sensitive. + // isn't case-sensitive. // // Constraints: // @@ -27966,8 +27992,8 @@ type ModifyCurrentDBClusterCapacityInput struct { // ForceApplyCapacityChange, the default, sets the capacity to the specified // value as soon as possible. // - // RollbackCapacityChange ignores the capacity change if a scaling point is - // not found in the timeout period. + // RollbackCapacityChange ignores the capacity change if a scaling point isn't + // found in the timeout period. TimeoutAction *string `type:"string"` } @@ -28328,7 +28354,7 @@ type ModifyDBClusterInput struct { CopyTagsToSnapshot *bool `type:"boolean"` // The DB cluster identifier for the cluster being modified. This parameter - // is not case-sensitive. + // isn't case-sensitive. // // Constraints: This identifier must match the identifier of an existing DB // cluster. @@ -29012,7 +29038,7 @@ type ModifyDBInstanceInput struct { DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"` // The new DB subnet group for the DB instance. You can use this parameter to - // move your DB instance to a different VPC. If your DB instance is not in a + // move your DB instance to a different VPC. If your DB instance isn't in a // VPC, you can also use this parameter to move your DB instance into a VPC. // For more information, see Updating the VPC for a DB Instance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC) // in the Amazon RDS User Guide. @@ -29284,7 +29310,7 @@ type ModifyDBInstanceInput struct { // A value that indicates whether the DB instance is publicly accessible. When // the DB instance is publicly accessible, it is an Internet-facing instance // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance is not publicly accessible, it is an internal instance + // When the DB instance isn't publicly accessible, it is an internal instance // with a DNS name that resolves to a private IP address. // // PubliclyAccessible only applies to DB instances in a VPC. The DB instance @@ -30031,7 +30057,7 @@ type ModifyEventSubscriptionInput struct { // The type of source that is generating the events. For example, if you want // to be notified of events generated by a DB instance, you would set this parameter - // to db-instance. if this value is not specified, all events are returned. + // to db-instance. If this value isn't specified, all events are returned. // // Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot SourceType *string `type:"string"` @@ -30128,7 +30154,7 @@ type ModifyGlobalClusterInput struct { DeletionProtection *bool `type:"boolean"` // The DB cluster identifier for the global cluster being modified. This parameter - // is not case-sensitive. + // isn't case-sensitive. // // Constraints: // @@ -31709,7 +31735,7 @@ type PromoteReadReplicaDBClusterInput struct { _ struct{} `type:"structure"` // The identifier of the DB cluster Read Replica to promote. This parameter - // is not case-sensitive. + // isn't case-sensitive. // // Constraints: // @@ -32045,7 +32071,7 @@ type RebootDBInstanceInput struct { // A value that indicates whether the reboot is conducted through a Multi-AZ // failover. // - // Constraint: You can't enable force failover if the instance is not configured + // Constraint: You can't enable force failover if the instance isn't configured // for Multi-AZ. ForceFailover *bool `type:"boolean"` } @@ -33560,6 +33586,9 @@ type RestoreDBClusterFromSnapshotInput struct { // // aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" // + // If you aren't using the default engine version, then you must specify the + // engine version. + // // Aurora MySQL // // Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5 @@ -33584,8 +33613,8 @@ type RestoreDBClusterFromSnapshotInput struct { // then the restored DB cluster is encrypted using the KMS key that was used // to encrypt the DB snapshot or DB cluster snapshot. // - // * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not - // encrypted, then the restored DB cluster is not encrypted. + // * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't + // encrypted, then the restored DB cluster isn't encrypted. KmsKeyId *string `type:"string"` // The name of the option group to use for the restored DB cluster. @@ -33888,10 +33917,10 @@ type RestoreDBClusterToPointInTimeInput struct { // * If the DB cluster is encrypted, then the restored DB cluster is encrypted // using the KMS key that was used to encrypt the source DB cluster. // - // * If the DB cluster is not encrypted, then the restored DB cluster is - // not encrypted. + // * If the DB cluster isn't encrypted, then the restored DB cluster isn't + // encrypted. // - // If DBClusterIdentifier refers to a DB cluster that is not encrypted, then + // If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then // the restore request is rejected. KmsKeyId *string `type:"string"` @@ -33913,7 +33942,7 @@ type RestoreDBClusterToPointInTimeInput struct { // // * Must be before the latest restorable time for the DB instance // - // * Must be specified if UseLatestRestorableTime parameter is not provided + // * Must be specified if UseLatestRestorableTime parameter isn't provided // // * Can't be specified if the UseLatestRestorableTime parameter is enabled // @@ -33952,7 +33981,7 @@ type RestoreDBClusterToPointInTimeInput struct { Tags []*Tag `locationNameList:"Tag" type:"list"` // A value that indicates whether to restore the DB cluster to the latest restorable - // backup time. By default, the DB cluster is not restored to the latest restorable + // backup time. By default, the DB cluster isn't restored to the latest restorable // backup time. // // Constraints: Can't be specified if RestoreToTime parameter is provided. @@ -34277,7 +34306,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { Engine *string `type:"string"` // Specifies the amount of provisioned IOPS for the DB instance, expressed in - // I/O operations per second. If this parameter is not specified, the IOPS value + // I/O operations per second. If this parameter isn't specified, the IOPS value // is taken from the backup. If this parameter is set to 0, the new instance // is converted to a non-PIOPS instance. The conversion takes additional time, // though your DB instance is available for connections before the conversion @@ -34325,7 +34354,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // A value that indicates whether the DB instance is publicly accessible. When // the DB instance is publicly accessible, it is an Internet-facing instance // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance is not publicly accessible, it is an internal instance + // When the DB instance isn't publicly accessible, it is an internal instance // with a DNS name that resolves to a private IP address. For more information, // see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` @@ -34625,8 +34654,7 @@ type RestoreDBInstanceFromS3Input struct { // for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) // in the Amazon RDS User Guide. // - // Importing from Amazon S3 is not supported on the db.t2.micro DB instance - // class. + // Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class. // // DBInstanceClass is a required field DBInstanceClass *string `type:"string" required:"true"` @@ -34838,7 +34866,7 @@ type RestoreDBInstanceFromS3Input struct { // A value that indicates whether the DB instance is publicly accessible. When // the DB instance is publicly accessible, it is an Internet-facing instance // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance is not publicly accessible, it is an internal instance + // When the DB instance isn't publicly accessible, it is an internal instance // with a DNS name that resolves to a private IP address. For more information, // see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` @@ -35252,7 +35280,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // The database name for the restored DB instance. // - // This parameter is not used for the MySQL or MariaDB engines. + // This parameter isn't used for the MySQL or MariaDB engines. DBName *string `type:"string"` // The name of the DB parameter group to associate with this DB instance. @@ -35358,7 +35386,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // // SQL Server // - // Setting the IOPS value for the SQL Server database engine is not supported. + // Setting the IOPS value for the SQL Server database engine isn't supported. Iops *int64 `type:"integer"` // License model information for the restored DB instance. @@ -35395,7 +35423,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // A value that indicates whether the DB instance is publicly accessible. When // the DB instance is publicly accessible, it is an Internet-facing instance // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance is not publicly accessible, it is an internal instance + // When the DB instance isn't publicly accessible, it is an internal instance // with a DNS name that resolves to a private IP address. For more information, // see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` @@ -35461,8 +35489,8 @@ type RestoreDBInstanceToPointInTimeInput struct { UseDefaultProcessorFeatures *bool `type:"boolean"` // A value that indicates whether the DB instance is restored from the latest - // backup time. By default, the DB instance is not restored from the latest - // backup time. + // backup time. By default, the DB instance isn't restored from the latest backup + // time. // // Constraints: Can't be specified if the RestoreTime parameter is provided. UseLatestRestorableTime *bool `type:"boolean"` @@ -35763,8 +35791,8 @@ type RevokeDBSecurityGroupIngressInput struct { // and either EC2SecurityGroupName or EC2SecurityGroupId must be provided. EC2SecurityGroupName *string `type:"string"` - // The AWS Account Number of the owner of the EC2 security group specified in - // the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable + // The AWS account number of the owner of the EC2 security group specified in + // the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable // value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, // EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId // must be provided. @@ -35890,7 +35918,7 @@ type ScalingConfiguration struct { // as possible. // // RollbackCapacityChange, the default, ignores the capacity change if a scaling - // point is not found in the timeout period. + // point isn't found in the timeout period. // // If you specify ForceApplyCapacityChange, connections that prevent Aurora // Serverless from finding a scaling point might be dropped. diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go b/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go index 680626728f7..25495cfe65a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/errors.go @@ -323,13 +323,13 @@ const ( // ErrCodeInstallationMediaAlreadyExistsFault for service response error code // "InstallationMediaAlreadyExists". // - // The specified installation media has already been imported. + // The specified installation medium has already been imported. ErrCodeInstallationMediaAlreadyExistsFault = "InstallationMediaAlreadyExists" // ErrCodeInstallationMediaNotFoundFault for service response error code // "InstallationMediaNotFound". // - // InstallationMediaID doesn't refer to an existing installation media. + // InstallationMediaID doesn't refer to an existing installation medium. ErrCodeInstallationMediaNotFoundFault = "InstallationMediaNotFound" // ErrCodeInstanceQuotaExceededFault for service response error code diff --git a/vendor/modules.txt b/vendor/modules.txt index e6eb875a4da..8237ac93224 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.24 +# github.com/aws/aws-sdk-go v1.25.30 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr From cd4c1023c1595ebcec633eade0fda7fd4d9b36dc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2019 14:49:08 -0500 Subject: [PATCH 45/46] Update module aws/aws-sdk-go to v1.25.31 (#10808) --- go.mod | 2 +- go.sum | 4 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 1 + .../aws/aws-sdk-go/aws/request/request.go | 12 +++++- .../aws/aws-sdk-go/aws/request/retryer.go | 33 +++++++++++++- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws-sdk-go/service/cognitoidentity/api.go | 43 +++++++++++++++++-- .../aws/aws-sdk-go/service/ecr/api.go | 11 ++++- vendor/modules.txt | 2 +- 9 files changed, 96 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index da9448a8d8d..4e1f8fe54d7 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.30 + github.com/aws/aws-sdk-go v1.25.31 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 3198d136910..fda17d3770b 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.30 h1:I9qj6zW3mMfsg91e+GMSN/INcaX9tTFvr/l/BAHKaIY= -github.com/aws/aws-sdk-go v1.25.30/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.31 h1:14mdh3HsTgRekePPkYcCbAaEXJknc3mN7f4XfsiMMDA= +github.com/aws/aws-sdk-go v1.25.31/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 ae37831890e..f63449788af 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 @@ -1677,6 +1677,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{}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go index 8e332cce6a6..52178141da6 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go @@ -99,8 +99,12 @@ type Operation struct { BeforePresignFn func(r *Request) error } -// New returns a new Request pointer for the service API -// operation and parameters. +// New returns a new Request pointer for the service API operation and +// parameters. +// +// A Retryer should be provided to direct how the request is retried. If +// Retryer is nil, a default no retry value will be used. You can use +// NoOpRetryer in the Client package to disable retry behavior directly. // // Params is any value of input parameters to be the request payload. // Data is pointer value to an object which the request's response @@ -108,6 +112,10 @@ type Operation struct { func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers, retryer Retryer, operation *Operation, params interface{}, data interface{}) *Request { + if retryer == nil { + retryer = noOpRetryer{} + } + method := operation.HTTPMethod if method == "" { method = "POST" diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go index e84084da5ef..8015acc67eb 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go @@ -35,10 +35,41 @@ type Retryer interface { } // WithRetryer sets a Retryer value to the given Config returning the Config -// value for chaining. +// value for chaining. The value must not be nil. func WithRetryer(cfg *aws.Config, retryer Retryer) *aws.Config { + if retryer == nil { + if cfg.Logger != nil { + cfg.Logger.Log("ERROR: Request.WithRetryer called with nil retryer. Replacing with retry disabled Retryer.") + } + retryer = noOpRetryer{} + } cfg.Retryer = retryer return cfg + +} + +// noOpRetryer is a internal no op retryer used when a request is created +// without a retryer. +// +// Provides a retryer that performs no retries. +// It should be used when we do not want retries to be performed. +type noOpRetryer struct{} + +// MaxRetries returns the number of maximum returns the service will use to make +// an individual API; For NoOpRetryer the MaxRetries will always be zero. +func (d noOpRetryer) MaxRetries() int { + return 0 +} + +// ShouldRetry will always return false for NoOpRetryer, as it should never retry. +func (d noOpRetryer) ShouldRetry(_ *Request) bool { + return false +} + +// RetryRules returns the delay duration before retrying this request again; +// since NoOpRetryer does not retry, RetryRules always returns 0. +func (d noOpRetryer) RetryRules(_ *Request) time.Duration { + return 0 } // retryableCodes is a collection of service response codes which are retry-able 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 31787f59a1d..199dbfee58c 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.30" +const SDKVersion = "1.25.31" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go index bd6f3f98398..5b2bc748017 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go @@ -59,8 +59,8 @@ func (c *CognitoIdentity) CreateIdentityPoolRequest(input *CreateIdentityPoolInp // CreateIdentityPool API operation for Amazon Cognito Identity. // // Creates a new identity pool. The identity pool is a store of user identity -// information that is specific to your AWS account. The limit on identity pools -// is 60 per account. The keys for SupportedLoginProviders are as follows: +// information that is specific to your AWS account. The keys for SupportedLoginProviders +// are as follows: // // * Facebook: graph.facebook.com // @@ -2163,6 +2163,11 @@ func (c *CognitoIdentity) UpdateIdentityPoolWithContext(ctx aws.Context, input * type CreateIdentityPoolInput struct { _ struct{} `type:"structure"` + // Enables or disables the Basic (Classic) authentication flow. For more information, + // see Identity Pools (Federated Identities) Authentication Flow (https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html) + // in the Amazon Cognito Developer Guide. + AllowClassicFlow *bool `type:"boolean"` + // TRUE if the identity pool supports unauthenticated logins. // // AllowUnauthenticatedIdentities is a required field @@ -2243,6 +2248,12 @@ func (s *CreateIdentityPoolInput) Validate() error { return nil } +// SetAllowClassicFlow sets the AllowClassicFlow field's value. +func (s *CreateIdentityPoolInput) SetAllowClassicFlow(v bool) *CreateIdentityPoolInput { + s.AllowClassicFlow = &v + return s +} + // SetAllowUnauthenticatedIdentities sets the AllowUnauthenticatedIdentities field's value. func (s *CreateIdentityPoolInput) SetAllowUnauthenticatedIdentities(v bool) *CreateIdentityPoolInput { s.AllowUnauthenticatedIdentities = &v @@ -2878,6 +2889,9 @@ type GetOpenIdTokenForDeveloperIdentityInput struct { // take care in setting the expiration time for a token, as there are significant // security implications: an attacker could use a leaked token to access your // AWS resources for the token's duration. + // + // Please provide for a small grace period, usually no more than 5 minutes, + // to account for clock skew. TokenDuration *int64 `min:"1" type:"long"` } @@ -3117,6 +3131,11 @@ func (s *IdentityDescription) SetLogins(v []*string) *IdentityDescription { type IdentityPool struct { _ struct{} `type:"structure"` + // Enables or disables the Basic (Classic) authentication flow. For more information, + // see Identity Pools (Federated Identities) Authentication Flow (https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html) + // in the Amazon Cognito Developer Guide. + AllowClassicFlow *bool `type:"boolean"` + // TRUE if the identity pool supports unauthenticated logins. // // AllowUnauthenticatedIdentities is a required field @@ -3202,6 +3221,12 @@ func (s *IdentityPool) Validate() error { return nil } +// SetAllowClassicFlow sets the AllowClassicFlow field's value. +func (s *IdentityPool) SetAllowClassicFlow(v bool) *IdentityPool { + s.AllowClassicFlow = &v + return s +} + // SetAllowUnauthenticatedIdentities sets the AllowUnauthenticatedIdentities field's value. func (s *IdentityPool) SetAllowUnauthenticatedIdentities(v bool) *IdentityPool { s.AllowUnauthenticatedIdentities = &v @@ -4220,7 +4245,9 @@ type TagResourceInput struct { ResourceArn *string `min:"20" type:"string" required:"true"` // The tags to assign to the identity 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 @@ -4242,6 +4269,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 @@ -4510,7 +4540,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 @@ -4532,6 +4564,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 diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go index 74ca7bb8e2e..f66d4f001f1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go @@ -2304,7 +2304,11 @@ func (c *ECR) PutImageTagMutabilityRequest(input *PutImageTagMutabilityInput) (r // PutImageTagMutability API operation for Amazon EC2 Container Registry. // -// Updates the image tag mutability settings for a repository. +// Updates the image tag mutability settings for a repository. When a repository +// is configured with tag immutability, all image tags within the repository +// will be prevented them from being overwritten. For more information, see +// Image Tag Mutability (https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-tag-mutability.html) +// in the Amazon Elastic Container Registry User Guide. // // 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 @@ -2568,7 +2572,10 @@ func (c *ECR) StartImageScanRequest(input *StartImageScanInput) (req *request.Re // StartImageScan API operation for Amazon EC2 Container Registry. // -// Starts an image vulnerability scan. +// Starts an image vulnerability scan. An image scan can only be started once +// per day on an individual image. This limit includes if an image was scanned +// on initial push. For more information, see Image Scanning (https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) +// in the Amazon Elastic Container Registry User Guide. // // 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 diff --git a/vendor/modules.txt b/vendor/modules.txt index 8237ac93224..141002e8120 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.30 +# github.com/aws/aws-sdk-go v1.25.31 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr From 4eae2a053f70bd628452439ef7eecee9446b9082 Mon Sep 17 00:00:00 2001 From: Audrey Eschright Date: Fri, 8 Nov 2019 12:35:49 -0800 Subject: [PATCH 46/46] Add PR triage label behavior --- .hashibot.hcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.hashibot.hcl b/.hashibot.hcl index 759457f725a..990c13b7572 100644 --- a/.hashibot.hcl +++ b/.hashibot.hcl @@ -35,6 +35,10 @@ behavior "deprecated_import_commenter" "hashicorp_terraform" { EOF } +behavior "opened_pull_request_labeler" "triage" { + labels = ["needs-triage"] +} + queued_behavior "release_commenter" "releases" { repo_prefix = "terraform-provider-"